Add clone support for all entity types
Clone button on every card opens the editor in create mode pre-filled with copied data and a "(Copy)" name suffix. Cancelling discards the clone — entity is only persisted on Save. Supported: LED targets, color strip sources, KC targets, pattern templates, picture sources, capture templates, PP templates. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -53,12 +53,14 @@ import {
|
||||
showAddPPTemplateModal, editPPTemplate, closePPTemplateModal, savePPTemplate, deletePPTemplate,
|
||||
addFilterFromSelect, toggleFilterExpand, removeFilter, moveFilter, updateFilterOption,
|
||||
renderModalFilterList, updateCaptureDuration,
|
||||
cloneStream, cloneCaptureTemplate, clonePPTemplate,
|
||||
} from './features/streams.js';
|
||||
import {
|
||||
createKCTargetCard, testKCTarget, toggleKCTestAutoRefresh,
|
||||
showKCEditor, closeKCEditorModal, forceCloseKCEditorModal, saveKCEditor,
|
||||
deleteKCTarget, disconnectAllKCWebSockets,
|
||||
updateKCBrightnessLabel, saveKCBrightness,
|
||||
cloneKCTarget,
|
||||
} from './features/kc-targets.js';
|
||||
import {
|
||||
createPatternTemplateCard,
|
||||
@@ -67,6 +69,7 @@ import {
|
||||
renderPatternRectList, selectPatternRect, updatePatternRect,
|
||||
addPatternRect, deleteSelectedPatternRect, removePatternRect,
|
||||
capturePatternBackground,
|
||||
clonePatternTemplate,
|
||||
} from './features/pattern-templates.js';
|
||||
import {
|
||||
loadProfiles, openProfileEditor, closeProfileEditorModal,
|
||||
@@ -85,6 +88,7 @@ import {
|
||||
addTargetSegment, removeTargetSegment,
|
||||
startTargetProcessing, stopTargetProcessing,
|
||||
startTargetOverlay, stopTargetOverlay, deleteTarget,
|
||||
cloneTarget,
|
||||
} from './features/targets.js';
|
||||
|
||||
// Layer 5: color-strip sources
|
||||
@@ -95,6 +99,7 @@ import {
|
||||
compositeAddLayer, compositeRemoveLayer,
|
||||
onAudioVizChange,
|
||||
applyGradientPreset,
|
||||
cloneColorStrip,
|
||||
} from './features/color-strips.js';
|
||||
|
||||
// Layer 5: calibration
|
||||
@@ -210,6 +215,9 @@ Object.assign(window, {
|
||||
moveFilter,
|
||||
updateFilterOption,
|
||||
renderModalFilterList,
|
||||
cloneStream,
|
||||
cloneCaptureTemplate,
|
||||
clonePPTemplate,
|
||||
|
||||
// kc-targets
|
||||
createKCTargetCard,
|
||||
@@ -223,6 +231,7 @@ Object.assign(window, {
|
||||
disconnectAllKCWebSockets,
|
||||
updateKCBrightnessLabel,
|
||||
saveKCBrightness,
|
||||
cloneKCTarget,
|
||||
|
||||
// pattern-templates
|
||||
createPatternTemplateCard,
|
||||
@@ -238,6 +247,7 @@ Object.assign(window, {
|
||||
deleteSelectedPatternRect,
|
||||
removePatternRect,
|
||||
capturePatternBackground,
|
||||
clonePatternTemplate,
|
||||
|
||||
// profiles
|
||||
loadProfiles,
|
||||
@@ -273,6 +283,7 @@ Object.assign(window, {
|
||||
startTargetOverlay,
|
||||
stopTargetOverlay,
|
||||
deleteTarget,
|
||||
cloneTarget,
|
||||
|
||||
// color-strip sources
|
||||
showCSSEditor,
|
||||
@@ -290,6 +301,7 @@ Object.assign(window, {
|
||||
compositeRemoveLayer,
|
||||
onAudioVizChange,
|
||||
applyGradientPreset,
|
||||
cloneColorStrip,
|
||||
|
||||
// calibration
|
||||
showCalibration,
|
||||
|
||||
Reference in New Issue
Block a user