kritzel-stencil 0.0.133 → 0.0.135
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-DCHCVnOl.js → index-DILpAbYp.js} +12 -5
- package/dist/cjs/index-DILpAbYp.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kritzel-color_22.cjs.entry.js +74 -73
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/collection/classes/commands/add-selection-group.command.js +6 -3
- package/dist/collection/classes/commands/add-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/move-selection-group.command.js +5 -0
- package/dist/collection/classes/commands/move-selection-group.command.js.map +1 -1
- package/dist/collection/classes/core/core.class.js +3 -1
- package/dist/collection/classes/core/core.class.js.map +1 -1
- package/dist/collection/classes/core/history.class.js +1 -0
- package/dist/collection/classes/core/history.class.js.map +1 -1
- package/dist/collection/classes/core/viewport.class.js +0 -6
- package/dist/collection/classes/core/viewport.class.js.map +1 -1
- package/dist/collection/classes/handlers/key.handler.js +42 -58
- package/dist/collection/classes/handlers/key.handler.js.map +1 -1
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +2 -2
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -1
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +10 -3
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -1
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +16 -1
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js.map +1 -1
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +1 -2
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js.map +1 -1
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js +14 -0
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js.map +1 -1
- package/dist/collection/interfaces/shortcut.interface.js +2 -0
- package/dist/collection/interfaces/shortcut.interface.js.map +1 -0
- package/dist/components/index.js +1 -1
- package/dist/components/kritzel-context-menu.js +1 -1
- package/dist/components/kritzel-editor.js +7 -7
- package/dist/components/kritzel-editor.js.map +1 -1
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/kritzel-menu-item.js +1 -1
- package/dist/components/kritzel-menu.js +1 -1
- package/dist/components/kritzel-portal.js +1 -1
- package/dist/components/kritzel-split-button.js +1 -1
- package/dist/components/kritzel-workspace-manager.js +1 -1
- package/dist/components/{p-CM8KdFZI.js → p-Bv28MOWN.js} +4 -4
- package/dist/components/{p-CM8KdFZI.js.map → p-Bv28MOWN.js.map} +1 -1
- package/dist/components/{p-Dw4n-4zp.js → p-C8wKLuRD.js} +3 -3
- package/dist/components/{p-Dw4n-4zp.js.map → p-C8wKLuRD.js.map} +1 -1
- package/dist/components/{p-CwH-bwjb.js → p-CZzYv_iN.js} +69 -74
- package/dist/components/p-CZzYv_iN.js.map +1 -0
- package/dist/components/{p-BKvOO7NT.js → p-DEjYSb6x.js} +11 -6
- package/dist/components/p-DEjYSb6x.js.map +1 -0
- package/dist/components/{p-BGdsAz54.js → p-DOPuq6gn.js} +3 -4
- package/dist/components/p-DOPuq6gn.js.map +1 -0
- package/dist/components/{p-NP1Htol7.js → p-DSSAcjs7.js} +13 -4
- package/dist/components/p-DSSAcjs7.js.map +1 -0
- package/dist/esm/{index-DY3KqYWc.js → index-BrCE-Ctm.js} +12 -5
- package/dist/esm/index-BrCE-Ctm.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/kritzel-color_22.entry.js +74 -73
- package/dist/esm/loader.js +1 -1
- package/dist/esm/stencil.js +1 -1
- package/dist/stencil/index.esm.js +1 -1
- package/dist/stencil/p-39d92274.entry.js +2 -0
- package/dist/stencil/p-39d92274.entry.js.map +1 -0
- package/dist/stencil/p-BrCE-Ctm.js +2 -0
- package/dist/stencil/p-BrCE-Ctm.js.map +1 -0
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/classes/commands/add-selection-group.command.d.ts +2 -1
- package/dist/types/classes/handlers/key.handler.d.ts +2 -0
- package/dist/types/components/shared/kritzel-portal/kritzel-portal.d.ts +1 -0
- package/dist/types/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.d.ts +1 -0
- package/dist/types/components.d.ts +2 -2
- package/dist/types/interfaces/shortcut.interface.d.ts +8 -0
- package/package.json +1 -1
- package/dist/cjs/index-DCHCVnOl.js.map +0 -1
- package/dist/components/p-BGdsAz54.js.map +0 -1
- package/dist/components/p-BKvOO7NT.js.map +0 -1
- package/dist/components/p-CwH-bwjb.js.map +0 -1
- package/dist/components/p-NP1Htol7.js.map +0 -1
- package/dist/esm/index-DY3KqYWc.js.map +0 -1
- package/dist/stencil/p-DY3KqYWc.js +0 -2
- package/dist/stencil/p-DY3KqYWc.js.map +0 -1
- package/dist/stencil/p-dc534b01.entry.js +0 -2
- package/dist/stencil/p-dc534b01.entry.js.map +0 -1
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-nzUNdMPh.js');
|
|
4
|
-
var index$1 = require('./index-
|
|
4
|
+
var index$1 = require('./index-DILpAbYp.js');
|
|
5
5
|
|
|
6
6
|
const kritzelColorCss = ":host{display:flex}.checkerboard-bg{background:repeating-conic-gradient(#ccc 0% 25%, #fff 0% 50%) 50% / 8px 8px;position:relative;overflow:hidden}.color-circle{width:24px;height:24px;border-radius:50%;box-sizing:border-box;display:block}.color-circle.white{border:1px solid var(--kritzel-color-palette-circle-border-color, #dddcdc)}";
|
|
7
7
|
|
|
@@ -117,7 +117,6 @@ const KritzelContextMenu = class {
|
|
|
117
117
|
close;
|
|
118
118
|
processedItems = [];
|
|
119
119
|
handleOutsideClick(event) {
|
|
120
|
-
event.preventDefault();
|
|
121
120
|
const path = event.composedPath();
|
|
122
121
|
if (!path.includes(this.host)) {
|
|
123
122
|
this.close.emit();
|
|
@@ -152,7 +151,7 @@ const KritzelContextMenu = class {
|
|
|
152
151
|
return defaultValue;
|
|
153
152
|
}
|
|
154
153
|
render() {
|
|
155
|
-
return (index.h(index.Host, { key: '
|
|
154
|
+
return (index.h(index.Host, { key: '908711e45cb4ea41f25c4f66a9d3b03c847f886e' }, index.h("div", { key: '7dcb6e5654ecafebc1fc1a2efb9fa1b8678236c4', class: "menu-container" }, this.processedItems.map(({ item, isDisabled }, index$1) => (index.h("button", { key: `${item.label}-${index$1}`, class: { 'menu-item': true, 'disabled': isDisabled }, onClick: () => this.handleItemClick(item, isDisabled), disabled: isDisabled }, item.icon && index.h("kritzel-icon", { name: item.icon, size: 16 }), index.h("span", { class: "label" }, item.label)))))));
|
|
156
155
|
}
|
|
157
156
|
static get watchers() { return {
|
|
158
157
|
"items": ["onItemsChanged"]
|
|
@@ -663,6 +662,7 @@ const KritzelEditor = class {
|
|
|
663
662
|
{
|
|
664
663
|
name: 'selection',
|
|
665
664
|
type: 'tool',
|
|
665
|
+
isDefault: true,
|
|
666
666
|
tool: index$1.KritzelSelectionTool,
|
|
667
667
|
icon: 'cursor',
|
|
668
668
|
},
|
|
@@ -671,7 +671,6 @@ const KritzelEditor = class {
|
|
|
671
671
|
type: 'tool',
|
|
672
672
|
tool: index$1.KritzelBrushTool,
|
|
673
673
|
icon: 'pen',
|
|
674
|
-
isDefault: true,
|
|
675
674
|
config: index$1.DEFAULT_BRUSH_CONFIG,
|
|
676
675
|
},
|
|
677
676
|
{
|
|
@@ -1018,89 +1017,67 @@ class KritzelViewport {
|
|
|
1018
1017
|
this._core.updateWorkspaceViewport(this._core.store.state.translateX, this._core.store.state.translateY, this._core.store.state.scale);
|
|
1019
1018
|
setTimeout(() => {
|
|
1020
1019
|
this._core.store.setState('isScaling', false);
|
|
1021
|
-
this._core.rerender();
|
|
1022
1020
|
}, 300);
|
|
1023
1021
|
}
|
|
1024
1022
|
handlePan(event) {
|
|
1025
|
-
this._core.store.setState('isPanning', true);
|
|
1026
1023
|
const panSpeed = 0.8;
|
|
1027
1024
|
this._core.store.setState('translateX', this._core.store.state.translateX - event.deltaX * panSpeed);
|
|
1028
1025
|
this._core.store.setState('translateY', this._core.store.state.translateY - event.deltaY * panSpeed);
|
|
1029
1026
|
this._core.store.setState('hasViewportChanged', true);
|
|
1030
1027
|
this._core.rerender();
|
|
1031
1028
|
this._core.updateWorkspaceViewport(this._core.store.state.translateX, this._core.store.state.translateY, this._core.store.state.scale);
|
|
1032
|
-
setTimeout(() => {
|
|
1033
|
-
this._core.store.setState('isPanning', false);
|
|
1034
|
-
this._core.rerender();
|
|
1035
|
-
}, 300);
|
|
1036
1029
|
}
|
|
1037
1030
|
}
|
|
1038
1031
|
|
|
1039
1032
|
class KritzelKeyHandler extends index$1.KritzelBaseHandler {
|
|
1033
|
+
shortcuts = [
|
|
1034
|
+
// General
|
|
1035
|
+
{ key: 'Escape', condition: c => !!c.store.state.selectionGroup, action: c => c.clearSelection() },
|
|
1036
|
+
{ key: 'Delete', condition: c => !!c.store.state.selectionGroup, action: c => c.delete() },
|
|
1037
|
+
// History
|
|
1038
|
+
{ key: 'z', ctrl: true, action: c => c.history.undo() },
|
|
1039
|
+
{ key: 'y', ctrl: true, action: c => c.history.redo() },
|
|
1040
|
+
// Tool selection
|
|
1041
|
+
{ key: 's', ctrl: true, action: () => this.switchTool('selection') },
|
|
1042
|
+
{ key: 'b', ctrl: true, action: () => this.switchTool('brush') },
|
|
1043
|
+
{ key: 'e', ctrl: true, action: () => this.switchTool('eraser') },
|
|
1044
|
+
{ key: 'i', ctrl: true, action: () => this.switchTool('image') },
|
|
1045
|
+
{ key: 'x', ctrl: true, action: () => this.switchTool('text') },
|
|
1046
|
+
// Clipboard
|
|
1047
|
+
{
|
|
1048
|
+
key: 'c',
|
|
1049
|
+
ctrl: true,
|
|
1050
|
+
condition: c => !!c.store.state.selectionGroup,
|
|
1051
|
+
action: c => {
|
|
1052
|
+
c.copy();
|
|
1053
|
+
c.rerender();
|
|
1054
|
+
},
|
|
1055
|
+
},
|
|
1056
|
+
{ key: 'v', ctrl: true, condition: c => !!c.store.state.copiedObjects && !c.store.state.activeText, action: c => c.paste() },
|
|
1057
|
+
// Text editing
|
|
1058
|
+
{ key: 'a', ctrl: true, condition: c => !!c.store.state.activeText, action: c => c.store.state.activeText.selectAll() },
|
|
1059
|
+
{ key: 'v', ctrl: true, condition: c => !!c.store.state.activeText, action: c => c.store.state.activeText.insertFromClipboard() },
|
|
1060
|
+
// Object layering
|
|
1061
|
+
{ key: '+', ctrl: true, condition: c => !!c.store.state.selectionGroup, action: c => c.bringForward() },
|
|
1062
|
+
{ key: '-', ctrl: true, condition: c => !!c.store.state.selectionGroup, action: c => c.sendBackward() },
|
|
1063
|
+
{ key: '*', shift: true, condition: c => !!c.store.state.selectionGroup, action: c => c.bringToFront() },
|
|
1064
|
+
{ key: '_', shift: true, condition: c => !!c.store.state.selectionGroup, action: c => c.sendToBack() },
|
|
1065
|
+
];
|
|
1040
1066
|
constructor(core) {
|
|
1041
1067
|
super(core);
|
|
1042
1068
|
}
|
|
1069
|
+
switchTool(tool) {
|
|
1070
|
+
const toolInstance = index$1.KritzelToolRegistry.getTool(tool);
|
|
1071
|
+
this._core.store.setState('activeTool', toolInstance);
|
|
1072
|
+
this._core.deselectAllObjects();
|
|
1073
|
+
toolInstance.onActivate();
|
|
1074
|
+
}
|
|
1043
1075
|
handleKeyDown(event) {
|
|
1044
1076
|
this._core.store.setState('isCtrlKeyPressed', event.ctrlKey);
|
|
1045
|
-
|
|
1077
|
+
const shortcut = this.shortcuts.find(s => s.key === event.key && !!s.ctrl === event.ctrlKey && !!s.shift === event.shiftKey && (!s.condition || s.condition(this._core)));
|
|
1078
|
+
if (shortcut) {
|
|
1046
1079
|
event.preventDefault();
|
|
1047
|
-
|
|
1048
|
-
if (event.key === 'Escape' && this._core.store.state.selectionGroup) {
|
|
1049
|
-
this._core.clearSelection();
|
|
1050
|
-
}
|
|
1051
|
-
if (event.key === 'Delete' && this._core.store.state.selectionGroup) {
|
|
1052
|
-
this._core.delete();
|
|
1053
|
-
}
|
|
1054
|
-
if (event.key === 'z' && event.ctrlKey) {
|
|
1055
|
-
this._core.history.undo();
|
|
1056
|
-
}
|
|
1057
|
-
if (event.key === 'y' && event.ctrlKey) {
|
|
1058
|
-
this._core.history.redo();
|
|
1059
|
-
}
|
|
1060
|
-
if (event.key === 's' && event.ctrlKey) {
|
|
1061
|
-
this._core.store.setState('activeTool', index$1.KritzelToolRegistry.getTool('selection'));
|
|
1062
|
-
this._core.deselectAllObjects();
|
|
1063
|
-
}
|
|
1064
|
-
if (event.key === 'b' && event.ctrlKey) {
|
|
1065
|
-
this._core.store.setState('activeTool', index$1.KritzelToolRegistry.getTool('brush'));
|
|
1066
|
-
this._core.deselectAllObjects();
|
|
1067
|
-
}
|
|
1068
|
-
if (event.key === 'e' && event.ctrlKey) {
|
|
1069
|
-
this._core.store.setState('activeTool', index$1.KritzelToolRegistry.getTool('eraser'));
|
|
1070
|
-
this._core.deselectAllObjects();
|
|
1071
|
-
}
|
|
1072
|
-
if (event.key === 'i' && event.ctrlKey) {
|
|
1073
|
-
this._core.store.setState('activeTool', index$1.KritzelToolRegistry.getTool('image'));
|
|
1074
|
-
this._core.deselectAllObjects();
|
|
1075
|
-
}
|
|
1076
|
-
if (event.key === 'x' && event.ctrlKey) {
|
|
1077
|
-
this._core.store.setState('activeTool', index$1.KritzelToolRegistry.getTool('text'));
|
|
1078
|
-
this._core.deselectAllObjects();
|
|
1079
|
-
}
|
|
1080
|
-
if (event.key === 'c' && event.ctrlKey && this._core.store.state.selectionGroup) {
|
|
1081
|
-
this._core.copy();
|
|
1082
|
-
this._core.rerender();
|
|
1083
|
-
}
|
|
1084
|
-
if (event.key === 'v' && event.ctrlKey && this._core.store.state.copiedObjects) {
|
|
1085
|
-
this._core.paste();
|
|
1086
|
-
}
|
|
1087
|
-
if (event.key === '+' && event.ctrlKey && this._core.store.state.selectionGroup) {
|
|
1088
|
-
this._core.bringForward();
|
|
1089
|
-
}
|
|
1090
|
-
if (event.key === '-' && event.ctrlKey && this._core.store.state.selectionGroup) {
|
|
1091
|
-
this._core.sendBackward();
|
|
1092
|
-
}
|
|
1093
|
-
if (event.key === '*' && event.shiftKey && this._core.store.state.selectionGroup) {
|
|
1094
|
-
this._core.bringToFront();
|
|
1095
|
-
}
|
|
1096
|
-
if (event.key === '_' && event.shiftKey && this._core.store.state.selectionGroup) {
|
|
1097
|
-
this._core.sendToBack();
|
|
1098
|
-
}
|
|
1099
|
-
if (event.key === 'a' && event.ctrlKey && this._core.store.state.activeText) {
|
|
1100
|
-
this._core.store.state.activeText.selectAll();
|
|
1101
|
-
}
|
|
1102
|
-
if (event.key === 'v' && event.ctrlKey && this._core.store.state.activeText) {
|
|
1103
|
-
this._core.store.state.activeText.insertFromClipboard();
|
|
1080
|
+
shortcut.action(this._core);
|
|
1104
1081
|
}
|
|
1105
1082
|
}
|
|
1106
1083
|
handleKeyUp(event) {
|
|
@@ -1590,6 +1567,7 @@ class KritzelHistory {
|
|
|
1590
1567
|
console.info('undo', command);
|
|
1591
1568
|
this.redoStack.add(command);
|
|
1592
1569
|
}
|
|
1570
|
+
this._core.store.setState('copiedObjects', null);
|
|
1593
1571
|
this._core.rerender();
|
|
1594
1572
|
}
|
|
1595
1573
|
redo() {
|
|
@@ -1910,11 +1888,13 @@ class KritzelCore {
|
|
|
1910
1888
|
const adjustedY = y !== undefined ? y : this._store.state.copiedObjects.translateY + 25 / this._store.state.scale;
|
|
1911
1889
|
this._store.state.copiedObjects.updatePosition(adjustedX, adjustedY);
|
|
1912
1890
|
const commands = [];
|
|
1891
|
+
let previousSelectionGroup = null;
|
|
1913
1892
|
if (this._store.state.selectionGroup !== null) {
|
|
1893
|
+
previousSelectionGroup = this._store.state.selectionGroup;
|
|
1914
1894
|
commands.push(new index$1.RemoveSelectionGroupCommand(this, this._store.state.selectionGroup));
|
|
1915
1895
|
}
|
|
1916
1896
|
const addCopiedObjectsCommands = this._store.state.copiedObjects.objects.map(obj => new index$1.AddObjectCommand(this, this, obj));
|
|
1917
|
-
const addCopiedObjectsAsSelectionGroupCommand = new index$1.AddSelectionGroupCommand(this, this, this._store.state.copiedObjects);
|
|
1897
|
+
const addCopiedObjectsAsSelectionGroupCommand = new index$1.AddSelectionGroupCommand(this, this, this._store.state.copiedObjects, previousSelectionGroup);
|
|
1918
1898
|
commands.push(...addCopiedObjectsCommands, addCopiedObjectsAsSelectionGroupCommand);
|
|
1919
1899
|
this.history.executeCommand(new index$1.BatchCommand(this, this, commands));
|
|
1920
1900
|
this._store.setState('isSelecting', false);
|
|
@@ -2167,9 +2147,15 @@ const KritzelEngine = class {
|
|
|
2167
2147
|
this.viewport.handleResize();
|
|
2168
2148
|
}
|
|
2169
2149
|
handleKeyDown(ev) {
|
|
2150
|
+
if (this.core.store.isDisabled) {
|
|
2151
|
+
return;
|
|
2152
|
+
}
|
|
2170
2153
|
this.keyHandler.handleKeyDown(ev);
|
|
2171
2154
|
}
|
|
2172
2155
|
handleKeyUp(ev) {
|
|
2156
|
+
if (this.core.store.isDisabled) {
|
|
2157
|
+
return;
|
|
2158
|
+
}
|
|
2173
2159
|
this.keyHandler.handleKeyUp(ev);
|
|
2174
2160
|
}
|
|
2175
2161
|
async registerTool(toolName, toolClass, toolConfig) {
|
|
@@ -2350,6 +2336,7 @@ const KritzelEngine = class {
|
|
|
2350
2336
|
this.core.clearSelection();
|
|
2351
2337
|
}
|
|
2352
2338
|
this.core.store.setState('skipContextMenu', false);
|
|
2339
|
+
this.core.store.setState('copiedObjects', null);
|
|
2353
2340
|
this.activeToolChange.emit(activeTool);
|
|
2354
2341
|
index$1.KritzelKeyboardHelper.forceHideKeyboard();
|
|
2355
2342
|
}
|
|
@@ -2358,7 +2345,7 @@ const KritzelEngine = class {
|
|
|
2358
2345
|
const baseHandleSizePx = computedStyle.getPropertyValue('--kritzel-selection-handle-size').trim() || '6px';
|
|
2359
2346
|
const baseHandleSize = parseFloat(baseHandleSizePx);
|
|
2360
2347
|
const baseHandleTouchSize = baseHandleSize * 2 < 14 ? 14 : baseHandleSize;
|
|
2361
|
-
return (index.h(index.Host, { key: '
|
|
2348
|
+
return (index.h(index.Host, { key: '54dce5fe3011a15e4cf77b1daecf578dd0402c67' }, index.h("div", { key: '569c4253054b6c6e84059175716f180a76fd8a04', class: "debug-panel", style: { display: this.core.store.state.debugInfo.showViewportInfo ? 'block' : 'none' } }, index.h("div", { key: 'ff87fd8f171e46d211d92709d3141ad884ce0253' }, "ActiveWorkspaceId: ", this.core.store.state?.activeWorkspace?.id), index.h("div", { key: 'f43f53b4fc28ae9a7fe7e240635a3f410daaa72c' }, "ActiveWorkspaceName: ", this.core.store.state?.activeWorkspace?.name), index.h("div", { key: 'e2c45f541e0626a6ea1d5a36047fb2144eabf612' }, "TranslateX: ", this.core.store.state?.translateX), index.h("div", { key: 'f7897dde7e2a0b3be1c73342523db9f0c361bdb9' }, "TranslateY: ", this.core.store.state?.translateY), index.h("div", { key: '8f6be6752c49f033eabfd63f1533666e4a4d3c15' }, "ViewportWidth: ", this.core.store.state?.viewportWidth), index.h("div", { key: '26b96ecc0d184d9d224cfb14426503415a00a9ef' }, "ViewportHeight: ", this.core.store.state?.viewportHeight), index.h("div", { key: '7275251e13cb83b670b944d6ce22015525247b83' }, "Scale: ", this.core.store.state?.scale), index.h("div", { key: 'f1f071ce637abd91639c0e6d0809d0493ff649e9' }, "ActiveTool: ", this.core.store.state?.activeTool?.name), index.h("div", { key: 'fbc6e5cc3fad57cbd54b821f9aa1b68b213447a0' }, "HasViewportChanged: ", this.core.store.state?.hasViewportChanged ? 'true' : 'false'), index.h("div", { key: 'ced900e880436a03d5490d818b10f079df3e2ed6' }, "IsEnabled: ", this.core.store.state?.isEnabled ? 'true' : 'false'), index.h("div", { key: 'ffb1c5e0310d246f04e747df85dcfde58c81d83f' }, "IsScaling: ", this.core.store.state?.isScaling ? 'true' : 'false'), index.h("div", { key: '5ad7bc9e7957f071400cc997613ec080b6484b8e' }, "IsPanning: ", this.core.store.state?.isPanning ? 'true' : 'false'), index.h("div", { key: '42d93051cb0ea2e24ef549abbffcc720dd62efa8' }, "IsSelecting: ", this.isSelecting ? 'true' : 'false'), index.h("div", { key: '78a54f7df911c0721fed70be15ccbefae5d99b33' }, "IsSelectionActive: ", this.isSelectionActive ? 'true' : 'false'), index.h("div", { key: 'e4c4ca2b3f5429a5f9378122a5bfc380eea82cc6' }, "IsResizeHandleSelected: ", this.core.store.state.isResizeHandleSelected ? 'true' : 'false'), index.h("div", { key: '1947034670be8512d3654e104c7ea62bf70f207f' }, "IsRotationHandleSelected: ", this.core.store.state.isRotationHandleSelected ? 'true' : 'false'), index.h("div", { key: 'ecca8afceda81c4817db3e91f5bc4837056c4de0' }, "IsDrawing: ", this.core.store.state.isDrawing ? 'true' : 'false'), index.h("div", { key: '1ca1d5cac7421442851f35574bd7765d850399f9' }, "IsWriting: ", this.core.store.state.isWriting ? 'true' : 'false'), index.h("div", { key: '1e388d4dd59026dff761a598838b5bd10843d177' }, "PointerX: ", this.core.store.state?.pointerX), index.h("div", { key: '2c2b28eb4a9d293dd8d5d98a072f4bbeb7d0349c' }, "PointerY: ", this.core.store.state?.pointerY), index.h("div", { key: 'e41abf270f34643902a0a8d049dad405ead68321' }, "SelectedObjects: ", this.core.store.state.selectionGroup?.objects.length || 0)), index.h("div", { key: 'e2ed793fac7f3f289daa962042e05e4fd8f44d3b', id: "origin", class: "origin", style: {
|
|
2362
2349
|
transform: `matrix(${this.core.store.state?.scale}, 0, 0, ${this.core.store.state?.scale}, ${this.core.store.state?.translateX}, ${this.core.store.state?.translateY})`,
|
|
2363
2350
|
} }, this.core.store.state.objectsMap.allObjects()?.map(object => {
|
|
2364
2351
|
return (index.h("div", { key: object.id, style: {
|
|
@@ -2477,7 +2464,7 @@ const KritzelEngine = class {
|
|
|
2477
2464
|
transform: this.core.store.state.currentPath?.transformationMatrix,
|
|
2478
2465
|
transformOrigin: 'top left',
|
|
2479
2466
|
overflow: 'visible',
|
|
2480
|
-
}, viewBox: this.core.store.state.currentPath?.viewBox }, index.h("path", { key: '
|
|
2467
|
+
}, viewBox: this.core.store.state.currentPath?.viewBox }, index.h("path", { key: '2070b03bfd123024e7075da1a969960cf8b37628', d: this.core.store.state.currentPath?.d, fill: this.core.store.state.currentPath?.fill, stroke: this.core.store.state.currentPath?.stroke }))), this.core.store.state.isContextMenuVisible && (index.h("kritzel-context-menu", { key: '3fc8fc5b1a75bd119effcf5b8f454e18b9c97fc6', class: "context-menu", ref: el => (this.contextMenuElement = el), items: this.core.store.state.contextMenuItems, objects: this.core.store.state.selectionGroup?.objects || [], style: {
|
|
2481
2468
|
position: 'fixed',
|
|
2482
2469
|
left: `${this.core.store.state.contextMenuX}px`,
|
|
2483
2470
|
top: `${this.core.store.state.contextMenuY}px`,
|
|
@@ -2488,7 +2475,7 @@ const KritzelEngine = class {
|
|
|
2488
2475
|
y: (-this.core.store.state.translateY + this.core.store.state.contextMenuY) / this.core.store.state.scale,
|
|
2489
2476
|
}, this.core.store.state.selectionGroup?.objects);
|
|
2490
2477
|
this.hideContextMenu();
|
|
2491
|
-
}, onClose: () => this.hideContextMenu() })), this.core.store.state?.activeTool instanceof index$1.KritzelEraserTool && !this.core.store.state.isScaling && index.h("kritzel-cursor-trail", { key: '
|
|
2478
|
+
}, onClose: () => this.hideContextMenu() })), this.core.store.state?.activeTool instanceof index$1.KritzelEraserTool && !this.core.store.state.isScaling && index.h("kritzel-cursor-trail", { key: '11612f7439e34cf20843f5ab63b19d5ef07847d7', core: this.core })));
|
|
2492
2479
|
}
|
|
2493
2480
|
static get watchers() { return {
|
|
2494
2481
|
"workspace": ["onWorkspaceChange"],
|
|
@@ -2903,6 +2890,15 @@ const KritzelPortal = class {
|
|
|
2903
2890
|
handleResize() {
|
|
2904
2891
|
this.calculatePosition();
|
|
2905
2892
|
}
|
|
2893
|
+
handleWindowScroll() {
|
|
2894
|
+
const isInViewport = KritzelHTMLHelper.isElementInViewport(this.anchor);
|
|
2895
|
+
if (!isInViewport) {
|
|
2896
|
+
this.anchor.blur();
|
|
2897
|
+
this.closePortal();
|
|
2898
|
+
return;
|
|
2899
|
+
}
|
|
2900
|
+
this.calculatePosition();
|
|
2901
|
+
}
|
|
2906
2902
|
portal;
|
|
2907
2903
|
id = `portal-${index$1.ObjectHelper.generateUUID()}`;
|
|
2908
2904
|
defaultOffset = 0;
|
|
@@ -3005,7 +3001,7 @@ const KritzelPortal = class {
|
|
|
3005
3001
|
this.portal.style.left = `${left}px`;
|
|
3006
3002
|
}
|
|
3007
3003
|
render() {
|
|
3008
|
-
return (index.h(index.Host, { key: '
|
|
3004
|
+
return (index.h(index.Host, { key: 'cb26dba15d036fe47c64d35b0a6e0be870de5228', style: { display: this.anchor ? 'block' : 'none' } }, index.h("slot", { key: 'de69a0ee1f7e6584037a3e9057ad9f0c39fb9e89' })));
|
|
3009
3005
|
}
|
|
3010
3006
|
static get watchers() { return {
|
|
3011
3007
|
"anchor": ["anchorChanged"]
|
|
@@ -3269,6 +3265,11 @@ const KritzelWorkspaceManager = class {
|
|
|
3269
3265
|
openChildMenuItem = null;
|
|
3270
3266
|
newWorkspace = null;
|
|
3271
3267
|
editingItemId = null;
|
|
3268
|
+
handleWheel(event) {
|
|
3269
|
+
if (event.ctrlKey) {
|
|
3270
|
+
event.preventDefault();
|
|
3271
|
+
}
|
|
3272
|
+
}
|
|
3272
3273
|
kritzelEngineRef = null;
|
|
3273
3274
|
splitButtonRef;
|
|
3274
3275
|
get sortedWorkspaces() {
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -6,7 +6,7 @@ var appGlobals = require('./app-globals-V2Kpy_OQ.js');
|
|
|
6
6
|
const defineCustomElements = async (win, options) => {
|
|
7
7
|
if (typeof window === 'undefined') return undefined;
|
|
8
8
|
await appGlobals.globalScripts();
|
|
9
|
-
return index.bootstrapLazy([["kritzel-color_22.cjs",[[256,"kritzel-editor",{"scaleMax":[2,"scale-max"],"scaleMin":[2,"scale-min"],"controls":[16],"globalContextMenuItems":[16,"global-context-menu-items"],"objectContextMenuItems":[16,"object-context-menu-items"],"customSvgIcons":[16,"custom-svg-icons"],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"dblclick","handleTouchStart"]],{"isEngineReady":["onIsEngineReady"],"isControlsReady":["onIsControlsReady"]}],[257,"kritzel-controls",{"controls":[16],"activeControl":[1040,"active-control"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"firstConfig":[32],"isTooltipVisible":[32],"isTouchDevice":[32],"closeTooltip":[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"]]],[257,"kritzel-workspace-manager",{"activeWorkspace":[16,"active-workspace"],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]}],[257,"kritzel-engine",{"workspace":[16],"activeTool":[16,"active-tool"],"globalContextMenuItems":[16,"global-context-menu-items"],"objectContextMenuItems":[16,"object-context-menu-items"],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"forceUpdate":[32],"registerTool":[64],"changeActiveTool":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"undo":[64],"redo":[64],"hideContextMenu":[64],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"getCopiedObjects":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[0,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"]],{"workspace":["onWorkspaceChange"],"scaleMax":["validateScaleMax"],"scaleMin":["validateScaleMin"]}],[257,"kritzel-control-text-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"]}],[257,"kritzel-control-brush-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"palette":[32]},null,{"tool":["handleToolChange"]}],[257,"kritzel-split-button",{"buttonIcon":[1,"button-icon"],"dropdownIcon":[1,"dropdown-icon"],"items":[16],"mainButtonDisabled":[4,"main-button-disabled"],"menuButtonDisabled":[4,"menu-button-disabled"],"isMenuOpen":[32],"isTouchDevice":[32],"anchorElement":[32],"open":[64],"focusMenu":[64]}],[257,"kritzel-context-menu",{"items":[16],"objects":[16],"processedItems":[32]},[[9,"pointerdown","handleOutsideClick"]],{"items":["onItemsChanged"]}],[257,"kritzel-utility-panel"],[257,"kritzel-cursor-trail",{"core":[16],"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[257,"kritzel-tooltip",{"isVisible":[4,"is-visible"],"anchorElement":[16,"anchor-element"],"arrowSize":[2,"arrow-size"],"offsetY":[2,"offset-y"],"positionX":[32],"arrowOffset":[32],"isMobileView":[32],"focusContent":[64]},[[4,"click","handleOutsideClick"],[9,"resize","handleWindowResize"]]],[257,"kritzel-font-family",{"fontOptions":[16,"font-options"],"selectedFontFamily":[1025,"selected-font-family"]}],[257,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[257,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[257,"kritzel-color-palette",{"colors":[16],"selectedColor":[1025,"selected-color"],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"]}],[257,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[257,"kritzel-menu",{"items":[16],"parent":[16],"selectedIndex":[32],"setFocus":[64]}],[257,"kritzel-menu-item",{"item":[16],"parent":[16],"isDirty":[32]},null,{"item":["onItemChange"]}],[257,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[8,"select-styles"],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32]},null,{"options":["optionsChanged"],"value":["externalValueChanged"]}],[257,"kritzel-portal",{"anchor":[16],"offsetX":[2,"offset-x"],"offsetY":[2,"offset-y"],"autoFocus":[4,"auto-focus"]},[[8,"click","handleOutsideClick"],[8,"keydown","handleKeyDown"],[11,"resize","handleResize"]],{"anchor":["anchorChanged"]}],[257,"kritzel-color",{"value":[1],"size":[2]}],[257,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]],["kritzel-brush-style.cjs",[[257,"kritzel-brush-style",{"type":[1],"brushOptions":[16,"brush-options"]}]]]], options);
|
|
9
|
+
return index.bootstrapLazy([["kritzel-color_22.cjs",[[256,"kritzel-editor",{"scaleMax":[2,"scale-max"],"scaleMin":[2,"scale-min"],"controls":[16],"globalContextMenuItems":[16,"global-context-menu-items"],"objectContextMenuItems":[16,"object-context-menu-items"],"customSvgIcons":[16,"custom-svg-icons"],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"dblclick","handleTouchStart"]],{"isEngineReady":["onIsEngineReady"],"isControlsReady":["onIsControlsReady"]}],[257,"kritzel-controls",{"controls":[16],"activeControl":[1040,"active-control"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"firstConfig":[32],"isTooltipVisible":[32],"isTouchDevice":[32],"closeTooltip":[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"]]],[257,"kritzel-workspace-manager",{"activeWorkspace":[16,"active-workspace"],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]},[[8,"wheel","handleWheel"]]],[257,"kritzel-engine",{"workspace":[16],"activeTool":[16,"active-tool"],"globalContextMenuItems":[16,"global-context-menu-items"],"objectContextMenuItems":[16,"object-context-menu-items"],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"forceUpdate":[32],"registerTool":[64],"changeActiveTool":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"undo":[64],"redo":[64],"hideContextMenu":[64],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"getCopiedObjects":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[0,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"]],{"workspace":["onWorkspaceChange"],"scaleMax":["validateScaleMax"],"scaleMin":["validateScaleMin"]}],[257,"kritzel-control-text-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"]}],[257,"kritzel-control-brush-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"palette":[32]},null,{"tool":["handleToolChange"]}],[257,"kritzel-split-button",{"buttonIcon":[1,"button-icon"],"dropdownIcon":[1,"dropdown-icon"],"items":[16],"mainButtonDisabled":[4,"main-button-disabled"],"menuButtonDisabled":[4,"menu-button-disabled"],"isMenuOpen":[32],"isTouchDevice":[32],"anchorElement":[32],"open":[64],"focusMenu":[64]}],[257,"kritzel-context-menu",{"items":[16],"objects":[16],"processedItems":[32]},[[9,"pointerdown","handleOutsideClick"]],{"items":["onItemsChanged"]}],[257,"kritzel-utility-panel"],[257,"kritzel-cursor-trail",{"core":[16],"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[257,"kritzel-tooltip",{"isVisible":[4,"is-visible"],"anchorElement":[16,"anchor-element"],"arrowSize":[2,"arrow-size"],"offsetY":[2,"offset-y"],"positionX":[32],"arrowOffset":[32],"isMobileView":[32],"focusContent":[64]},[[4,"click","handleOutsideClick"],[9,"resize","handleWindowResize"]]],[257,"kritzel-font-family",{"fontOptions":[16,"font-options"],"selectedFontFamily":[1025,"selected-font-family"]}],[257,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[257,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[257,"kritzel-color-palette",{"colors":[16],"selectedColor":[1025,"selected-color"],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"]}],[257,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[257,"kritzel-menu",{"items":[16],"parent":[16],"selectedIndex":[32],"setFocus":[64]}],[257,"kritzel-menu-item",{"item":[16],"parent":[16],"isDirty":[32]},null,{"item":["onItemChange"]}],[257,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[8,"select-styles"],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32]},null,{"options":["optionsChanged"],"value":["externalValueChanged"]}],[257,"kritzel-portal",{"anchor":[16],"offsetX":[2,"offset-x"],"offsetY":[2,"offset-y"],"autoFocus":[4,"auto-focus"]},[[8,"click","handleOutsideClick"],[8,"keydown","handleKeyDown"],[11,"resize","handleResize"],[11,"scroll","handleWindowScroll"]],{"anchor":["anchorChanged"]}],[257,"kritzel-color",{"value":[1],"size":[2]}],[257,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]],["kritzel-brush-style.cjs",[[257,"kritzel-brush-style",{"type":[1],"brushOptions":[16,"brush-options"]}]]]], options);
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
exports.setNonce = index.setNonce;
|
package/dist/cjs/stencil.cjs.js
CHANGED
|
@@ -19,7 +19,7 @@ var patchBrowser = () => {
|
|
|
19
19
|
|
|
20
20
|
patchBrowser().then(async (options) => {
|
|
21
21
|
await appGlobals.globalScripts();
|
|
22
|
-
return index.bootstrapLazy([["kritzel-color_22.cjs",[[256,"kritzel-editor",{"scaleMax":[2,"scale-max"],"scaleMin":[2,"scale-min"],"controls":[16],"globalContextMenuItems":[16,"global-context-menu-items"],"objectContextMenuItems":[16,"object-context-menu-items"],"customSvgIcons":[16,"custom-svg-icons"],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"dblclick","handleTouchStart"]],{"isEngineReady":["onIsEngineReady"],"isControlsReady":["onIsControlsReady"]}],[257,"kritzel-controls",{"controls":[16],"activeControl":[1040,"active-control"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"firstConfig":[32],"isTooltipVisible":[32],"isTouchDevice":[32],"closeTooltip":[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"]]],[257,"kritzel-workspace-manager",{"activeWorkspace":[16,"active-workspace"],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]}],[257,"kritzel-engine",{"workspace":[16],"activeTool":[16,"active-tool"],"globalContextMenuItems":[16,"global-context-menu-items"],"objectContextMenuItems":[16,"object-context-menu-items"],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"forceUpdate":[32],"registerTool":[64],"changeActiveTool":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"undo":[64],"redo":[64],"hideContextMenu":[64],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"getCopiedObjects":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[0,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"]],{"workspace":["onWorkspaceChange"],"scaleMax":["validateScaleMax"],"scaleMin":["validateScaleMin"]}],[257,"kritzel-control-text-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"]}],[257,"kritzel-control-brush-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"palette":[32]},null,{"tool":["handleToolChange"]}],[257,"kritzel-split-button",{"buttonIcon":[1,"button-icon"],"dropdownIcon":[1,"dropdown-icon"],"items":[16],"mainButtonDisabled":[4,"main-button-disabled"],"menuButtonDisabled":[4,"menu-button-disabled"],"isMenuOpen":[32],"isTouchDevice":[32],"anchorElement":[32],"open":[64],"focusMenu":[64]}],[257,"kritzel-context-menu",{"items":[16],"objects":[16],"processedItems":[32]},[[9,"pointerdown","handleOutsideClick"]],{"items":["onItemsChanged"]}],[257,"kritzel-utility-panel"],[257,"kritzel-cursor-trail",{"core":[16],"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[257,"kritzel-tooltip",{"isVisible":[4,"is-visible"],"anchorElement":[16,"anchor-element"],"arrowSize":[2,"arrow-size"],"offsetY":[2,"offset-y"],"positionX":[32],"arrowOffset":[32],"isMobileView":[32],"focusContent":[64]},[[4,"click","handleOutsideClick"],[9,"resize","handleWindowResize"]]],[257,"kritzel-font-family",{"fontOptions":[16,"font-options"],"selectedFontFamily":[1025,"selected-font-family"]}],[257,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[257,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[257,"kritzel-color-palette",{"colors":[16],"selectedColor":[1025,"selected-color"],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"]}],[257,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[257,"kritzel-menu",{"items":[16],"parent":[16],"selectedIndex":[32],"setFocus":[64]}],[257,"kritzel-menu-item",{"item":[16],"parent":[16],"isDirty":[32]},null,{"item":["onItemChange"]}],[257,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[8,"select-styles"],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32]},null,{"options":["optionsChanged"],"value":["externalValueChanged"]}],[257,"kritzel-portal",{"anchor":[16],"offsetX":[2,"offset-x"],"offsetY":[2,"offset-y"],"autoFocus":[4,"auto-focus"]},[[8,"click","handleOutsideClick"],[8,"keydown","handleKeyDown"],[11,"resize","handleResize"]],{"anchor":["anchorChanged"]}],[257,"kritzel-color",{"value":[1],"size":[2]}],[257,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]],["kritzel-brush-style.cjs",[[257,"kritzel-brush-style",{"type":[1],"brushOptions":[16,"brush-options"]}]]]], options);
|
|
22
|
+
return index.bootstrapLazy([["kritzel-color_22.cjs",[[256,"kritzel-editor",{"scaleMax":[2,"scale-max"],"scaleMin":[2,"scale-min"],"controls":[16],"globalContextMenuItems":[16,"global-context-menu-items"],"objectContextMenuItems":[16,"object-context-menu-items"],"customSvgIcons":[16,"custom-svg-icons"],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"dblclick","handleTouchStart"]],{"isEngineReady":["onIsEngineReady"],"isControlsReady":["onIsControlsReady"]}],[257,"kritzel-controls",{"controls":[16],"activeControl":[1040,"active-control"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"firstConfig":[32],"isTooltipVisible":[32],"isTouchDevice":[32],"closeTooltip":[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"]]],[257,"kritzel-workspace-manager",{"activeWorkspace":[16,"active-workspace"],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]},[[8,"wheel","handleWheel"]]],[257,"kritzel-engine",{"workspace":[16],"activeTool":[16,"active-tool"],"globalContextMenuItems":[16,"global-context-menu-items"],"objectContextMenuItems":[16,"object-context-menu-items"],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"forceUpdate":[32],"registerTool":[64],"changeActiveTool":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"undo":[64],"redo":[64],"hideContextMenu":[64],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"getCopiedObjects":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[0,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"]],{"workspace":["onWorkspaceChange"],"scaleMax":["validateScaleMax"],"scaleMin":["validateScaleMin"]}],[257,"kritzel-control-text-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"]}],[257,"kritzel-control-brush-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"palette":[32]},null,{"tool":["handleToolChange"]}],[257,"kritzel-split-button",{"buttonIcon":[1,"button-icon"],"dropdownIcon":[1,"dropdown-icon"],"items":[16],"mainButtonDisabled":[4,"main-button-disabled"],"menuButtonDisabled":[4,"menu-button-disabled"],"isMenuOpen":[32],"isTouchDevice":[32],"anchorElement":[32],"open":[64],"focusMenu":[64]}],[257,"kritzel-context-menu",{"items":[16],"objects":[16],"processedItems":[32]},[[9,"pointerdown","handleOutsideClick"]],{"items":["onItemsChanged"]}],[257,"kritzel-utility-panel"],[257,"kritzel-cursor-trail",{"core":[16],"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[257,"kritzel-tooltip",{"isVisible":[4,"is-visible"],"anchorElement":[16,"anchor-element"],"arrowSize":[2,"arrow-size"],"offsetY":[2,"offset-y"],"positionX":[32],"arrowOffset":[32],"isMobileView":[32],"focusContent":[64]},[[4,"click","handleOutsideClick"],[9,"resize","handleWindowResize"]]],[257,"kritzel-font-family",{"fontOptions":[16,"font-options"],"selectedFontFamily":[1025,"selected-font-family"]}],[257,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[257,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[257,"kritzel-color-palette",{"colors":[16],"selectedColor":[1025,"selected-color"],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"]}],[257,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[257,"kritzel-menu",{"items":[16],"parent":[16],"selectedIndex":[32],"setFocus":[64]}],[257,"kritzel-menu-item",{"item":[16],"parent":[16],"isDirty":[32]},null,{"item":["onItemChange"]}],[257,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[8,"select-styles"],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32]},null,{"options":["optionsChanged"],"value":["externalValueChanged"]}],[257,"kritzel-portal",{"anchor":[16],"offsetX":[2,"offset-x"],"offsetY":[2,"offset-y"],"autoFocus":[4,"auto-focus"]},[[8,"click","handleOutsideClick"],[8,"keydown","handleKeyDown"],[11,"resize","handleResize"],[11,"scroll","handleWindowScroll"]],{"anchor":["anchorChanged"]}],[257,"kritzel-color",{"value":[1],"size":[2]}],[257,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]],["kritzel-brush-style.cjs",[[257,"kritzel-brush-style",{"type":[1],"brushOptions":[16,"brush-options"]}]]]], options);
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
exports.setNonce = index.setNonce;
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import { KrtizelSelectionBox } from "../objects/selection-box.class";
|
|
2
|
+
import { KritzelSelectionGroup } from "../objects/selection-group.class";
|
|
2
3
|
import { KritzelBaseCommand } from "./base.command";
|
|
3
4
|
export class AddSelectionGroupCommand extends KritzelBaseCommand {
|
|
4
5
|
selectionGroup;
|
|
5
|
-
|
|
6
|
+
previousSelectionGroup;
|
|
7
|
+
constructor(core, initiator, selectionGroup, previousSelectionGroup, skipHistory = false) {
|
|
6
8
|
super(core, initiator, skipHistory);
|
|
7
9
|
this.selectionGroup = selectionGroup;
|
|
10
|
+
this.previousSelectionGroup = previousSelectionGroup || null;
|
|
8
11
|
}
|
|
9
12
|
execute() {
|
|
10
|
-
this._core.store.state.objectsMap.remove(object => object instanceof KrtizelSelectionBox);
|
|
13
|
+
this._core.store.state.objectsMap.remove(object => object instanceof KrtizelSelectionBox || object instanceof KritzelSelectionGroup);
|
|
11
14
|
this._core.store.state.objectsMap.insert(this.selectionGroup);
|
|
12
15
|
this._core.store.setState('selectionGroup', this.selectionGroup);
|
|
13
16
|
this._core.store.setState('selectionBox', null);
|
|
14
17
|
}
|
|
15
18
|
undo() {
|
|
16
19
|
this._core.store.state.objectsMap.remove(object => object.id === this.selectionGroup.id);
|
|
17
|
-
this._core.store.setState('selectionGroup',
|
|
20
|
+
this._core.store.setState('selectionGroup', this.previousSelectionGroup);
|
|
18
21
|
this._core.store.setState('selectionBox', null);
|
|
19
22
|
}
|
|
20
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-selection-group.command.js","sourceRoot":"","sources":["../../../src/classes/commands/add-selection-group.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"add-selection-group.command.js","sourceRoot":"","sources":["../../../src/classes/commands/add-selection-group.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,OAAO,wBAAyB,SAAQ,kBAAkB;IACtD,cAAc,CAAwB;IACtC,sBAAsB,CAA+B;IAE7D,YAAY,IAAiB,EAAE,SAAc,EAAE,cAAqC,EAAE,sBAA8C,EAAE,WAAW,GAAG,KAAK;QACvJ,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,IAAI,IAAI,CAAC;IAC/D,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,YAAY,mBAAmB,IAAI,MAAM,YAAY,qBAAqB,CAAC,CAAC;QACrI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE9D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;CACF","sourcesContent":["import { KritzelCore } from '../core/core.class';\r\nimport { KrtizelSelectionBox } from '../objects/selection-box.class';\r\nimport { KritzelSelectionGroup } from '../objects/selection-group.class';\r\nimport { KritzelBaseCommand } from './base.command';\r\n\r\nexport class AddSelectionGroupCommand extends KritzelBaseCommand {\r\n private selectionGroup: KritzelSelectionGroup;\r\n private previousSelectionGroup: KritzelSelectionGroup | null;\r\n\r\n constructor(core: KritzelCore, initiator: any, selectionGroup: KritzelSelectionGroup, previousSelectionGroup?: KritzelSelectionGroup, skipHistory = false) {\r\n super(core, initiator, skipHistory);\r\n this.selectionGroup = selectionGroup;\r\n this.previousSelectionGroup = previousSelectionGroup || null;\r\n }\r\n\r\n execute(): void {\r\n this._core.store.state.objectsMap.remove(object => object instanceof KrtizelSelectionBox || object instanceof KritzelSelectionGroup);\r\n this._core.store.state.objectsMap.insert(this.selectionGroup);\r\n\r\n this._core.store.setState('selectionGroup', this.selectionGroup);\r\n this._core.store.setState('selectionBox', null);\r\n }\r\n\r\n undo(): void {\r\n this._core.store.state.objectsMap.remove(object => object.id === this.selectionGroup.id);\r\n this._core.store.setState('selectionGroup', this.previousSelectionGroup);\r\n this._core.store.setState('selectionBox', null);\r\n }\r\n}\r\n"]}
|
|
@@ -18,6 +18,11 @@ export class MoveSelectionGroupCommand extends KritzelBaseCommand {
|
|
|
18
18
|
execute() {
|
|
19
19
|
if (this.skipExecution) {
|
|
20
20
|
this.skipExecution = false;
|
|
21
|
+
// Skip execution, but still update objects
|
|
22
|
+
this._core.store.state.selectionGroup.objects.forEach(object => {
|
|
23
|
+
this._core.store.state.objectsMap.update(object);
|
|
24
|
+
this._core.updateObjectInDatabase(object);
|
|
25
|
+
});
|
|
21
26
|
return;
|
|
22
27
|
}
|
|
23
28
|
this._core.store.setState('selectionGroup', this.selectionGroup);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"move-selection-group.command.js","sourceRoot":"","sources":["../../../src/classes/commands/move-selection-group.command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,OAAO,yBAA0B,SAAQ,kBAAkB;IACvD,cAAc,CAAwB;IAEtC,MAAM,CAAS;IAEf,MAAM,CAAS;IAEf,IAAI,CAAS;IAEb,IAAI,CAAS;IAEb,aAAa,CAAU;IAE/B,YAAY,IAAiB,EAAE,SAAc,EAAE,MAAc,EAAE,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,kBAAkB,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK;QACxJ,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import { KritzelCore } from '../core/core.class';\r\nimport { KritzelSelectionGroup } from '../objects/selection-group.class';\r\nimport { KritzelBaseCommand } from './base.command';\r\n\r\nexport class MoveSelectionGroupCommand extends KritzelBaseCommand {\r\n private selectionGroup: KritzelSelectionGroup;\r\n\r\n private startX: number;\r\n\r\n private startY: number;\r\n\r\n private endX: number;\r\n\r\n private endY: number;\r\n\r\n private skipExecution: boolean;\r\n\r\n constructor(core: KritzelCore, initiator: any, startX: number, startY: number, endX: number, endY: number, skipFirstExecution = false, skipHistory = false) {\r\n super(core, initiator, skipHistory);\r\n this.startX = startX;\r\n this.startY = startY;\r\n this.endX = endX;\r\n this.endY = endY;\r\n this.skipExecution = skipFirstExecution;\r\n this.selectionGroup = this._core.store.state.selectionGroup;\r\n }\r\n\r\n execute(): void {\r\n if (this.skipExecution) {\r\n this.skipExecution = false;\r\n return;\r\n }\r\n\r\n this._core.store.setState('selectionGroup', this.selectionGroup);\r\n this._core.store.state.selectionGroup.move(this.startX, this.startY, this.endX, this.endY);\r\n this._core.store.state.selectionGroup.objects.forEach(object => {\r\n this._core.store.state.objectsMap.update(object);\r\n this._core.updateObjectInDatabase(object);\r\n });\r\n }\r\n\r\n undo(): void {\r\n this._core.store.setState('selectionGroup', this.selectionGroup);\r\n this._core.store.state.selectionGroup.move(this.endX, this.endY, this.startX, this.startY);\r\n this._core.store.state.selectionGroup.objects.forEach(object => {\r\n this._core.store.state.objectsMap.update(object);\r\n this._core.updateObjectInDatabase(object);\r\n });\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"move-selection-group.command.js","sourceRoot":"","sources":["../../../src/classes/commands/move-selection-group.command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,OAAO,yBAA0B,SAAQ,kBAAkB;IACvD,cAAc,CAAwB;IAEtC,MAAM,CAAS;IAEf,MAAM,CAAS;IAEf,IAAI,CAAS;IAEb,IAAI,CAAS;IAEb,aAAa,CAAU;IAE/B,YAAY,IAAiB,EAAE,SAAc,EAAE,MAAc,EAAE,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,kBAAkB,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK;QACxJ,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,2CAA2C;YAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import { KritzelCore } from '../core/core.class';\r\nimport { KritzelSelectionGroup } from '../objects/selection-group.class';\r\nimport { KritzelBaseCommand } from './base.command';\r\n\r\nexport class MoveSelectionGroupCommand extends KritzelBaseCommand {\r\n private selectionGroup: KritzelSelectionGroup;\r\n\r\n private startX: number;\r\n\r\n private startY: number;\r\n\r\n private endX: number;\r\n\r\n private endY: number;\r\n\r\n private skipExecution: boolean;\r\n\r\n constructor(core: KritzelCore, initiator: any, startX: number, startY: number, endX: number, endY: number, skipFirstExecution = false, skipHistory = false) {\r\n super(core, initiator, skipHistory);\r\n this.startX = startX;\r\n this.startY = startY;\r\n this.endX = endX;\r\n this.endY = endY;\r\n this.skipExecution = skipFirstExecution;\r\n this.selectionGroup = this._core.store.state.selectionGroup;\r\n }\r\n\r\n execute(): void {\r\n if (this.skipExecution) {\r\n this.skipExecution = false;\r\n // Skip execution, but still update objects\r\n this._core.store.state.selectionGroup.objects.forEach(object => {\r\n this._core.store.state.objectsMap.update(object);\r\n this._core.updateObjectInDatabase(object);\r\n });\r\n return;\r\n }\r\n\r\n this._core.store.setState('selectionGroup', this.selectionGroup);\r\n this._core.store.state.selectionGroup.move(this.startX, this.startY, this.endX, this.endY);\r\n this._core.store.state.selectionGroup.objects.forEach(object => {\r\n this._core.store.state.objectsMap.update(object);\r\n this._core.updateObjectInDatabase(object);\r\n });\r\n }\r\n\r\n undo(): void {\r\n this._core.store.setState('selectionGroup', this.selectionGroup);\r\n this._core.store.state.selectionGroup.move(this.endX, this.endY, this.startX, this.startY);\r\n this._core.store.state.selectionGroup.objects.forEach(object => {\r\n this._core.store.state.objectsMap.update(object);\r\n this._core.updateObjectInDatabase(object);\r\n });\r\n }\r\n}\r\n"]}
|
|
@@ -215,11 +215,13 @@ export class KritzelCore {
|
|
|
215
215
|
const adjustedY = y !== undefined ? y : this._store.state.copiedObjects.translateY + 25 / this._store.state.scale;
|
|
216
216
|
this._store.state.copiedObjects.updatePosition(adjustedX, adjustedY);
|
|
217
217
|
const commands = [];
|
|
218
|
+
let previousSelectionGroup = null;
|
|
218
219
|
if (this._store.state.selectionGroup !== null) {
|
|
220
|
+
previousSelectionGroup = this._store.state.selectionGroup;
|
|
219
221
|
commands.push(new RemoveSelectionGroupCommand(this, this._store.state.selectionGroup));
|
|
220
222
|
}
|
|
221
223
|
const addCopiedObjectsCommands = this._store.state.copiedObjects.objects.map(obj => new AddObjectCommand(this, this, obj));
|
|
222
|
-
const addCopiedObjectsAsSelectionGroupCommand = new AddSelectionGroupCommand(this, this, this._store.state.copiedObjects);
|
|
224
|
+
const addCopiedObjectsAsSelectionGroupCommand = new AddSelectionGroupCommand(this, this, this._store.state.copiedObjects, previousSelectionGroup);
|
|
223
225
|
commands.push(...addCopiedObjectsCommands, addCopiedObjectsAsSelectionGroupCommand);
|
|
224
226
|
this.history.executeCommand(new BatchCommand(this, this, commands));
|
|
225
227
|
this._store.setState('isSelecting', false);
|