From c6b6bbdf92c0be8c5f092bd2f0be0dba7ad76589 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Sat, 7 Mar 2026 23:51:53 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20[planning-design]=20=EC=8A=A4=ED=86=A0?= =?UTF-8?q?=EB=A6=AC=EB=B3=B4=EB=93=9C=20=ED=8E=98=EC=9D=B4=EC=A7=80=20?= =?UTF-8?q?=EB=B3=B5=EC=82=AC=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/rd/planning-design/index.blade.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/resources/views/rd/planning-design/index.blade.php b/resources/views/rd/planning-design/index.blade.php index 68e1fb7e..38bb35d2 100644 --- a/resources/views/rd/planning-design/index.blade.php +++ b/resources/views/rd/planning-design/index.blade.php @@ -1344,6 +1344,8 @@
+ @@ -2848,6 +2850,23 @@ function planningCanvas() { this.autoSave(); }, + sbDuplicatePage() { + const page = this.sbCurrentPage; + if (!page) return; + const copy = JSON.parse(JSON.stringify(page)); + copy.id = 'pg_' + Date.now(); + copy.screenName = (copy.screenName || '화면') + ' (복사)'; + // 블록 id도 새로 생성 + if (copy.blocks) { + copy.blocks.forEach(blk => { + blk.id = 'blk_' + Date.now() + '_' + Math.random().toString(36).slice(2, 5); + }); + } + this.sb.pages.splice(this.sb.currentPageIndex + 1, 0, copy); + this.sb.currentPageIndex = this.sb.currentPageIndex + 1; + this.autoSave(); + }, + sbDeletePage() { if (this.sb.pages.length <= 1) return; if (!confirm('이 페이지를 삭제하시겠습니까?')) return;