ssboost commited on
Commit
2737c00
ยท
verified ยท
1 Parent(s): 46df279

Update script.js

Browse files
Files changed (1) hide show
  1. script.js +40 -13
script.js CHANGED
@@ -34,6 +34,11 @@ const previewImg = document.getElementById('preview-img');
34
  const layersList = document.getElementById('layers-list');
35
 
36
 
 
 
 
 
 
37
  // ์บ”๋ฒ„์Šค ๊ธฐ๋ณธ ํฌ๊ธฐ
38
  const CANVAS_WIDTH = 800;
39
  const CANVAS_HEIGHT = 600;
@@ -298,6 +303,11 @@ function updateLayersList() {
298
  if (!layersList) return; // layersList ์š”์†Œ๊ฐ€ ์—†์œผ๋ฉด ํ•จ์ˆ˜ ์ข…๋ฃŒ
299
  layersList.innerHTML = ''; // ๋ชฉ๋ก ์ดˆ๊ธฐํ™”
300
 
 
 
 
 
 
301
  if (overlays.length === 0) {
302
  const emptyMsg = document.createElement('div');
303
  emptyMsg.style.padding = '8px';
@@ -343,6 +353,18 @@ function updateLayersList() {
343
  layerControls.appendChild(downButton);
344
  }
345
 
 
 
 
 
 
 
 
 
 
 
 
 
346
 
347
  // ๋ ˆ์ด์–ด ํ•ญ๋ชฉ ํด๋ฆญ ์‹œ ํ•ด๋‹น ๋ ˆ์ด์–ด ํ™œ์„ฑํ™”
348
  layerItem.addEventListener('click', function() {
@@ -659,22 +681,21 @@ function generateMergedImage() {
659
  // ์„ ํƒ๋œ ๋ ˆ์ด์–ด ์‚ญ์ œ
660
  function deleteSelectedLayer() {
661
  if (activeOverlayIndex >= 0) {
662
- // ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ๋ ˆ์ด์–ด ์‚ญ์ œ
663
- overlays.splice(activeOverlayIndex, 1);
664
- activeOverlayIndex = -1; // ํ™œ์„ฑ ๋ ˆ์ด์–ด ์—†์Œ์œผ๋กœ ์„ค์ •
 
 
665
 
666
- updateControlPanel(); // ์ปจํŠธ๋กค ํŒจ๋„ ์—…๋ฐ์ดํŠธ
667
- updateLayersList(); // ๋ ˆ์ด์–ด ๋ชฉ๋ก ์—…๋ฐ์ดํŠธ
668
- drawCanvas(); // ์บ”๋ฒ„์Šค ๋‹ค์‹œ ๊ทธ๋ฆฌ๊ธฐ
669
 
670
- // ๋ชจ๋“  ์˜ค๋ฒ„๋ ˆ์ด๊ฐ€ ์‚ญ์ œ๋˜๋ฉด ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ˆจ๊น€
671
- if (overlays.length === 0) {
672
- previewContainer.style.display = 'none';
 
673
  }
674
- // else {
675
- // // ์‚ญ์ œ ํ›„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์—…๋ฐ์ดํŠธ (์„ ํƒ ์‚ฌํ•ญ)
676
- // generateMergedImage();
677
- // }
678
  }
679
  }
680
 
@@ -722,6 +743,12 @@ document.addEventListener('DOMContentLoaded', () => {
722
  }
723
  });
724
 
 
 
 
 
 
 
725
  // ์˜ค๋ฒ„๋ ˆ์ด ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ
726
  overlayInput.addEventListener('change', function(e) {
727
  if (e.target.files.length > 0) {
 
34
  const layersList = document.getElementById('layers-list');
35
 
36
 
37
+ const resetAllBtn = document.getElementById('reset-all-btn');
38
+ const downloadBtn = document.getElementById('download-btn');
39
+ const deleteLayerBtn = document.getElementById('delete-layer-btn'); // ์ถ”๊ฐ€
40
+
41
+
42
  // ์บ”๋ฒ„์Šค ๊ธฐ๋ณธ ํฌ๊ธฐ
43
  const CANVAS_WIDTH = 800;
44
  const CANVAS_HEIGHT = 600;
 
303
  if (!layersList) return; // layersList ์š”์†Œ๊ฐ€ ์—†์œผ๋ฉด ํ•จ์ˆ˜ ์ข…๋ฃŒ
304
  layersList.innerHTML = ''; // ๋ชฉ๋ก ์ดˆ๊ธฐํ™”
305
 
306
+ // ์‚ญ์ œ ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™” ์„ค์ •
307
+ if (deleteLayerBtn) {
308
+ deleteLayerBtn.disabled = activeOverlayIndex < 0;
309
+ }
310
+
311
  if (overlays.length === 0) {
312
  const emptyMsg = document.createElement('div');
313
  emptyMsg.style.padding = '8px';
 
353
  layerControls.appendChild(downButton);
354
  }
355
 
356
+ // ๋ ˆ์ด์–ด ์‚ญ์ œ ๋ฒ„ํŠผ ์ถ”๊ฐ€
357
+ const deleteButton = document.createElement('button');
358
+ deleteButton.className = 'delete-button';
359
+ deleteButton.textContent = 'ร—';
360
+ deleteButton.title = '๋ ˆ์ด์–ด ์‚ญ์ œ (๋‹จ์ถ•ํ‚ค: Del)';
361
+ deleteButton.addEventListener('click', (e) => {
362
+ e.stopPropagation(); // ์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง ๋ฐฉ์ง€
363
+ // ํ˜„์žฌ ๋ ˆ์ด์–ด ์ธ๋ฑ์Šค๋ฅผ ์„ค์ •ํ•˜๊ณ  ์‚ญ์ œ
364
+ activeOverlayIndex = i;
365
+ deleteSelectedLayer();
366
+ });
367
+ layerControls.appendChild(deleteButton);
368
 
369
  // ๋ ˆ์ด์–ด ํ•ญ๋ชฉ ํด๋ฆญ ์‹œ ํ•ด๋‹น ๋ ˆ์ด์–ด ํ™œ์„ฑํ™”
370
  layerItem.addEventListener('click', function() {
 
681
  // ์„ ํƒ๋œ ๋ ˆ์ด์–ด ์‚ญ์ œ
682
  function deleteSelectedLayer() {
683
  if (activeOverlayIndex >= 0) {
684
+ // ์‚ญ์ œ ํ™•์ธ (์„ ํƒ ์‚ฌํ•ญ)
685
+ if (confirm(`๋ ˆ์ด์–ด ${activeOverlayIndex + 1}์„(๋ฅผ) ์‚ญ์ œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?`)) {
686
+ // ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ๋ ˆ์ด์–ด ์‚ญ์ œ
687
+ overlays.splice(activeOverlayIndex, 1);
688
+ activeOverlayIndex = -1; // ํ™œ์„ฑ ๋ ˆ์ด์–ด ์—†์Œ์œผ๋กœ ์„ค์ •
689
 
690
+ updateControlPanel(); // ์ปจํŠธ๋กค ํŒจ๋„ ์—…๋ฐ์ดํŠธ
691
+ updateLayersList(); // ๋ ˆ์ด์–ด ๋ชฉ๋ก ์—…๋ฐ์ดํŠธ
692
+ drawCanvas(); // ์บ”๋ฒ„์Šค ๋‹ค์‹œ ๊ทธ๋ฆฌ๊ธฐ
693
 
694
+ // ๋ชจ๋“  ์˜ค๋ฒ„๋ ˆ์ด๊ฐ€ ์‚ญ์ œ๋˜๋ฉด ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ˆจ๊น€
695
+ if (overlays.length === 0) {
696
+ previewContainer.style.display = 'none';
697
+ }
698
  }
 
 
 
 
699
  }
700
  }
701
 
 
743
  }
744
  });
745
 
746
+ deleteLayerBtn.addEventListener('click', function() {
747
+ if (activeOverlayIndex >= 0) {
748
+ deleteSelectedLayer();
749
+ }
750
+ });
751
+
752
  // ์˜ค๋ฒ„๋ ˆ์ด ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ
753
  overlayInput.addEventListener('change', function(e) {
754
  if (e.target.files.length > 0) {