diff --git a/panel/lab/components/stats/1_stats/index.vue b/panel/lab/components/stats/1_stats/index.vue index 2c3c4515de..bda101e81e 100644 --- a/panel/lab/components/stats/1_stats/index.vue +++ b/panel/lab/components/stats/1_stats/index.vue @@ -38,7 +38,7 @@ export default { ]; }, reportsWithoutTheme() { - return this.$helper.clone(this.reports).map((report) => { + return structuredClone(this.reports).map((report) => { report.icon = null; report.theme = null; return report; diff --git a/panel/src/components/Forms/Blocks/Blocks.vue b/panel/src/components/Forms/Blocks/Blocks.vue index 3ac9d9bfcc..f36d23c579 100644 --- a/panel/src/components/Forms/Blocks/Blocks.vue +++ b/panel/src/components/Forms/Blocks/Blocks.vue @@ -329,7 +329,7 @@ export default { }, async duplicate(block, index) { const copy = { - ...this.$helper.clone(block), + ...structuredClone(block), id: this.$helper.uuid() }; this.blocks.splice(index + 1, 0, copy); @@ -669,7 +669,7 @@ export default { if (to < 0) { return; } - let blocks = this.$helper.clone(this.blocks); + let blocks = structuredClone(this.blocks); blocks.splice(from, 1); blocks.splice(to, 0, block); this.blocks = blocks; @@ -679,7 +679,7 @@ export default { }, async split(block, index, contents) { // prepare old block with reduced content chunk - const oldBlock = this.$helper.clone(block); + const oldBlock = structuredClone(block); oldBlock.content = { ...oldBlock.content, ...contents[0] }; // create a new block and merge in default contents as diff --git a/panel/src/components/Forms/Input/TagsInput.vue b/panel/src/components/Forms/Input/TagsInput.vue index af0607c1b1..4c9521d8e5 100644 --- a/panel/src/components/Forms/Input/TagsInput.vue +++ b/panel/src/components/Forms/Input/TagsInput.vue @@ -131,7 +131,7 @@ export default { // no new tags if this is full, // check if the tag is accepted if (this.isAllowed(tag) === true) { - const tags = this.$helper.object.clone(this.value); + const tags = structuredClone(this.value); tags.push(tag.value); this.$emit("input", tags); } @@ -182,7 +182,7 @@ export default { } // replace the tag at the given index - const tags = this.$helper.object.clone(this.value); + const tags = structuredClone(this.value); tags.splice(index, 1, updated.value); this.$emit("input", tags); diff --git a/panel/src/components/Forms/Layouts/Layouts.vue b/panel/src/components/Forms/Layouts/Layouts.vue index 57113aef79..839c0242d6 100644 --- a/panel/src/components/Forms/Layouts/Layouts.vue +++ b/panel/src/components/Forms/Layouts/Layouts.vue @@ -127,7 +127,7 @@ export default { }); }, duplicate(index, layout) { - const copy = this.$helper.clone(layout); + const copy = structuredClone(layout); // replace all unique IDs for layouts, columns and blocks // the method processes a single object and returns it as an array @@ -192,7 +192,7 @@ export default { // move throught the new layout rows in steps of columns per row for (let i = 0; i < chunks; i += newLayout.columns.length) { const copy = { - ...this.$helper.clone(newLayout), + ...structuredClone(newLayout), id: this.$helper.uuid() }; diff --git a/panel/src/components/Navigation/Tags.vue b/panel/src/components/Navigation/Tags.vue index b47fd702d1..626ba8388b 100644 --- a/panel/src/components/Navigation/Tags.vue +++ b/panel/src/components/Navigation/Tags.vue @@ -108,7 +108,7 @@ export default { handler() { // make sure values are not reactive // otherwise this could have nasty side-effects - let tags = this.$helper.object.clone(this.value); + let tags = structuredClone(this.value); // sort all tags by the available options if (this.sort === true) { diff --git a/panel/src/components/Views/System/SystemSecurity.vue b/panel/src/components/Views/System/SystemSecurity.vue index 67aec1c418..1c337af9f1 100644 --- a/panel/src/components/Views/System/SystemSecurity.vue +++ b/panel/src/components/Views/System/SystemSecurity.vue @@ -28,8 +28,6 @@