kritzel-stencil 0.0.131 → 0.0.133
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-BwINBV6L.js → index-DCHCVnOl.js} +755 -701
- package/dist/cjs/index-DCHCVnOl.js.map +1 -0
- package/dist/cjs/index-nzUNdMPh.js +6 -2
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kritzel-brush-style.cjs.entry.js +32 -0
- package/dist/cjs/kritzel-brush-style.entry.cjs.js.map +1 -0
- package/dist/cjs/{kritzel-brush-style_23.cjs.entry.js → kritzel-color_22.cjs.entry.js} +1046 -874
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/collection/classes/commands/add-object.command.js +6 -7
- package/dist/collection/classes/commands/add-object.command.js.map +1 -1
- package/dist/collection/classes/commands/add-selection-group.command.js +9 -9
- package/dist/collection/classes/commands/add-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/base.command.js +3 -3
- package/dist/collection/classes/commands/base.command.js.map +1 -1
- package/dist/collection/classes/commands/batch.command.js +2 -2
- package/dist/collection/classes/commands/batch.command.js.map +1 -1
- package/dist/collection/classes/commands/move-selection-group.command.js +15 -7
- package/dist/collection/classes/commands/move-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/remove-object.command.js +8 -9
- package/dist/collection/classes/commands/remove-object.command.js.map +1 -1
- package/dist/collection/classes/commands/remove-selection-group.command.js +7 -7
- package/dist/collection/classes/commands/remove-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/resize-selection-group.command.js +15 -7
- package/dist/collection/classes/commands/resize-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/rotate-selection-group.command.js +14 -12
- package/dist/collection/classes/commands/rotate-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/update-object.command.js +6 -5
- package/dist/collection/classes/commands/update-object.command.js.map +1 -1
- package/dist/collection/classes/commands/update-viewport.command.js +11 -11
- package/dist/collection/classes/commands/update-viewport.command.js.map +1 -1
- package/dist/collection/classes/{store.class.js → core/core.class.js} +116 -145
- package/dist/collection/classes/core/core.class.js.map +1 -0
- package/dist/collection/classes/{database.class.js → core/database.class.js} +28 -20
- package/dist/collection/classes/core/database.class.js.map +1 -0
- package/dist/collection/classes/core/history.class.js +88 -0
- package/dist/collection/classes/core/history.class.js.map +1 -0
- package/dist/collection/classes/{reviver.class.js → core/reviver.class.js} +27 -23
- package/dist/collection/classes/core/reviver.class.js.map +1 -0
- package/dist/collection/classes/core/store.class.js +51 -0
- package/dist/collection/classes/core/store.class.js.map +1 -0
- package/dist/collection/classes/core/viewport.class.js +165 -0
- package/dist/collection/classes/core/viewport.class.js.map +1 -0
- package/dist/collection/classes/core/workspace.class.js +42 -0
- package/dist/collection/classes/core/workspace.class.js.map +1 -0
- package/dist/collection/classes/handlers/base.handler.js +4 -4
- package/dist/collection/classes/handlers/base.handler.js.map +1 -1
- package/dist/collection/classes/handlers/context-menu.handler.js +29 -19
- package/dist/collection/classes/handlers/context-menu.handler.js.map +1 -1
- package/dist/collection/classes/handlers/hover.handler.js +5 -5
- package/dist/collection/classes/handlers/hover.handler.js.map +1 -1
- package/dist/collection/classes/handlers/key.handler.js +38 -44
- package/dist/collection/classes/handlers/key.handler.js.map +1 -1
- package/dist/collection/classes/handlers/move.handler.js +49 -44
- package/dist/collection/classes/handlers/move.handler.js.map +1 -1
- package/dist/collection/classes/handlers/resize.handler.js +55 -60
- package/dist/collection/classes/handlers/resize.handler.js.map +1 -1
- package/dist/collection/classes/handlers/rotation.handler.js +59 -69
- package/dist/collection/classes/handlers/rotation.handler.js.map +1 -1
- package/dist/collection/classes/handlers/selection.handler.js +73 -72
- package/dist/collection/classes/handlers/selection.handler.js.map +1 -1
- package/dist/collection/classes/objects/base-object.class.js +30 -17
- package/dist/collection/classes/objects/base-object.class.js.map +1 -1
- package/dist/collection/classes/objects/custom-element.class.js +3 -3
- package/dist/collection/classes/objects/custom-element.class.js.map +1 -1
- package/dist/collection/classes/objects/image.class.js +5 -5
- package/dist/collection/classes/objects/image.class.js.map +1 -1
- package/dist/collection/classes/objects/path.class.js +7 -7
- package/dist/collection/classes/objects/path.class.js.map +1 -1
- package/dist/collection/classes/objects/selection-box.class.js +4 -4
- package/dist/collection/classes/objects/selection-box.class.js.map +1 -1
- package/dist/collection/classes/objects/selection-group.class.js +19 -20
- package/dist/collection/classes/objects/selection-group.class.js.map +1 -1
- package/dist/collection/classes/objects/text.class.js +13 -13
- package/dist/collection/classes/objects/text.class.js.map +1 -1
- package/dist/collection/classes/registries/tool.registry.js +2 -2
- package/dist/collection/classes/registries/tool.registry.js.map +1 -1
- package/dist/collection/classes/tools/base-tool.class.js +11 -5
- package/dist/collection/classes/tools/base-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/brush-tool.class.js +57 -53
- package/dist/collection/classes/tools/brush-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/eraser-tool.class.js +26 -26
- package/dist/collection/classes/tools/eraser-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/image-tool.class.js +11 -11
- package/dist/collection/classes/tools/image-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/selection-tool.class.js +39 -37
- package/dist/collection/classes/tools/selection-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/text-tool.class.js +37 -37
- package/dist/collection/classes/tools/text-tool.class.js.map +1 -1
- package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +28 -28
- package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js.map +1 -1
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +7 -9
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +177 -7
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -1
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +237 -232
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -1
- package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +1 -1
- package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js.map +1 -1
- package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
- package/dist/collection/components/shared/kritzel-color/kritzel-color.js.map +1 -1
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +5 -0
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +3 -3
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js.map +1 -1
- package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +12 -12
- package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js.map +1 -1
- package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
- package/dist/collection/components/shared/kritzel-font/kritzel-font.js.map +1 -1
- package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +1 -1
- package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js.map +1 -1
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js.map +1 -1
- package/dist/collection/components/shared/kritzel-icon/kritzel-icon.css +1 -0
- package/dist/collection/components/shared/kritzel-icon/kritzel-icon.js.map +1 -1
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +5 -1
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +2 -2
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js.map +1 -1
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.css +18 -7
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +24 -9
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js.map +1 -1
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +4 -42
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js.map +1 -1
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +0 -4
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +52 -10
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js.map +1 -1
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +4 -0
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js.map +1 -1
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +79 -7
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js.map +1 -1
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +47 -15
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js.map +1 -1
- package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.css +4 -0
- package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js +6 -6
- package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js.map +1 -1
- package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js +2 -2
- package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js.map +1 -1
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +12 -1
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +23 -7
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js.map +1 -1
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +5 -0
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js.map +1 -1
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js +25 -15
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js.map +1 -1
- package/dist/collection/configs/default-engine-state.js +0 -1
- package/dist/collection/configs/default-engine-state.js.map +1 -1
- package/dist/collection/helpers/devices.helper.js +20 -0
- package/dist/collection/helpers/devices.helper.js.map +1 -1
- package/dist/collection/helpers/event.helper.js +1 -5
- package/dist/collection/helpers/event.helper.js.map +1 -1
- package/dist/collection/helpers/html.helper.js +29 -0
- package/dist/collection/helpers/html.helper.js.map +1 -1
- package/dist/collection/helpers/object.helper.js +0 -14
- package/dist/collection/helpers/object.helper.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/interfaces/clonable.interface.js +2 -0
- package/dist/collection/interfaces/clonable.interface.js.map +1 -0
- package/dist/collection/interfaces/engine-state.interface.js.map +1 -1
- package/dist/collection/interfaces/serializable.interface.js.map +1 -1
- package/dist/collection/types/deep-readonly.type.js +2 -0
- package/dist/collection/types/deep-readonly.type.js.map +1 -0
- package/dist/components/index.js +3 -3
- package/dist/components/kritzel-brush-style.js +59 -1
- package/dist/components/kritzel-brush-style.js.map +1 -1
- package/dist/components/kritzel-color-palette.js +1 -1
- package/dist/components/kritzel-color.js +1 -1
- package/dist/components/kritzel-context-menu.js +1 -1
- package/dist/components/kritzel-control-brush-config.js +1 -1
- package/dist/components/kritzel-control-text-config.js +1 -1
- package/dist/components/kritzel-controls.js +1 -1
- package/dist/components/kritzel-cursor-trail.js +1 -1
- package/dist/components/kritzel-dropdown.js +1 -1
- package/dist/components/kritzel-editor.js +80 -37
- package/dist/components/kritzel-editor.js.map +1 -1
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/kritzel-font-family.js +1 -1
- package/dist/components/kritzel-font-size.js +1 -1
- package/dist/components/kritzel-font.js +1 -1
- package/dist/components/kritzel-icon.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-stroke-size.js +1 -1
- package/dist/components/kritzel-tooltip.js +1 -1
- package/dist/components/kritzel-utility-panel.js +1 -1
- package/dist/components/kritzel-workspace-manager.js +1 -1
- package/dist/components/{p-CMJ3P0Vw.js → p-0iJh9Z6m.js} +5 -5
- package/dist/components/p-0iJh9Z6m.js.map +1 -0
- package/dist/components/p-B0kd2rUI.js +16 -0
- package/dist/components/p-B0kd2rUI.js.map +1 -0
- package/dist/components/{p-BB5R2k1o.js → p-B3LGnqFz.js} +41 -31
- package/dist/components/p-B3LGnqFz.js.map +1 -0
- package/dist/components/{p-BB0_-X42.js → p-B7kZ1_RH.js} +4 -4
- package/dist/components/{p-BB0_-X42.js.map → p-B7kZ1_RH.js.map} +1 -1
- package/dist/components/{p-t4NIsuX9.js → p-B7w19kIk.js} +15 -27
- package/dist/components/p-B7w19kIk.js.map +1 -0
- package/dist/components/{p-B1BLgWL1.js → p-BGdsAz54.js} +27 -18
- package/dist/components/p-BGdsAz54.js.map +1 -0
- package/dist/components/{p-CGmS8wnN.js → p-BKvOO7NT.js} +26 -16
- package/dist/components/p-BKvOO7NT.js.map +1 -0
- package/dist/components/{p-BhiYvSBc.js → p-BM9IjvnD.js} +3 -3
- package/dist/components/p-BM9IjvnD.js.map +1 -0
- package/dist/components/{p-BrBQUN0Q.js → p-BPsQrpzN.js} +40 -11
- package/dist/components/p-BPsQrpzN.js.map +1 -0
- package/dist/components/p-C6qB08BS.js +68 -0
- package/dist/components/p-C6qB08BS.js.map +1 -0
- package/dist/components/{p-BPz_H-EG.js → p-CM8KdFZI.js} +28 -16
- package/dist/components/p-CM8KdFZI.js.map +1 -0
- package/dist/components/{p-DHSEK3rF.js → p-CNTK3JOp.js} +174 -153
- package/dist/components/p-CNTK3JOp.js.map +1 -0
- package/dist/components/{p-DMrtdhBD.js → p-CsyM5q2M.js} +7 -7
- package/dist/components/p-CsyM5q2M.js.map +1 -0
- package/dist/components/{p-BuewJQNl.js → p-CwH-bwjb.js} +1187 -1141
- package/dist/components/p-CwH-bwjb.js.map +1 -0
- package/dist/components/{p-BgmKrd5Z.js → p-DCx3703u.js} +5 -5
- package/dist/components/p-DCx3703u.js.map +1 -0
- package/dist/components/{p-trncBp_6.js → p-DFO-6kuA.js} +15 -15
- package/dist/components/p-DFO-6kuA.js.map +1 -0
- package/dist/components/{p-BubxwvMA.js → p-Db3kxVe2.js} +24 -24
- package/dist/components/p-Db3kxVe2.js.map +1 -0
- package/dist/components/{p-BexTdWaX.js → p-Ddlbt3Bj.js} +4 -4
- package/dist/components/p-Ddlbt3Bj.js.map +1 -0
- package/dist/components/{p-CHxPWeZd.js → p-DjU7p3od.js} +11 -11
- package/dist/components/{p-CHxPWeZd.js.map → p-DjU7p3od.js.map} +1 -1
- package/dist/components/{p-BeljsQ-8.js → p-Dw4n-4zp.js} +32 -17
- package/dist/components/p-Dw4n-4zp.js.map +1 -0
- package/dist/components/{p-DxTu1aoJ.js → p-NP1Htol7.js} +7 -45
- package/dist/components/p-NP1Htol7.js.map +1 -0
- package/dist/components/p-YqK8ch2R.js +46 -0
- package/dist/components/p-YqK8ch2R.js.map +1 -0
- package/dist/components/p-l10It7Nm.js +30 -0
- package/dist/components/p-l10It7Nm.js.map +1 -0
- package/dist/components/{p-p1Jkec_q.js → p-sq9jgfX0.js} +3 -3
- package/dist/components/p-sq9jgfX0.js.map +1 -0
- package/dist/components/{p-yZ48g7-u.js → p-sreNwi0N.js} +4 -4
- package/dist/components/{p-yZ48g7-u.js.map → p-sreNwi0N.js.map} +1 -1
- package/dist/esm/{index-B-oSk-v8.js → index-DY3KqYWc.js} +756 -702
- package/dist/esm/index-DY3KqYWc.js.map +1 -0
- package/dist/esm/index-oCOlsFCN.js +6 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/kritzel-brush-style.entry.js +30 -0
- package/dist/esm/kritzel-brush-style.entry.js.map +1 -0
- package/dist/esm/{kritzel-brush-style_23.entry.js → kritzel-color_22.entry.js} +1048 -875
- 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/kritzel-brush-style.entry.esm.js.map +1 -0
- package/dist/stencil/p-25d1e040.entry.js +2 -0
- package/dist/stencil/p-25d1e040.entry.js.map +1 -0
- package/dist/stencil/p-DY3KqYWc.js +2 -0
- package/dist/stencil/p-DY3KqYWc.js.map +1 -0
- package/dist/stencil/p-dc534b01.entry.js +2 -0
- package/dist/stencil/p-dc534b01.entry.js.map +1 -0
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/classes/commands/add-object.command.d.ts +2 -2
- package/dist/types/classes/commands/add-selection-group.command.d.ts +2 -1
- package/dist/types/classes/commands/base.command.d.ts +3 -3
- package/dist/types/classes/commands/batch.command.d.ts +2 -1
- package/dist/types/classes/commands/move-selection-group.command.d.ts +2 -1
- package/dist/types/classes/commands/remove-object.command.d.ts +2 -2
- package/dist/types/classes/commands/remove-selection-group.command.d.ts +2 -2
- package/dist/types/classes/commands/resize-selection-group.command.d.ts +2 -1
- package/dist/types/classes/commands/rotate-selection-group.command.d.ts +2 -1
- package/dist/types/classes/commands/update-object.command.d.ts +2 -2
- package/dist/types/classes/commands/update-viewport.command.d.ts +2 -1
- package/dist/types/classes/{store.class.d.ts → core/core.class.d.ts} +9 -19
- package/dist/types/classes/{database.class.d.ts → core/database.class.d.ts} +3 -2
- package/dist/types/classes/{history.class.d.ts → core/history.class.d.ts} +5 -5
- package/dist/types/classes/core/reviver.class.d.ts +6 -0
- package/dist/types/classes/core/store.class.d.ts +17 -0
- package/dist/types/classes/{viewport.class.d.ts → core/viewport.class.d.ts} +3 -3
- package/dist/types/classes/core/workspace.class.d.ts +24 -0
- package/dist/types/classes/handlers/base.handler.d.ts +3 -3
- package/dist/types/classes/handlers/context-menu.handler.d.ts +2 -2
- package/dist/types/classes/handlers/hover.handler.d.ts +2 -2
- package/dist/types/classes/handlers/key.handler.d.ts +2 -2
- package/dist/types/classes/handlers/move.handler.d.ts +4 -2
- package/dist/types/classes/handlers/resize.handler.d.ts +3 -2
- package/dist/types/classes/handlers/rotation.handler.d.ts +6 -2
- package/dist/types/classes/handlers/selection.handler.d.ts +2 -2
- package/dist/types/classes/objects/base-object.class.d.ts +8 -5
- package/dist/types/classes/objects/custom-element.class.d.ts +2 -2
- package/dist/types/classes/objects/image.class.d.ts +2 -2
- package/dist/types/classes/objects/path.class.d.ts +2 -2
- package/dist/types/classes/objects/selection-box.class.d.ts +2 -2
- package/dist/types/classes/objects/selection-group.class.d.ts +2 -2
- package/dist/types/classes/objects/text.class.d.ts +2 -2
- package/dist/types/classes/registries/tool.registry.d.ts +2 -2
- package/dist/types/classes/tools/base-tool.class.d.ts +8 -4
- package/dist/types/classes/tools/brush-tool.class.d.ts +2 -2
- package/dist/types/classes/tools/eraser-tool.class.d.ts +2 -2
- package/dist/types/classes/tools/image-tool.class.d.ts +2 -2
- package/dist/types/classes/tools/selection-tool.class.d.ts +2 -2
- package/dist/types/classes/tools/text-tool.class.d.ts +2 -2
- package/dist/types/components/core/kritzel-cursor-trail/kritzel-cursor-trail.d.ts +5 -5
- package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +13 -3
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +21 -22
- package/dist/types/components/shared/kritzel-dropdown/kritzel-dropdown.d.ts +2 -2
- package/dist/types/components/shared/kritzel-menu-item/kritzel-menu-item.d.ts +2 -0
- package/dist/types/components/shared/kritzel-portal/kritzel-portal.d.ts +0 -1
- package/dist/types/components/shared/kritzel-split-button/kritzel-split-button.d.ts +4 -2
- package/dist/types/components/shared/kritzel-tooltip/kritzel-tooltip.d.ts +8 -2
- package/dist/types/components/ui/kritzel-context-menu/kritzel-context-menu.d.ts +5 -3
- package/dist/types/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.d.ts +1 -1
- package/dist/types/components/ui/kritzel-controls/kritzel-controls.d.ts +3 -1
- package/dist/types/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.d.ts +3 -2
- package/dist/types/components.d.ts +41 -12
- package/dist/types/helpers/devices.helper.d.ts +4 -0
- package/dist/types/helpers/event.helper.d.ts +1 -1
- package/dist/types/helpers/html.helper.d.ts +1 -0
- package/dist/types/helpers/object.helper.d.ts +0 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interfaces/clonable.interface.d.ts +3 -0
- package/dist/types/interfaces/engine-state.interface.d.ts +1 -2
- package/dist/types/interfaces/serializable.interface.d.ts +2 -1
- package/dist/types/types/deep-readonly.type.d.ts +7 -0
- package/package.json +3 -2
- package/dist/cjs/index-BwINBV6L.js.map +0 -1
- package/dist/collection/classes/database.class.js.map +0 -1
- package/dist/collection/classes/history.class.js +0 -88
- package/dist/collection/classes/history.class.js.map +0 -1
- package/dist/collection/classes/reviver.class.js.map +0 -1
- package/dist/collection/classes/store.class.js.map +0 -1
- package/dist/collection/classes/viewport.class.js +0 -153
- package/dist/collection/classes/viewport.class.js.map +0 -1
- package/dist/collection/classes/workspace.class.js +0 -15
- package/dist/collection/classes/workspace.class.js.map +0 -1
- package/dist/components/p-B1BLgWL1.js.map +0 -1
- package/dist/components/p-BB5R2k1o.js.map +0 -1
- package/dist/components/p-BPz_H-EG.js.map +0 -1
- package/dist/components/p-B_lb1FGi.js +0 -19
- package/dist/components/p-B_lb1FGi.js.map +0 -1
- package/dist/components/p-BeljsQ-8.js.map +0 -1
- package/dist/components/p-BexTdWaX.js.map +0 -1
- package/dist/components/p-BgmKrd5Z.js.map +0 -1
- package/dist/components/p-BhiYvSBc.js.map +0 -1
- package/dist/components/p-BrBQUN0Q.js.map +0 -1
- package/dist/components/p-BubxwvMA.js.map +0 -1
- package/dist/components/p-BuewJQNl.js.map +0 -1
- package/dist/components/p-CGmS8wnN.js.map +0 -1
- package/dist/components/p-CJKA5zIE.js +0 -10
- package/dist/components/p-CJKA5zIE.js.map +0 -1
- package/dist/components/p-CMJ3P0Vw.js.map +0 -1
- package/dist/components/p-DHSEK3rF.js.map +0 -1
- package/dist/components/p-DMrtdhBD.js.map +0 -1
- package/dist/components/p-DnUKql15.js +0 -30
- package/dist/components/p-DnUKql15.js.map +0 -1
- package/dist/components/p-DxTu1aoJ.js.map +0 -1
- package/dist/components/p-p1Jkec_q.js.map +0 -1
- package/dist/components/p-rIRXQdie.js +0 -64
- package/dist/components/p-rIRXQdie.js.map +0 -1
- package/dist/components/p-t4NIsuX9.js.map +0 -1
- package/dist/components/p-trncBp_6.js.map +0 -1
- package/dist/esm/index-B-oSk-v8.js.map +0 -1
- package/dist/stencil/p-3bb80782.entry.js +0 -2
- package/dist/stencil/p-3bb80782.entry.js.map +0 -1
- package/dist/stencil/p-B-oSk-v8.js +0 -2
- package/dist/stencil/p-B-oSk-v8.js.map +0 -1
- package/dist/types/classes/reviver.class.d.ts +0 -6
- package/dist/types/classes/workspace.class.d.ts +0 -16
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport.class.js","sourceRoot":"","sources":["../../../src/classes/core/viewport.class.ts"],"names":[],"mappings":"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","sourcesContent":["import { KritzelMouseButton } from '../../enums/event-button.enum';\r\nimport { KritzelEventHelper } from '../../helpers/event.helper';\r\nimport { KritzelCore } from './core.class';\r\n\r\nexport class KritzelViewport {\r\n private readonly _core: KritzelCore;\r\n\r\n initialTouchDistance: number = 0;\r\n startX: number = 0;\r\n startY: number = 0;\r\n\r\n constructor(core: KritzelCore, host: HTMLElement) {\r\n this._core = core;\r\n this._core.store.setState('host', host);\r\n this._core.store.setState('viewportWidth', host.clientWidth);\r\n this._core.store.setState('viewportHeight', host.clientHeight);\r\n this._core.store.setState('startX', 0);\r\n this._core.store.setState('startY', 0);\r\n this._core.store.setState('translateX', 0);\r\n this._core.store.setState('translateY', 0);\r\n }\r\n\r\n handleResize(): void {\r\n this._core.store.setState('viewportWidth', this._core.store.state.host.clientWidth);\r\n this._core.store.setState('viewportHeight', this._core.store.state.host.clientHeight);\r\n this._core.store.setState('hasViewportChanged', true);\r\n this._core.rerender();\r\n }\r\n\r\n handlePointerDown(event: PointerEvent): void {\r\n if (event.pointerType === 'mouse') {\r\n const adjustedClientX = event.clientX - this._core.store.offsetX;\r\n const adjustedClientY = event.clientY - this._core.store.offsetY;\r\n\r\n if (event.button === KritzelMouseButton.Right) {\r\n this._core.store.setState('isPanning', true);\r\n this._core.store.setState('startX', adjustedClientX);\r\n this._core.store.setState('startY', adjustedClientY);\r\n }\r\n }\r\n\r\n if (event.pointerType === 'touch') {\r\n const activePointers = Array.from(this._core.store.state.pointers.values());\r\n\r\n if (activePointers.length === 2) {\r\n this._core.store.setState('currentPath', null);\r\n this._core.store.setState('isScaling', true);\r\n\r\n const firstTouchX = activePointers[0].clientX - this._core.store.offsetX;\r\n const firstTouchY = activePointers[0].clientY - this._core.store.offsetY;\r\n\r\n const secondTouchX = activePointers[1].clientX - this._core.store.offsetX;\r\n const secondTouchY = activePointers[1].clientY - this._core.store.offsetY;\r\n\r\n this.initialTouchDistance = Math.sqrt(Math.pow(firstTouchX - secondTouchX, 2) + Math.pow(firstTouchY - secondTouchY, 2));\r\n\r\n this.startX = (firstTouchX + secondTouchX) / 2;\r\n this.startY = (firstTouchY + secondTouchY) / 2;\r\n this._core.rerender();\r\n }\r\n }\r\n }\r\n\r\n handlePointerMove(event: PointerEvent): void {\r\n if (event.pointerType === 'mouse') {\r\n const hostRect = this._core.store.state.host.getBoundingClientRect();\r\n const xRelativeToHost = event.clientX - hostRect.left;\r\n const yRelativeToHost = event.clientY - hostRect.top;\r\n\r\n this._core.store.setState('pointerX', (xRelativeToHost - this._core.store.state.translateX) / this._core.store.state.scale);\r\n this._core.store.setState('pointerY', (yRelativeToHost - this._core.store.state.translateY) / this._core.store.state.scale);\r\n\r\n if (this._core.store.state.isPanning) {\r\n const dx = xRelativeToHost - this._core.store.state.startX;\r\n const dy = yRelativeToHost - this._core.store.state.startY;\r\n\r\n this._core.store.setState('translateX', this._core.store.state.translateX + dx);\r\n this._core.store.setState('translateY', this._core.store.state.translateY + dy);\r\n this._core.store.setState('startX', xRelativeToHost);\r\n this._core.store.setState('startY', yRelativeToHost);\r\n this._core.store.setState('hasViewportChanged', true);\r\n this._core.store.setState('skipContextMenu', true);\r\n\r\n this._core.rerender();\r\n this._core.updateWorkspaceViewport(this._core.store.state.translateX, this._core.store.state.translateY, this._core.store.state.scale);\r\n }\r\n }\r\n\r\n if (event.pointerType === 'touch') {\r\n const hostRect = this._core.store.state.host.getBoundingClientRect();\r\n const xRelativeToHost = event.clientX - hostRect.left;\r\n const yRelativeToHost = event.clientY - hostRect.top;\r\n\r\n this._core.store.setState('pointerX', (xRelativeToHost - this._core.store.state.translateX) / this._core.store.state.scale);\r\n this._core.store.setState('pointerY', (yRelativeToHost - this._core.store.state.translateY) / this._core.store.state.scale);\r\n\r\n const activePointers = Array.from(this._core.store.state.pointers.values());\r\n\r\n if (activePointers.length === 2) {\r\n const firstTouchX = activePointers[0].clientX - this._core.store.offsetX;\r\n const firstTouchY = activePointers[0].clientY - this._core.store.offsetY;\r\n\r\n const secondTouchX = activePointers[1].clientX - this._core.store.offsetX;\r\n const secondTouchY = activePointers[1].clientY - this._core.store.offsetY;\r\n\r\n const currentTouchDistance = Math.sqrt(Math.pow(firstTouchX - secondTouchX, 2) + Math.pow(firstTouchY - secondTouchY, 2));\r\n\r\n const midpointX = (firstTouchX + secondTouchX) / 2;\r\n const midpointY = (firstTouchY + secondTouchY) / 2;\r\n\r\n const scaleRatio = currentTouchDistance / this.initialTouchDistance!;\r\n const newScale = this._core.store.state.scale * scaleRatio;\r\n\r\n if (newScale > this._core.store.state.scaleMax || newScale < this._core.store.state.scaleMin) {\r\n this._core.store.setState('translateX', this._core.store.state.translateX + midpointX - this.startX);\r\n this._core.store.setState('translateY', this._core.store.state.translateY + midpointY - this.startY);\r\n } else {\r\n const translateXAdjustment = (midpointX - this._core.store.state.translateX) * (scaleRatio - 1);\r\n const translateYAdjustment = (midpointY - this._core.store.state.translateY) * (scaleRatio - 1);\r\n\r\n this._core.store.setState('translateX', this._core.store.state.translateX + midpointX - this.startX - translateXAdjustment);\r\n this._core.store.setState('translateY', this._core.store.state.translateY + midpointY - this.startY - translateYAdjustment);\r\n this._core.store.setState('scale', newScale);\r\n\r\n this.initialTouchDistance = currentTouchDistance;\r\n }\r\n\r\n this.startX = midpointX;\r\n this.startY = midpointY;\r\n\r\n this._core.store.setState('hasViewportChanged', true);\r\n\r\n this._core.rerender();\r\n this._core.updateWorkspaceViewport(this._core.store.state.translateX, this._core.store.state.translateY, this._core.store.state.scale);\r\n }\r\n }\r\n }\r\n\r\n handlePointerUp(event: PointerEvent): void {\r\n if (event.pointerType === 'mouse') {\r\n if (this._core.store.state.isPanning) {\r\n this._core.store.setState('isPanning', false);\r\n this._core.rerender();\r\n }\r\n }\r\n\r\n if (event.pointerType === 'touch') {\r\n this._core.store.setState('isScaling', false);\r\n this._core.rerender();\r\n }\r\n }\r\n\r\n handleWheel(event: WheelEvent): void {\r\n event.preventDefault();\r\n\r\n if (event.ctrlKey === true && KritzelEventHelper.isMainMouseWheel(event)) {\r\n this.handleZoom(event);\r\n }\r\n\r\n if (!event.ctrlKey) {\r\n this.handlePan(event);\r\n }\r\n }\r\n\r\n private handleZoom(event: WheelEvent): void {\r\n this._core.store.setState('isScaling', true);\r\n const rect = this._core.store.state.host.getBoundingClientRect();\r\n const xRelativeToHost = event.clientX - rect.left;\r\n const yRelativeToHost = event.clientY - rect.top;\r\n\r\n this._core.store.setState('pointerX', (xRelativeToHost - this._core.store.state.translateX) / this._core.store.state.scale);\r\n this._core.store.setState('pointerY', (yRelativeToHost - this._core.store.state.translateY) / this._core.store.state.scale);\r\n\r\n const delta = event.deltaY > 0 ? -this._core.store.state.scaleStep * this._core.store.state.scale : this._core.store.state.scaleStep * this._core.store.state.scale;\r\n const newScale = Math.min(this._core.store.state.scaleMax, Math.max(this._core.store.state.scaleMin, this._core.store.state.scale + delta));\r\n\r\n const scaleRatio = newScale / this._core.store.state.scale;\r\n const translateXAdjustment = (xRelativeToHost - this._core.store.state.translateX) * (scaleRatio - 1);\r\n const translateYAdjustment = (yRelativeToHost - this._core.store.state.translateY) * (scaleRatio - 1);\r\n\r\n this._core.store.setState('scale', newScale);\r\n\r\n this._core.store.setState('translateX', this._core.store.state.translateX - translateXAdjustment);\r\n this._core.store.setState('translateY', this._core.store.state.translateY - translateYAdjustment);\r\n\r\n this._core.store.setState('hasViewportChanged', true);\r\n\r\n this._core.rerender();\r\n this._core.updateWorkspaceViewport(this._core.store.state.translateX, this._core.store.state.translateY, this._core.store.state.scale);\r\n\r\n setTimeout(() => {\r\n this._core.store.setState('isScaling', false);\r\n this._core.rerender();\r\n }, 300);\r\n }\r\n\r\n private handlePan(event: WheelEvent): void {\r\n this._core.store.setState('isPanning', true);\r\n\r\n const panSpeed = 0.8;\r\n\r\n this._core.store.setState('translateX', this._core.store.state.translateX - event.deltaX * panSpeed);\r\n this._core.store.setState('translateY', this._core.store.state.translateY - event.deltaY * panSpeed);\r\n\r\n this._core.store.setState('hasViewportChanged', true);\r\n\r\n this._core.rerender();\r\n this._core.updateWorkspaceViewport(this._core.store.state.translateX, this._core.store.state.translateY, this._core.store.state.scale);\r\n\r\n setTimeout(() => {\r\n this._core.store.setState('isPanning', false);\r\n this._core.rerender();\r\n }, 300);\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export class KritzelWorkspace {
|
|
2
|
+
__class__ = 'KritzelWorkspace';
|
|
3
|
+
id;
|
|
4
|
+
name;
|
|
5
|
+
createdAt;
|
|
6
|
+
updatedAt;
|
|
7
|
+
viewport;
|
|
8
|
+
_core;
|
|
9
|
+
constructor(id, name, viewport = { translateX: 0, translateY: 0, scale: 1 }) {
|
|
10
|
+
this.id = id;
|
|
11
|
+
this.name = name;
|
|
12
|
+
this.createdAt = new Date();
|
|
13
|
+
this.updatedAt = new Date();
|
|
14
|
+
this.viewport = viewport;
|
|
15
|
+
}
|
|
16
|
+
static create(core, obj) {
|
|
17
|
+
const workspace = new KritzelWorkspace(obj.id, obj.name, obj.viewport);
|
|
18
|
+
workspace._core = core;
|
|
19
|
+
Object.assign(workspace, obj);
|
|
20
|
+
return workspace;
|
|
21
|
+
}
|
|
22
|
+
addObject(obj) {
|
|
23
|
+
this._core.engine.addObject(obj);
|
|
24
|
+
}
|
|
25
|
+
serialize() {
|
|
26
|
+
return {
|
|
27
|
+
__class__: this.__class__,
|
|
28
|
+
id: this.id,
|
|
29
|
+
name: this.name,
|
|
30
|
+
createdAt: this.createdAt,
|
|
31
|
+
updatedAt: this.updatedAt,
|
|
32
|
+
viewport: this.viewport,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
deserialize(object) {
|
|
36
|
+
Object.assign(this, object);
|
|
37
|
+
this.createdAt = new Date(object.createdAt);
|
|
38
|
+
this.updatedAt = new Date(object.updatedAt);
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=workspace.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.class.js","sourceRoot":"","sources":["../../../src/classes/core/workspace.class.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,gBAAgB;IAC3B,SAAS,GAAG,kBAAkB,CAAC;IAE/B,EAAE,CAAS;IACX,IAAI,CAAS;IACb,SAAS,CAAO;IAChB,SAAS,CAAO;IAChB,QAAQ,CAIN;IAEF,KAAK,CAAc;IAEnB,YAAY,EAAU,EAAE,IAAY,EAAG,WAAsE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACrJ,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAiB,EAAE,GAAG;QAClC,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,GAAQ;QAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,SAAS;QACP,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,MAAW;QACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import { KritzelCore } from \"../..\";\r\nimport { KritzelSerializable } from \"../../interfaces/serializable.interface\";\r\n\r\nexport class KritzelWorkspace implements KritzelSerializable{\r\n __class__ = 'KritzelWorkspace';\r\n\r\n id: string;\r\n name: string;\r\n createdAt: Date;\r\n updatedAt: Date;\r\n viewport: {\r\n translateX: number;\r\n translateY: number;\r\n scale: number;\r\n };\r\n\r\n _core: KritzelCore;\r\n\r\n constructor(id: string, name: string, viewport: { translateX: number; translateY: number; scale: number } = { translateX: 0, translateY: 0, scale: 1 }) {\r\n this.id = id;\r\n this.name = name;\r\n this.createdAt = new Date();\r\n this.updatedAt = new Date();\r\n this.viewport = viewport;\r\n }\r\n\r\n static create(core: KritzelCore, obj): KritzelWorkspace {\r\n const workspace = new KritzelWorkspace(obj.id, obj.name, obj.viewport);\r\n workspace._core = core;\r\n Object.assign(workspace, obj);\r\n return workspace;\r\n }\r\n\r\n addObject(obj: any): void {\r\n this._core.engine.addObject(obj);\r\n }\r\n\r\n serialize(): any {\r\n return {\r\n __class__: this.__class__,\r\n id: this.id,\r\n name: this.name,\r\n createdAt: this.createdAt,\r\n updatedAt: this.updatedAt,\r\n viewport: this.viewport,\r\n };\r\n }\r\n\r\n deserialize(object: any): KritzelSerializable {\r\n Object.assign(this, object);\r\n this.createdAt = new Date(object.createdAt);\r\n this.updatedAt = new Date(object.updatedAt);\r\n return this;\r\n }\r\n}\r\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export class KritzelBaseHandler {
|
|
2
|
-
|
|
3
|
-
constructor(
|
|
4
|
-
this.
|
|
5
|
-
void this.
|
|
2
|
+
_core;
|
|
3
|
+
constructor(core) {
|
|
4
|
+
this._core = core;
|
|
5
|
+
void this._core; // Avoid unused variable warning
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=base.handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.handler.js","sourceRoot":"","sources":["../../../src/classes/handlers/base.handler.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAkB;IACV,
|
|
1
|
+
{"version":3,"file":"base.handler.js","sourceRoot":"","sources":["../../../src/classes/handlers/base.handler.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAkB;IACV,KAAK,CAAc;IAEtC,YAAY,IAAiB;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,gCAAgC;IACnD,CAAC;CACF","sourcesContent":["import { KritzelCore } from '../core/core.class';\r\n\r\nexport class KritzelBaseHandler {\r\n protected readonly _core: KritzelCore;\r\n\r\n constructor(core: KritzelCore) {\r\n this._core = core;\r\n void this._core; // Avoid unused variable warning\r\n }\r\n}"]}
|
|
@@ -1,31 +1,41 @@
|
|
|
1
1
|
import { AddSelectionGroupCommand } from "../commands/add-selection-group.command";
|
|
2
2
|
import { KritzelSelectionGroup } from "../objects/selection-group.class";
|
|
3
3
|
import { KritzelBaseHandler } from "./base.handler";
|
|
4
|
+
import { KritzelSelectionTool } from "../tools/selection-tool.class";
|
|
5
|
+
import { RemoveSelectionGroupCommand } from "../commands/remove-selection-group.command";
|
|
6
|
+
import { BatchCommand } from "../commands/batch.command";
|
|
4
7
|
export class KritzelContextMenuHandler extends KritzelBaseHandler {
|
|
5
8
|
globalContextMenuItems = [];
|
|
6
9
|
objectContextMenuItems = [];
|
|
7
|
-
constructor(
|
|
8
|
-
super(
|
|
10
|
+
constructor(core, globalContextMenuItems, objectContextMenuItems) {
|
|
11
|
+
super(core);
|
|
9
12
|
this.globalContextMenuItems = globalContextMenuItems;
|
|
10
13
|
this.objectContextMenuItems = objectContextMenuItems;
|
|
11
14
|
}
|
|
12
15
|
handleContextMenu(event) {
|
|
13
|
-
if (this.
|
|
14
|
-
this._store.state.skipContextMenu = false;
|
|
16
|
+
if (!(this._core.store.state.activeTool instanceof KritzelSelectionTool)) {
|
|
15
17
|
return;
|
|
16
18
|
}
|
|
17
|
-
|
|
19
|
+
if (this._core.store.state.skipContextMenu) {
|
|
20
|
+
this._core.store.setState('skipContextMenu', false);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const selectedObject = this._core.getObjectFromPointerEvent(event, '.object');
|
|
18
24
|
if (selectedObject && !(selectedObject instanceof KritzelSelectionGroup)) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
this.
|
|
24
|
-
|
|
25
|
+
const selectionGroup = KritzelSelectionGroup.create(this._core);
|
|
26
|
+
selectionGroup.addOrRemove(selectedObject);
|
|
27
|
+
selectionGroup.isSelected = true;
|
|
28
|
+
selectionGroup.rotation = selectedObject.rotation;
|
|
29
|
+
this._core.store.setState('isSelecting', false);
|
|
30
|
+
const batch = new BatchCommand(this._core, this, [
|
|
31
|
+
new RemoveSelectionGroupCommand(this._core, this._core.store.state.selectionGroup),
|
|
32
|
+
new AddSelectionGroupCommand(this._core, this, selectionGroup),
|
|
33
|
+
]);
|
|
34
|
+
this._core.history.executeCommand(batch);
|
|
25
35
|
}
|
|
26
|
-
this.
|
|
27
|
-
let x = event.clientX - this.
|
|
28
|
-
let y = event.clientY - this.
|
|
36
|
+
this._core.store.setState('contextMenuItems', this._core.store.state.selectionGroup ? this.objectContextMenuItems : this.globalContextMenuItems);
|
|
37
|
+
let x = event.clientX - this._core.store.offsetX;
|
|
38
|
+
let y = event.clientY - this._core.store.offsetY;
|
|
29
39
|
const menuWidthEstimate = 150;
|
|
30
40
|
const menuHeightEstimate = 200;
|
|
31
41
|
const margin = 10;
|
|
@@ -37,11 +47,11 @@ export class KritzelContextMenuHandler extends KritzelBaseHandler {
|
|
|
37
47
|
}
|
|
38
48
|
x = Math.max(margin, x);
|
|
39
49
|
y = Math.max(margin, y);
|
|
40
|
-
this.
|
|
41
|
-
this.
|
|
42
|
-
this.
|
|
43
|
-
this.
|
|
44
|
-
this.
|
|
50
|
+
this._core.store.setState('contextMenuX', x);
|
|
51
|
+
this._core.store.setState('contextMenuY', y);
|
|
52
|
+
this._core.store.setState('isContextMenuVisible', true);
|
|
53
|
+
this._core.store.setState('isEnabled', false);
|
|
54
|
+
this._core.rerender();
|
|
45
55
|
}
|
|
46
56
|
}
|
|
47
57
|
//# sourceMappingURL=context-menu.handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-menu.handler.js","sourceRoot":"","sources":["../../../src/classes/handlers/context-menu.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"context-menu.handler.js","sourceRoot":"","sources":["../../../src/classes/handlers/context-menu.handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { AddSelectionGroupCommand } from '../commands/add-selection-group.command';\r\nimport { KritzelSelectionGroup } from '../objects/selection-group.class';\r\nimport { KritzelBaseHandler } from './base.handler';\r\nimport { KritzelCore } from '../core/core.class';\r\nimport { KritzelSelectionTool } from '../tools/selection-tool.class';\r\nimport { RemoveSelectionGroupCommand } from '../commands/remove-selection-group.command';\r\nimport { BatchCommand } from '../commands/batch.command';\r\n\r\nexport class KritzelContextMenuHandler extends KritzelBaseHandler {\r\n globalContextMenuItems = [];\r\n\r\n objectContextMenuItems = [];\r\n\r\n constructor(core: KritzelCore, globalContextMenuItems: any[], objectContextMenuItems: any[]) {\r\n super(core);\r\n this.globalContextMenuItems = globalContextMenuItems;\r\n this.objectContextMenuItems = objectContextMenuItems;\r\n }\r\n\r\n handleContextMenu(event: PointerEvent): void {\r\n if (!(this._core.store.state.activeTool instanceof KritzelSelectionTool)) {\r\n return;\r\n }\r\n\r\n if (this._core.store.state.skipContextMenu) {\r\n this._core.store.setState('skipContextMenu', false);\r\n return;\r\n }\r\n\r\n const selectedObject = this._core.getObjectFromPointerEvent(event, '.object');\r\n\r\n if (selectedObject && !(selectedObject instanceof KritzelSelectionGroup)) {\r\n const selectionGroup = KritzelSelectionGroup.create(this._core);\r\n selectionGroup.addOrRemove(selectedObject);\r\n selectionGroup.isSelected = true;\r\n selectionGroup.rotation = selectedObject.rotation;\r\n\r\n this._core.store.setState('isSelecting', false);\r\n\r\n const batch = new BatchCommand(this._core, this, [\r\n new RemoveSelectionGroupCommand(this._core, this._core.store.state.selectionGroup),\r\n new AddSelectionGroupCommand(this._core, this, selectionGroup),\r\n ]);\r\n\r\n this._core.history.executeCommand(batch);\r\n }\r\n\r\n this._core.store.setState('contextMenuItems', this._core.store.state.selectionGroup ? this.objectContextMenuItems : this.globalContextMenuItems);\r\n\r\n let x: number = event.clientX - this._core.store.offsetX;\r\n let y: number = event.clientY - this._core.store.offsetY;\r\n\r\n const menuWidthEstimate = 150;\r\n const menuHeightEstimate = 200;\r\n const margin = 10;\r\n\r\n if (x + menuWidthEstimate > window.innerWidth - margin) {\r\n x = window.innerWidth - menuWidthEstimate - margin;\r\n }\r\n\r\n if (y + menuHeightEstimate > window.innerHeight - margin) {\r\n y = window.innerHeight - menuHeightEstimate - margin;\r\n }\r\n\r\n x = Math.max(margin, x);\r\n y = Math.max(margin, y);\r\n\r\n this._core.store.setState('contextMenuX', x);\r\n this._core.store.setState('contextMenuY', y);\r\n this._core.store.setState('isContextMenuVisible', true);\r\n\r\n this._core.store.setState('isEnabled', false);\r\n\r\n this._core.rerender();\r\n }\r\n}\r\n"]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { KritzelBaseHandler } from "./base.handler";
|
|
2
2
|
export class KritzelHoverHandler extends KritzelBaseHandler {
|
|
3
|
-
constructor(
|
|
4
|
-
super(
|
|
3
|
+
constructor(core) {
|
|
4
|
+
super(core);
|
|
5
5
|
}
|
|
6
6
|
handlePointerMove(event) {
|
|
7
7
|
if (event.pointerType === 'mouse') {
|
|
8
|
-
const hoveredObject = this.
|
|
8
|
+
const hoveredObject = this._core.getObjectFromPointerEvent(event, '.object');
|
|
9
9
|
if (!hoveredObject)
|
|
10
10
|
return;
|
|
11
|
-
const x = this.
|
|
12
|
-
const y = this.
|
|
11
|
+
const x = this._core.store.state.pointerX;
|
|
12
|
+
const y = this._core.store.state.pointerY;
|
|
13
13
|
hoveredObject.isHovered = hoveredObject.hitTest(x, y);
|
|
14
14
|
}
|
|
15
15
|
if (event.pointerType === 'touch') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover.handler.js","sourceRoot":"","sources":["../../../src/classes/handlers/hover.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;IAEzD,YAAY,
|
|
1
|
+
{"version":3,"file":"hover.handler.js","sourceRoot":"","sources":["../../../src/classes/handlers/hover.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;IAEzD,YAAY,IAAiB;QAC3B,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,KAAmB;QACnC,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAE7E,IAAI,CAAC,aAAa;gBAAE,OAAO;YAE3B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YAE1C,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;CACF","sourcesContent":["import { KritzelCore } from '../core/core.class';\r\nimport { KritzelBaseHandler } from './base.handler';\r\n\r\nexport class KritzelHoverHandler extends KritzelBaseHandler {\r\n\r\n constructor(core: KritzelCore) {\r\n super(core);\r\n }\r\n\r\n handlePointerMove(event: PointerEvent) {\r\n if (event.pointerType === 'mouse') {\r\n const hoveredObject = this._core.getObjectFromPointerEvent(event, '.object');\r\n\r\n if (!hoveredObject) return;\r\n\r\n const x = this._core.store.state.pointerX;\r\n const y = this._core.store.state.pointerY;\r\n\r\n hoveredObject.isHovered = hoveredObject.hitTest(x, y);\r\n }\r\n\r\n if (event.pointerType === 'touch') {\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -1,80 +1,74 @@
|
|
|
1
1
|
import { KritzelToolRegistry } from "../registries/tool.registry";
|
|
2
2
|
import { KritzelBaseHandler } from "./base.handler";
|
|
3
3
|
export class KritzelKeyHandler extends KritzelBaseHandler {
|
|
4
|
-
constructor(
|
|
5
|
-
super(
|
|
4
|
+
constructor(core) {
|
|
5
|
+
super(core);
|
|
6
6
|
}
|
|
7
7
|
handleKeyDown(event) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
this._store.state.isCtrlKeyPressed = event.ctrlKey;
|
|
12
|
-
if (this._store.state.isCtrlKeyPressed) {
|
|
8
|
+
this._core.store.setState('isCtrlKeyPressed', event.ctrlKey);
|
|
9
|
+
if (this._core.store.state.isCtrlKeyPressed) {
|
|
13
10
|
event.preventDefault();
|
|
14
11
|
}
|
|
15
|
-
if (event.key === 'Escape' && this.
|
|
16
|
-
this.
|
|
12
|
+
if (event.key === 'Escape' && this._core.store.state.selectionGroup) {
|
|
13
|
+
this._core.clearSelection();
|
|
17
14
|
}
|
|
18
|
-
if (event.key === 'Delete' && this.
|
|
19
|
-
this.
|
|
15
|
+
if (event.key === 'Delete' && this._core.store.state.selectionGroup) {
|
|
16
|
+
this._core.delete();
|
|
20
17
|
}
|
|
21
18
|
if (event.key === 'z' && event.ctrlKey) {
|
|
22
|
-
this.
|
|
19
|
+
this._core.history.undo();
|
|
23
20
|
}
|
|
24
21
|
if (event.key === 'y' && event.ctrlKey) {
|
|
25
|
-
this.
|
|
22
|
+
this._core.history.redo();
|
|
26
23
|
}
|
|
27
24
|
if (event.key === 's' && event.ctrlKey) {
|
|
28
|
-
this.
|
|
29
|
-
this.
|
|
25
|
+
this._core.store.setState('activeTool', KritzelToolRegistry.getTool('selection'));
|
|
26
|
+
this._core.deselectAllObjects();
|
|
30
27
|
}
|
|
31
28
|
if (event.key === 'b' && event.ctrlKey) {
|
|
32
|
-
this.
|
|
33
|
-
this.
|
|
29
|
+
this._core.store.setState('activeTool', KritzelToolRegistry.getTool('brush'));
|
|
30
|
+
this._core.deselectAllObjects();
|
|
34
31
|
}
|
|
35
32
|
if (event.key === 'e' && event.ctrlKey) {
|
|
36
|
-
this.
|
|
37
|
-
this.
|
|
33
|
+
this._core.store.setState('activeTool', KritzelToolRegistry.getTool('eraser'));
|
|
34
|
+
this._core.deselectAllObjects();
|
|
38
35
|
}
|
|
39
36
|
if (event.key === 'i' && event.ctrlKey) {
|
|
40
|
-
this.
|
|
41
|
-
this.
|
|
37
|
+
this._core.store.setState('activeTool', KritzelToolRegistry.getTool('image'));
|
|
38
|
+
this._core.deselectAllObjects();
|
|
42
39
|
}
|
|
43
40
|
if (event.key === 'x' && event.ctrlKey) {
|
|
44
|
-
this.
|
|
45
|
-
this.
|
|
41
|
+
this._core.store.setState('activeTool', KritzelToolRegistry.getTool('text'));
|
|
42
|
+
this._core.deselectAllObjects();
|
|
46
43
|
}
|
|
47
|
-
if (event.key === 'c' && event.ctrlKey && this.
|
|
48
|
-
this.
|
|
49
|
-
this.
|
|
44
|
+
if (event.key === 'c' && event.ctrlKey && this._core.store.state.selectionGroup) {
|
|
45
|
+
this._core.copy();
|
|
46
|
+
this._core.rerender();
|
|
50
47
|
}
|
|
51
|
-
if (event.key === 'v' && event.ctrlKey && this.
|
|
52
|
-
this.
|
|
48
|
+
if (event.key === 'v' && event.ctrlKey && this._core.store.state.copiedObjects) {
|
|
49
|
+
this._core.paste();
|
|
53
50
|
}
|
|
54
|
-
if (event.key === '+' && event.ctrlKey && this.
|
|
55
|
-
this.
|
|
51
|
+
if (event.key === '+' && event.ctrlKey && this._core.store.state.selectionGroup) {
|
|
52
|
+
this._core.bringForward();
|
|
56
53
|
}
|
|
57
|
-
if (event.key === '-' && event.ctrlKey && this.
|
|
58
|
-
this.
|
|
54
|
+
if (event.key === '-' && event.ctrlKey && this._core.store.state.selectionGroup) {
|
|
55
|
+
this._core.sendBackward();
|
|
59
56
|
}
|
|
60
|
-
if (event.key === '*' && event.shiftKey && this.
|
|
61
|
-
this.
|
|
57
|
+
if (event.key === '*' && event.shiftKey && this._core.store.state.selectionGroup) {
|
|
58
|
+
this._core.bringToFront();
|
|
62
59
|
}
|
|
63
|
-
if (event.key === '_' && event.shiftKey && this.
|
|
64
|
-
this.
|
|
60
|
+
if (event.key === '_' && event.shiftKey && this._core.store.state.selectionGroup) {
|
|
61
|
+
this._core.sendToBack();
|
|
65
62
|
}
|
|
66
|
-
if (event.key === 'a' && event.ctrlKey && this.
|
|
67
|
-
this.
|
|
63
|
+
if (event.key === 'a' && event.ctrlKey && this._core.store.state.activeText) {
|
|
64
|
+
this._core.store.state.activeText.selectAll();
|
|
68
65
|
}
|
|
69
|
-
if (event.key === 'v' && event.ctrlKey && this.
|
|
70
|
-
this.
|
|
66
|
+
if (event.key === 'v' && event.ctrlKey && this._core.store.state.activeText) {
|
|
67
|
+
this._core.store.state.activeText.insertFromClipboard();
|
|
71
68
|
}
|
|
72
69
|
}
|
|
73
70
|
handleKeyUp(event) {
|
|
74
|
-
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
this._store.state.isCtrlKeyPressed = event.ctrlKey;
|
|
71
|
+
this._core.store.setState('isCtrlKeyPressed', event.ctrlKey);
|
|
78
72
|
}
|
|
79
73
|
}
|
|
80
74
|
//# sourceMappingURL=key.handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.handler.js","sourceRoot":"","sources":["../../../src/classes/handlers/key.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"key.handler.js","sourceRoot":"","sources":["../../../src/classes/handlers/key.handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { KritzelToolRegistry } from '../registries/tool.registry';\r\nimport { KritzelBaseHandler } from './base.handler';\r\nimport { KritzelCore } from '../core/core.class';\r\n\r\nexport class KritzelKeyHandler extends KritzelBaseHandler {\r\n constructor(core: KritzelCore) {\r\n super(core);\r\n }\r\n\r\n handleKeyDown(event: KeyboardEvent): void {\r\n\r\n this._core.store.setState('isCtrlKeyPressed', event.ctrlKey);\r\n\r\n if(this._core.store.state.isCtrlKeyPressed) {\r\n event.preventDefault();\r\n }\r\n\r\n if (event.key === 'Escape' && this._core.store.state.selectionGroup) {\r\n this._core.clearSelection();\r\n }\r\n\r\n if (event.key === 'Delete' && this._core.store.state.selectionGroup) {\r\n this._core.delete();\r\n }\r\n\r\n if (event.key === 'z' && event.ctrlKey) {\r\n this._core.history.undo();\r\n }\r\n\r\n if (event.key === 'y' && event.ctrlKey) {\r\n this._core.history.redo();\r\n }\r\n\r\n if (event.key === 's' && event.ctrlKey) {\r\n this._core.store.setState('activeTool', KritzelToolRegistry.getTool('selection'));\r\n this._core.deselectAllObjects();\r\n }\r\n\r\n if (event.key === 'b' && event.ctrlKey) {\r\n this._core.store.setState('activeTool', KritzelToolRegistry.getTool('brush'));\r\n this._core.deselectAllObjects();\r\n }\r\n\r\n if (event.key === 'e' && event.ctrlKey) {\r\n this._core.store.setState('activeTool', KritzelToolRegistry.getTool('eraser'));\r\n this._core.deselectAllObjects();\r\n }\r\n\r\n if (event.key === 'i' && event.ctrlKey) {\r\n this._core.store.setState('activeTool', KritzelToolRegistry.getTool('image'));\r\n this._core.deselectAllObjects();\r\n }\r\n\r\n if (event.key === 'x' && event.ctrlKey) {\r\n this._core.store.setState('activeTool', KritzelToolRegistry.getTool('text'));\r\n this._core.deselectAllObjects();\r\n }\r\n\r\n if (event.key === 'c' && event.ctrlKey && this._core.store.state.selectionGroup) {\r\n this._core.copy();\r\n this._core.rerender();\r\n }\r\n\r\n if (event.key === 'v' && event.ctrlKey && this._core.store.state.copiedObjects) {\r\n this._core.paste();\r\n }\r\n\r\n if (event.key === '+' && event.ctrlKey && this._core.store.state.selectionGroup) {\r\n this._core.bringForward();\r\n }\r\n\r\n if (event.key === '-' && event.ctrlKey && this._core.store.state.selectionGroup) {\r\n this._core.sendBackward();\r\n }\r\n\r\n if (event.key === '*' && event.shiftKey && this._core.store.state.selectionGroup) {\r\n this._core.bringToFront();\r\n }\r\n\r\n if (event.key === '_' && event.shiftKey && this._core.store.state.selectionGroup) {\r\n this._core.sendToBack();\r\n }\r\n\r\n if(event.key === 'a' && event.ctrlKey && this._core.store.state.activeText) {\r\n this._core.store.state.activeText.selectAll();\r\n }\r\n\r\n if(event.key === 'v' && event.ctrlKey && this._core.store.state.activeText) {\r\n this._core.store.state.activeText.insertFromClipboard();\r\n }\r\n }\r\n\r\n handleKeyUp(event: KeyboardEvent): void {\r\n this._core.store.setState('isCtrlKeyPressed', event.ctrlKey);\r\n }\r\n \r\n}\r\n"]}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { KritzelEventHelper } from "../../helpers/event.helper";
|
|
2
2
|
import { MoveSelectionGroupCommand } from "../commands/move-selection-group.command";
|
|
3
3
|
import { KritzelBaseHandler } from "./base.handler";
|
|
4
|
-
import { UpdateObjectCommand } from "../commands/update-object.command";
|
|
5
|
-
import { BatchCommand } from "../commands/batch.command";
|
|
6
4
|
export class KritzelMoveHandler extends KritzelBaseHandler {
|
|
7
5
|
dragStartX;
|
|
8
6
|
dragStartY;
|
|
@@ -10,16 +8,26 @@ export class KritzelMoveHandler extends KritzelBaseHandler {
|
|
|
10
8
|
startY;
|
|
11
9
|
endX;
|
|
12
10
|
endY;
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
hasMoved = false;
|
|
12
|
+
constructor(core) {
|
|
13
|
+
super(core);
|
|
14
|
+
}
|
|
15
|
+
reset() {
|
|
16
|
+
this.dragStartX = 0;
|
|
17
|
+
this.dragStartY = 0;
|
|
18
|
+
this.startX = 0;
|
|
19
|
+
this.startY = 0;
|
|
20
|
+
this.endX = 0;
|
|
21
|
+
this.endY = 0;
|
|
22
|
+
this.hasMoved = false;
|
|
15
23
|
}
|
|
16
24
|
handlePointerDown(event) {
|
|
17
25
|
if (event.pointerType === 'mouse') {
|
|
18
26
|
if (KritzelEventHelper.isLeftClick(event)) {
|
|
19
|
-
if (this.
|
|
20
|
-
const clientX = event.clientX - this.
|
|
21
|
-
const clientY = event.clientY - this.
|
|
22
|
-
this.
|
|
27
|
+
if (this._core.store.state.selectionGroup?.isSelected && !this._core.store.state.isResizeHandleSelected && !this._core.store.state.isRotationHandleSelected) {
|
|
28
|
+
const clientX = event.clientX - this._core.store.offsetX;
|
|
29
|
+
const clientY = event.clientY - this._core.store.offsetY;
|
|
30
|
+
this._core.store.setState('isDragging', true);
|
|
23
31
|
this.dragStartX = clientX;
|
|
24
32
|
this.dragStartY = clientY;
|
|
25
33
|
this.startX = this.dragStartX;
|
|
@@ -28,11 +36,11 @@ export class KritzelMoveHandler extends KritzelBaseHandler {
|
|
|
28
36
|
}
|
|
29
37
|
}
|
|
30
38
|
if (event.pointerType === 'touch') {
|
|
31
|
-
const activePointers = Array.from(this.
|
|
32
|
-
if (this.
|
|
33
|
-
if (this.
|
|
34
|
-
const x = Math.round(activePointers[0].clientX - this.
|
|
35
|
-
const y = Math.round(activePointers[0].clientY - this.
|
|
39
|
+
const activePointers = Array.from(this._core.store.state.pointers.values());
|
|
40
|
+
if (this._core.store.state.pointers.size === 1) {
|
|
41
|
+
if (this._core.store.state.selectionGroup?.isSelected && !this._core.store.state.isResizeHandleSelected && !this._core.store.state.isRotationHandleSelected) {
|
|
42
|
+
const x = Math.round(activePointers[0].clientX - this._core.store.offsetX);
|
|
43
|
+
const y = Math.round(activePointers[0].clientY - this._core.store.offsetY);
|
|
36
44
|
this.dragStartX = x;
|
|
37
45
|
this.dragStartY = y;
|
|
38
46
|
this.startX = x;
|
|
@@ -43,30 +51,35 @@ export class KritzelMoveHandler extends KritzelBaseHandler {
|
|
|
43
51
|
}
|
|
44
52
|
handlePointerMove(event) {
|
|
45
53
|
if (event.pointerType === 'mouse') {
|
|
46
|
-
if (this.
|
|
47
|
-
const clientX = event.clientX - this.
|
|
48
|
-
const clientY = event.clientY - this.
|
|
54
|
+
if (this._core.store.state.isDragging && this._core.store.state.selectionGroup) {
|
|
55
|
+
const clientX = event.clientX - this._core.store.offsetX;
|
|
56
|
+
const clientY = event.clientY - this._core.store.offsetY;
|
|
49
57
|
this.endX = clientX;
|
|
50
58
|
this.endY = clientY;
|
|
51
|
-
this.
|
|
59
|
+
this._core.store.state.selectionGroup.move(clientX, clientY, this.dragStartX, this.dragStartY);
|
|
52
60
|
this.dragStartX = clientX;
|
|
53
61
|
this.dragStartY = clientY;
|
|
62
|
+
this.hasMoved = true;
|
|
54
63
|
}
|
|
55
64
|
}
|
|
56
65
|
if (event.pointerType === 'touch') {
|
|
57
|
-
const activePointers = Array.from(this.
|
|
58
|
-
if (this.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
this.
|
|
66
|
+
const activePointers = Array.from(this._core.store.state.pointers.values());
|
|
67
|
+
if (this._core.store.state.pointers.size === 1 &&
|
|
68
|
+
this._core.store.state.selectionGroup &&
|
|
69
|
+
!this._core.store.state.isResizeHandleSelected &&
|
|
70
|
+
!this._core.store.state.isRotationHandleSelected) {
|
|
71
|
+
const x = Math.round(activePointers[0].clientX - this._core.store.offsetX);
|
|
72
|
+
const y = Math.round(activePointers[0].clientY - this._core.store.offsetY);
|
|
73
|
+
this._core.store.setState('isDragging', true);
|
|
62
74
|
this.endX = x;
|
|
63
75
|
this.endY = y;
|
|
76
|
+
this.hasMoved = true;
|
|
64
77
|
const moveDeltaX = Math.abs(x - this.startX);
|
|
65
78
|
const moveDeltaY = Math.abs(y - this.startY);
|
|
66
79
|
const moveThreshold = 5;
|
|
67
80
|
if (moveDeltaX > moveThreshold || moveDeltaY > moveThreshold) {
|
|
68
|
-
clearTimeout(this.
|
|
69
|
-
this.
|
|
81
|
+
clearTimeout(this._core.store.state.longTouchTimeout);
|
|
82
|
+
this._core.store.state.selectionGroup.move(x, y, this.dragStartX, this.dragStartY);
|
|
70
83
|
this.dragStartX = x;
|
|
71
84
|
this.dragStartY = y;
|
|
72
85
|
}
|
|
@@ -75,29 +88,21 @@ export class KritzelMoveHandler extends KritzelBaseHandler {
|
|
|
75
88
|
}
|
|
76
89
|
handlePointerUp(event) {
|
|
77
90
|
if (event.pointerType === 'mouse') {
|
|
78
|
-
if (this.
|
|
79
|
-
this.
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
translateY: object.translateY
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
this._store.history.executeCommand(new BatchCommand(this._store, this, [moveSelectionGroupCommand, ...updateObjectsCommand]));
|
|
91
|
+
if (this._core.store.state.isDragging) {
|
|
92
|
+
this._core.store.setState('isDragging', false);
|
|
93
|
+
if (this.hasMoved) {
|
|
94
|
+
this._core.history.executeCommand(new MoveSelectionGroupCommand(this._core, this, this.endX, this.endY, this.startX, this.startY, true));
|
|
95
|
+
}
|
|
96
|
+
this.reset();
|
|
88
97
|
}
|
|
89
98
|
}
|
|
90
99
|
if (event.pointerType === 'touch') {
|
|
91
|
-
if (this.
|
|
92
|
-
this.
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
translateY: object.translateY
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
this._store.history.executeCommand(new BatchCommand(this._store, this, [moveSelectionGroupCommand, ...updateObjectsCommand]));
|
|
100
|
+
if (this._core.store.state.isDragging) {
|
|
101
|
+
this._core.store.setState('isDragging', false);
|
|
102
|
+
if (this.hasMoved) {
|
|
103
|
+
this._core.history.executeCommand(new MoveSelectionGroupCommand(this._core, this, this.endX, this.endY, this.startX, this.startY, true));
|
|
104
|
+
}
|
|
105
|
+
this.reset();
|
|
101
106
|
}
|
|
102
107
|
}
|
|
103
108
|
}
|