@inditextech/weave-sdk 0.12.0 → 0.12.1
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/sdk.cjs +90 -61
- package/dist/sdk.d.cts +4 -4
- package/dist/sdk.d.ts +4 -4
- package/dist/sdk.js +88 -62
- package/package.json +2 -2
package/dist/sdk.cjs
CHANGED
|
@@ -15749,6 +15749,52 @@ var WeaveContextMenuPlugin = class extends WeavePlugin {
|
|
|
15749
15749
|
}
|
|
15750
15750
|
};
|
|
15751
15751
|
|
|
15752
|
+
//#endregion
|
|
15753
|
+
//#region src/utils.ts
|
|
15754
|
+
function resetScale(node) {
|
|
15755
|
+
node.width(Math.round((Math.max(1, node.width() * node.scaleX()) + Number.EPSILON) * 100) / 100);
|
|
15756
|
+
node.height(Math.round((Math.max(1, node.height() * node.scaleY()) + Number.EPSILON) * 100) / 100);
|
|
15757
|
+
node.scaleX(1);
|
|
15758
|
+
node.scaleY(1);
|
|
15759
|
+
node.x(Math.round((node.x() + Number.EPSILON) * 100) / 100);
|
|
15760
|
+
node.y(Math.round((node.y() + Number.EPSILON) * 100) / 100);
|
|
15761
|
+
node.rotation(Math.round((node.rotation() + Number.EPSILON) * 100) / 100);
|
|
15762
|
+
}
|
|
15763
|
+
function clearContainerTargets(instance) {
|
|
15764
|
+
const getContainers = instance.getContainerNodes();
|
|
15765
|
+
for (const container of getContainers) container.fire(__inditextech_weave_types.WEAVE_NODE_CUSTOM_EVENTS.onTargetLeave, { bubbles: true });
|
|
15766
|
+
}
|
|
15767
|
+
function checkIfOverContainer(instance, node) {
|
|
15768
|
+
const nodesIntersected = instance.pointIntersectsContainerElement();
|
|
15769
|
+
let nodeActualContainer = node.getParent();
|
|
15770
|
+
if (nodeActualContainer?.getAttrs().nodeId) nodeActualContainer = instance.getStage().findOne(`#${nodeActualContainer.getAttrs().nodeId}`);
|
|
15771
|
+
let layerToMove = void 0;
|
|
15772
|
+
if (!node.getAttrs().containerId && nodesIntersected && nodeActualContainer?.getAttrs().id !== nodesIntersected.getAttrs().id) layerToMove = nodesIntersected;
|
|
15773
|
+
return layerToMove;
|
|
15774
|
+
}
|
|
15775
|
+
function moveNodeToContainer(instance, node) {
|
|
15776
|
+
const nodesIntersected = instance.pointIntersectsContainerElement();
|
|
15777
|
+
let nodeActualContainer = node.getParent();
|
|
15778
|
+
if (nodeActualContainer?.getAttrs().nodeId) nodeActualContainer = instance.getStage().findOne(`#${nodeActualContainer.getAttrs().nodeId}`);
|
|
15779
|
+
let layerToMove = void 0;
|
|
15780
|
+
if (!node.getAttrs().containerId && nodesIntersected && nodeActualContainer?.getAttrs().id !== nodesIntersected.getAttrs().id) layerToMove = nodesIntersected;
|
|
15781
|
+
if (!nodesIntersected && nodeActualContainer?.getAttrs().id !== __inditextech_weave_types.WEAVE_NODE_LAYER_ID) layerToMove = instance.getMainLayer();
|
|
15782
|
+
if (layerToMove) {
|
|
15783
|
+
const nodePos = node.getAbsolutePosition();
|
|
15784
|
+
const nodeRotation = node.getAbsoluteRotation();
|
|
15785
|
+
node.moveTo(layerToMove);
|
|
15786
|
+
node.setAbsolutePosition(nodePos);
|
|
15787
|
+
node.rotation(nodeRotation);
|
|
15788
|
+
node.x(node.x() - (layerToMove.getAttrs().containerOffsetX ?? 0));
|
|
15789
|
+
node.y(node.y() - (layerToMove.getAttrs().containerOffsetY ?? 0));
|
|
15790
|
+
const nodeHandler = instance.getNodeHandler(node.getAttrs().nodeType);
|
|
15791
|
+
const actualNode = nodeHandler.serialize(node);
|
|
15792
|
+
instance.removeNode(actualNode);
|
|
15793
|
+
instance.addNode(actualNode, layerToMove?.getAttrs().id);
|
|
15794
|
+
}
|
|
15795
|
+
return layerToMove;
|
|
15796
|
+
}
|
|
15797
|
+
|
|
15752
15798
|
//#endregion
|
|
15753
15799
|
//#region src/plugins/nodes-selection/nodes-selection.ts
|
|
15754
15800
|
var WeaveNodesSelectionPlugin = class extends WeavePlugin {
|
|
@@ -15869,6 +15915,22 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
|
|
|
15869
15915
|
e.cancelBubble = true;
|
|
15870
15916
|
}
|
|
15871
15917
|
});
|
|
15918
|
+
tr.on("dragmove", (e) => {
|
|
15919
|
+
if (this.isSelecting() && tr.nodes().length > 1) {
|
|
15920
|
+
clearContainerTargets(this.instance);
|
|
15921
|
+
const layerToMove = checkIfOverContainer(this.instance, e.target);
|
|
15922
|
+
if (layerToMove) layerToMove.fire(__inditextech_weave_types.WEAVE_NODE_CUSTOM_EVENTS.onTargetEnter, { bubbles: true });
|
|
15923
|
+
}
|
|
15924
|
+
});
|
|
15925
|
+
tr.on("dragend", () => {
|
|
15926
|
+
if (this.isSelecting() && tr.nodes().length > 1) {
|
|
15927
|
+
clearContainerTargets(this.instance);
|
|
15928
|
+
for (const node of tr.nodes()) {
|
|
15929
|
+
const layerToMove = moveNodeToContainer(this.instance, node);
|
|
15930
|
+
if (layerToMove) continue;
|
|
15931
|
+
}
|
|
15932
|
+
}
|
|
15933
|
+
});
|
|
15872
15934
|
this.tr = tr;
|
|
15873
15935
|
this.selectionRectangle = selectionRectangle;
|
|
15874
15936
|
this.tr.on("dblclick dbltap", (evt) => {
|
|
@@ -16353,40 +16415,6 @@ var WeaveNode = class {
|
|
|
16353
16415
|
if (selectionPlugin.getSelectedNodes().length === 1 && selectionPlugin.getSelectedNodes()[0].getAttrs().id === ele.getAttrs().id) selected = true;
|
|
16354
16416
|
return selected;
|
|
16355
16417
|
}
|
|
16356
|
-
clearContainerTargets() {
|
|
16357
|
-
const getContainers = this.instance.getContainerNodes();
|
|
16358
|
-
for (const container of getContainers) container.fire(__inditextech_weave_types.WEAVE_NODE_CUSTOM_EVENTS.onTargetLeave, { bubbles: true });
|
|
16359
|
-
}
|
|
16360
|
-
checkIfOverContainer(node) {
|
|
16361
|
-
const nodesIntersected = this.instance.pointIntersectsContainerElement();
|
|
16362
|
-
let nodeActualContainer = node.getParent();
|
|
16363
|
-
if (nodeActualContainer?.getAttrs().nodeId) nodeActualContainer = this.instance.getStage().findOne(`#${nodeActualContainer.getAttrs().nodeId}`);
|
|
16364
|
-
let layerToMove = void 0;
|
|
16365
|
-
if (!node.getAttrs().containerId && nodesIntersected && nodeActualContainer?.getAttrs().id !== nodesIntersected.getAttrs().id) layerToMove = nodesIntersected;
|
|
16366
|
-
return layerToMove;
|
|
16367
|
-
}
|
|
16368
|
-
moveNodeToContainer(node) {
|
|
16369
|
-
const nodesIntersected = this.instance.pointIntersectsContainerElement();
|
|
16370
|
-
let nodeActualContainer = node.getParent();
|
|
16371
|
-
if (nodeActualContainer?.getAttrs().nodeId) nodeActualContainer = this.instance.getStage().findOne(`#${nodeActualContainer.getAttrs().nodeId}`);
|
|
16372
|
-
let layerToMove = void 0;
|
|
16373
|
-
if (!node.getAttrs().containerId && nodesIntersected && nodeActualContainer?.getAttrs().id !== nodesIntersected.getAttrs().id) layerToMove = nodesIntersected;
|
|
16374
|
-
if (!nodesIntersected && nodeActualContainer?.getAttrs().id !== __inditextech_weave_types.WEAVE_NODE_LAYER_ID) layerToMove = this.instance.getMainLayer();
|
|
16375
|
-
if (layerToMove) {
|
|
16376
|
-
const nodePos = node.getAbsolutePosition();
|
|
16377
|
-
const nodeRotation = node.getAbsoluteRotation();
|
|
16378
|
-
node.moveTo(layerToMove);
|
|
16379
|
-
node.setAbsolutePosition(nodePos);
|
|
16380
|
-
node.rotation(nodeRotation);
|
|
16381
|
-
node.x(node.x() - (layerToMove.getAttrs().containerOffsetX ?? 0));
|
|
16382
|
-
node.y(node.y() - (layerToMove.getAttrs().containerOffsetY ?? 0));
|
|
16383
|
-
const nodeHandler = this.instance.getNodeHandler(node.getAttrs().nodeType);
|
|
16384
|
-
const actualNode = nodeHandler.serialize(node);
|
|
16385
|
-
this.instance.removeNode(actualNode);
|
|
16386
|
-
this.instance.addNode(actualNode, layerToMove?.getAttrs().id);
|
|
16387
|
-
}
|
|
16388
|
-
return layerToMove;
|
|
16389
|
-
}
|
|
16390
16418
|
setupDefaultNodeEvents(node) {
|
|
16391
16419
|
this.previousPointer = null;
|
|
16392
16420
|
this.instance.addEventListener("onNodesChange", () => {
|
|
@@ -16398,16 +16426,16 @@ var WeaveNode = class {
|
|
|
16398
16426
|
});
|
|
16399
16427
|
node.on("dragmove", (e) => {
|
|
16400
16428
|
if (this.isSelecting() && this.isNodeSelected(node)) {
|
|
16401
|
-
this.
|
|
16402
|
-
const layerToMove = this.
|
|
16429
|
+
clearContainerTargets(this.instance);
|
|
16430
|
+
const layerToMove = checkIfOverContainer(this.instance, e.target);
|
|
16403
16431
|
if (layerToMove) layerToMove.fire(__inditextech_weave_types.WEAVE_NODE_CUSTOM_EVENTS.onTargetEnter, { bubbles: true });
|
|
16404
16432
|
this.instance.updateNode(this.serialize(node));
|
|
16405
16433
|
}
|
|
16406
16434
|
});
|
|
16407
16435
|
node.on("dragend", (e) => {
|
|
16408
16436
|
if (this.isSelecting() && this.isNodeSelected(node)) {
|
|
16409
|
-
this.
|
|
16410
|
-
const layerToMove = this.
|
|
16437
|
+
clearContainerTargets(this.instance);
|
|
16438
|
+
const layerToMove = moveNodeToContainer(this.instance, e.target);
|
|
16411
16439
|
if (layerToMove) return;
|
|
16412
16440
|
this.instance.updateNode(this.serialize(node));
|
|
16413
16441
|
}
|
|
@@ -17855,7 +17883,7 @@ var WeaveRegisterManager = class {
|
|
|
17855
17883
|
|
|
17856
17884
|
//#endregion
|
|
17857
17885
|
//#region package.json
|
|
17858
|
-
var version = "0.12.
|
|
17886
|
+
var version = "0.12.1";
|
|
17859
17887
|
|
|
17860
17888
|
//#endregion
|
|
17861
17889
|
//#region src/managers/setup.ts
|
|
@@ -18495,18 +18523,6 @@ var Weave = class extends Emittery {
|
|
|
18495
18523
|
}
|
|
18496
18524
|
};
|
|
18497
18525
|
|
|
18498
|
-
//#endregion
|
|
18499
|
-
//#region src/utils.ts
|
|
18500
|
-
function resetScale(node) {
|
|
18501
|
-
node.width(Math.round((Math.max(1, node.width() * node.scaleX()) + Number.EPSILON) * 100) / 100);
|
|
18502
|
-
node.height(Math.round((Math.max(1, node.height() * node.scaleY()) + Number.EPSILON) * 100) / 100);
|
|
18503
|
-
node.scaleX(1);
|
|
18504
|
-
node.scaleY(1);
|
|
18505
|
-
node.x(Math.round((node.x() + Number.EPSILON) * 100) / 100);
|
|
18506
|
-
node.y(Math.round((node.y() + Number.EPSILON) * 100) / 100);
|
|
18507
|
-
node.rotation(Math.round((node.rotation() + Number.EPSILON) * 100) / 100);
|
|
18508
|
-
}
|
|
18509
|
-
|
|
18510
18526
|
//#endregion
|
|
18511
18527
|
//#region src/nodes/stage/constants.ts
|
|
18512
18528
|
const WEAVE_STAGE_NODE_TYPE = "stage";
|
|
@@ -19703,8 +19719,8 @@ var WeaveFrameNode = class extends WeaveNode {
|
|
|
19703
19719
|
const frameInternal = new konva.default.Group({
|
|
19704
19720
|
id: `${id}-group-internal`,
|
|
19705
19721
|
nodeId: id,
|
|
19706
|
-
x: borderWidth,
|
|
19707
|
-
y: titleHeight + borderWidth,
|
|
19722
|
+
x: borderWidth * 2,
|
|
19723
|
+
y: titleHeight + borderWidth * 2,
|
|
19708
19724
|
width: props.frameWidth,
|
|
19709
19725
|
height: props.frameHeight,
|
|
19710
19726
|
draggable: false,
|
|
@@ -19713,8 +19729,8 @@ var WeaveFrameNode = class extends WeaveNode {
|
|
|
19713
19729
|
borderWidth,
|
|
19714
19730
|
clipX: 0,
|
|
19715
19731
|
clipY: 0,
|
|
19716
|
-
clipWidth: props.frameWidth,
|
|
19717
|
-
clipHeight: props.frameHeight
|
|
19732
|
+
clipWidth: props.frameWidth - borderWidth * 2,
|
|
19733
|
+
clipHeight: props.frameHeight - borderWidth * 2
|
|
19718
19734
|
});
|
|
19719
19735
|
frame.add(frameInternal);
|
|
19720
19736
|
this.setupDefaultNodeEvents(frame);
|
|
@@ -20312,15 +20328,25 @@ var WeaveRectangleToolAction = class extends WeaveAction {
|
|
|
20312
20328
|
const rectangle = this.instance.getStage().findOne(`#${this.rectId}`);
|
|
20313
20329
|
if (this.rectId && this.clickPoint && this.container && rectangle) {
|
|
20314
20330
|
const { mousePoint } = this.instance.getMousePointerRelativeToContainer(this.container);
|
|
20315
|
-
const deltaX = mousePoint.x - this.clickPoint?.x;
|
|
20316
|
-
const deltaY = mousePoint.y - this.clickPoint?.y;
|
|
20317
20331
|
const nodeHandler = this.instance.getNodeHandler("rectangle");
|
|
20332
|
+
const rectPos = {
|
|
20333
|
+
x: this.clickPoint.x,
|
|
20334
|
+
y: this.clickPoint.y
|
|
20335
|
+
};
|
|
20336
|
+
let rectWidth = this.props.width;
|
|
20337
|
+
let rectHeight = this.props.height;
|
|
20338
|
+
if (this.moved) {
|
|
20339
|
+
rectPos.x = Math.min(this.clickPoint.x, mousePoint.x);
|
|
20340
|
+
rectPos.y = Math.min(this.clickPoint.y, mousePoint.y);
|
|
20341
|
+
rectWidth = Math.abs(this.clickPoint.x - mousePoint.x);
|
|
20342
|
+
rectHeight = Math.abs(this.clickPoint.y - mousePoint.y);
|
|
20343
|
+
}
|
|
20318
20344
|
rectangle.setAttrs({
|
|
20319
20345
|
...this.props,
|
|
20320
|
-
x:
|
|
20321
|
-
y:
|
|
20322
|
-
width:
|
|
20323
|
-
height:
|
|
20346
|
+
x: rectPos.x,
|
|
20347
|
+
y: rectPos.y,
|
|
20348
|
+
width: rectWidth,
|
|
20349
|
+
height: rectHeight
|
|
20324
20350
|
});
|
|
20325
20351
|
this.instance.updateNode(nodeHandler.serialize(rectangle));
|
|
20326
20352
|
}
|
|
@@ -22165,4 +22191,7 @@ exports.WeaveTextToolAction = WeaveTextToolAction
|
|
|
22165
22191
|
exports.WeaveUsersPointersPlugin = WeaveUsersPointersPlugin
|
|
22166
22192
|
exports.WeaveZoomInToolAction = WeaveZoomInToolAction
|
|
22167
22193
|
exports.WeaveZoomOutToolAction = WeaveZoomOutToolAction
|
|
22194
|
+
exports.checkIfOverContainer = checkIfOverContainer
|
|
22195
|
+
exports.clearContainerTargets = clearContainerTargets
|
|
22196
|
+
exports.moveNodeToContainer = moveNodeToContainer
|
|
22168
22197
|
exports.resetScale = resetScale
|
package/dist/sdk.d.cts
CHANGED
|
@@ -280,9 +280,6 @@ declare abstract class WeaveNode implements WeaveNodeBase {
|
|
|
280
280
|
isSelecting(): boolean;
|
|
281
281
|
isPasting(): boolean;
|
|
282
282
|
isNodeSelected(ele: Konva.Node): boolean;
|
|
283
|
-
clearContainerTargets(): void;
|
|
284
|
-
checkIfOverContainer(node: Konva.Node): Konva.Node | undefined;
|
|
285
|
-
moveNodeToContainer(node: Konva.Node): Konva.Node | undefined;
|
|
286
283
|
setupDefaultNodeEvents(node: Konva.Node): void;
|
|
287
284
|
create(key: string, props: WeaveElementAttributes): WeaveStateElement;
|
|
288
285
|
abstract onRender(props: WeaveElementAttributes): WeaveElementInstance;
|
|
@@ -473,6 +470,9 @@ type WeaveActionPropsChangeEvent = {
|
|
|
473
470
|
//#endregion
|
|
474
471
|
//#region src/utils.d.ts
|
|
475
472
|
declare function resetScale(node: Konva.Node): void;
|
|
473
|
+
declare function clearContainerTargets(instance: Weave): void;
|
|
474
|
+
declare function checkIfOverContainer(instance: Weave, node: Konva.Node): Konva.Node | undefined;
|
|
475
|
+
declare function moveNodeToContainer(instance: Weave, node: Konva.Node): Konva.Node | undefined;
|
|
476
476
|
|
|
477
477
|
//#endregion
|
|
478
478
|
//#region src/nodes/stage/stage.d.ts
|
|
@@ -1516,4 +1516,4 @@ declare class WeaveNodesSnappingPlugin extends WeavePlugin {
|
|
|
1516
1516
|
}
|
|
1517
1517
|
|
|
1518
1518
|
//#endregion
|
|
1519
|
-
export { BRUSH_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_LINE_DEFAULT_CONFIG, GUIDE_LINE_DRAG_SNAPPING_THRESHOLD, GUIDE_LINE_NAME, GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD, GUIDE_ORIENTATION, Guide, GuideOrientation, GuideOrientationKeys, IMAGE_TOOL_STATE, ImageProps, LineGuide, LineGuideStop, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, NODE_SNAP, NodeSnap, NodeSnapKeys, NodeSnappingEdge, NodeSnappingEdges, PEN_TOOL_STATE, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, SELECTION_TOOL_ACTION_NAME, SELECTION_TOOL_STATE, TEXT_TOOL_STATE, TextSerializable, WEAVE_COPY_PASTE_NODES_KEY, WEAVE_FRAME_NODE_DEFAULT_CONFIG, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_SIZES, WEAVE_FRAME_NODE_SIZES_MULTIPLIER, WEAVE_FRAME_NODE_SIZES_ORIENTATION, WEAVE_FRAME_NODE_SIZES_TYPES, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_NODES_SNAPPING_KEY, WEAVE_STAGE_GRID_KEY, Weave, WeaveAction, WeaveActionPropsChangeEvent, WeaveBrushToolAction, WeaveBrushToolActionState, WeaveBrushToolActionStateKeys, WeaveConnectedUserInfoKey, WeaveConnectedUsers, WeaveConnectedUsersChangeEvent, WeaveConnectedUsersPlugin, WeaveConnectedUsersPluginConfig, WeaveConnectedUsersPluginParams, WeaveContextMenuPlugin, WeaveCopyPasteNodesPlugin, WeaveCopyPasteNodesPluginOnCopyEvent, WeaveCopyPasteNodesPluginOnPasteEvent, WeaveCopyPasteNodesPluginOnPasteExternalEvent, WeaveCopyPasteNodesPluginState, WeaveCopyPasteNodesPluginStateKeys, WeaveExportNodeActionParams, WeaveExportNodeToolAction, WeaveExportStageActionParams, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToScreenToolActionParams, WeaveFitToSelectionToolAction, WeaveFitToSelectionToolActionParams, WeaveFrameAttributes, WeaveFrameNode, WeaveFrameNodeParams, WeaveFrameNodeSizes, WeaveFrameNodeSizesInfo, WeaveFrameNodeSizesKeys, WeaveFrameNodeSizesOrientation, WeaveFrameNodeSizesOrientationKeys, WeaveFrameProperties, WeaveFrameToolAction, WeaveFrameToolActionState, WeaveFrameToolActionStateKeys, WeaveFrameToolActionTriggerParams, WeaveFrameToolProps, WeaveGroupNode, WeaveImageNode, WeaveImageToolAction, WeaveImageToolActionOnEndLoadImageEvent, WeaveImageToolActionOnStartLoadImageEvent, WeaveImageToolActionState, WeaveImageToolActionStateKeys, WeaveImageToolActionTriggerParams, WeaveImageToolActionTriggerReturn, WeaveLayerNode, WeaveLineNode, WeaveMoveToolAction, WeaveMoveToolActionState, WeaveMoveToolActionStateKeys, WeaveNode, WeaveNodesSelectionPlugin, WeaveNodesSelectionPluginConfig, WeaveNodesSelectionPluginOnNodesChangeEvent, WeaveNodesSelectionPluginOnSelectionStateEvent, WeaveNodesSelectionPluginOnStageSelectionEvent, WeaveNodesSelectionPluginParams, WeaveNodesSnappingPlugin, WeaveNodesSnappingPluginConfig, WeaveNodesSnappingPluginParams, WeavePasteModel, WeavePenToolAction, WeavePenToolActionState, WeavePenToolActionStateKeys, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveRectangleToolActionState, WeaveRectangleToolActionStateKeys, WeaveSelectionToolAction, WeaveSelectionToolActionState, WeaveSelectionToolActionStateKeys, WeaveStageContextMenuPluginConfig, WeaveStageContextMenuPluginOnNodeContextMenuEvent, WeaveStageContextMenuPluginParams, WeaveStageDropAreaPlugin, WeaveStageDropPluginOnStageDropEvent, WeaveStageGridPlugin, WeaveStageGridPluginConfig, WeaveStageGridPluginParams, WeaveStageGridType, WeaveStageGridTypeKeys, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomChanged, WeaveStageZoomPlugin, WeaveStageZoomPluginConfig, WeaveStageZoomPluginOnZoomChangeEvent, WeaveStageZoomPluginParams, WeaveStore, WeaveTextNode, WeaveTextToolAction, WeaveTextToolActionState, WeaveTextToolActionStateKeys, WeaveToPasteNode, WeaveUserPointer, WeaveUserPointerKey, WeaveUsersPointersPlugin, WeaveUsersPointersPluginConfig, WeaveUsersPointersPluginParams, WeaveZoomInToolAction, WeaveZoomInToolActionParams, WeaveZoomOutToolAction, WeaveZoomOutToolActionParams, resetScale };
|
|
1519
|
+
export { BRUSH_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_LINE_DEFAULT_CONFIG, GUIDE_LINE_DRAG_SNAPPING_THRESHOLD, GUIDE_LINE_NAME, GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD, GUIDE_ORIENTATION, Guide, GuideOrientation, GuideOrientationKeys, IMAGE_TOOL_STATE, ImageProps, LineGuide, LineGuideStop, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, NODE_SNAP, NodeSnap, NodeSnapKeys, NodeSnappingEdge, NodeSnappingEdges, PEN_TOOL_STATE, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, SELECTION_TOOL_ACTION_NAME, SELECTION_TOOL_STATE, TEXT_TOOL_STATE, TextSerializable, WEAVE_COPY_PASTE_NODES_KEY, WEAVE_FRAME_NODE_DEFAULT_CONFIG, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_SIZES, WEAVE_FRAME_NODE_SIZES_MULTIPLIER, WEAVE_FRAME_NODE_SIZES_ORIENTATION, WEAVE_FRAME_NODE_SIZES_TYPES, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_NODES_SNAPPING_KEY, WEAVE_STAGE_GRID_KEY, Weave, WeaveAction, WeaveActionPropsChangeEvent, WeaveBrushToolAction, WeaveBrushToolActionState, WeaveBrushToolActionStateKeys, WeaveConnectedUserInfoKey, WeaveConnectedUsers, WeaveConnectedUsersChangeEvent, WeaveConnectedUsersPlugin, WeaveConnectedUsersPluginConfig, WeaveConnectedUsersPluginParams, WeaveContextMenuPlugin, WeaveCopyPasteNodesPlugin, WeaveCopyPasteNodesPluginOnCopyEvent, WeaveCopyPasteNodesPluginOnPasteEvent, WeaveCopyPasteNodesPluginOnPasteExternalEvent, WeaveCopyPasteNodesPluginState, WeaveCopyPasteNodesPluginStateKeys, WeaveExportNodeActionParams, WeaveExportNodeToolAction, WeaveExportStageActionParams, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToScreenToolActionParams, WeaveFitToSelectionToolAction, WeaveFitToSelectionToolActionParams, WeaveFrameAttributes, WeaveFrameNode, WeaveFrameNodeParams, WeaveFrameNodeSizes, WeaveFrameNodeSizesInfo, WeaveFrameNodeSizesKeys, WeaveFrameNodeSizesOrientation, WeaveFrameNodeSizesOrientationKeys, WeaveFrameProperties, WeaveFrameToolAction, WeaveFrameToolActionState, WeaveFrameToolActionStateKeys, WeaveFrameToolActionTriggerParams, WeaveFrameToolProps, WeaveGroupNode, WeaveImageNode, WeaveImageToolAction, WeaveImageToolActionOnEndLoadImageEvent, WeaveImageToolActionOnStartLoadImageEvent, WeaveImageToolActionState, WeaveImageToolActionStateKeys, WeaveImageToolActionTriggerParams, WeaveImageToolActionTriggerReturn, WeaveLayerNode, WeaveLineNode, WeaveMoveToolAction, WeaveMoveToolActionState, WeaveMoveToolActionStateKeys, WeaveNode, WeaveNodesSelectionPlugin, WeaveNodesSelectionPluginConfig, WeaveNodesSelectionPluginOnNodesChangeEvent, WeaveNodesSelectionPluginOnSelectionStateEvent, WeaveNodesSelectionPluginOnStageSelectionEvent, WeaveNodesSelectionPluginParams, WeaveNodesSnappingPlugin, WeaveNodesSnappingPluginConfig, WeaveNodesSnappingPluginParams, WeavePasteModel, WeavePenToolAction, WeavePenToolActionState, WeavePenToolActionStateKeys, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveRectangleToolActionState, WeaveRectangleToolActionStateKeys, WeaveSelectionToolAction, WeaveSelectionToolActionState, WeaveSelectionToolActionStateKeys, WeaveStageContextMenuPluginConfig, WeaveStageContextMenuPluginOnNodeContextMenuEvent, WeaveStageContextMenuPluginParams, WeaveStageDropAreaPlugin, WeaveStageDropPluginOnStageDropEvent, WeaveStageGridPlugin, WeaveStageGridPluginConfig, WeaveStageGridPluginParams, WeaveStageGridType, WeaveStageGridTypeKeys, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomChanged, WeaveStageZoomPlugin, WeaveStageZoomPluginConfig, WeaveStageZoomPluginOnZoomChangeEvent, WeaveStageZoomPluginParams, WeaveStore, WeaveTextNode, WeaveTextToolAction, WeaveTextToolActionState, WeaveTextToolActionStateKeys, WeaveToPasteNode, WeaveUserPointer, WeaveUserPointerKey, WeaveUsersPointersPlugin, WeaveUsersPointersPluginConfig, WeaveUsersPointersPluginParams, WeaveZoomInToolAction, WeaveZoomInToolActionParams, WeaveZoomOutToolAction, WeaveZoomOutToolActionParams, checkIfOverContainer, clearContainerTargets, moveNodeToContainer, resetScale };
|
package/dist/sdk.d.ts
CHANGED
|
@@ -280,9 +280,6 @@ declare abstract class WeaveNode implements WeaveNodeBase {
|
|
|
280
280
|
isSelecting(): boolean;
|
|
281
281
|
isPasting(): boolean;
|
|
282
282
|
isNodeSelected(ele: Konva.Node): boolean;
|
|
283
|
-
clearContainerTargets(): void;
|
|
284
|
-
checkIfOverContainer(node: Konva.Node): Konva.Node | undefined;
|
|
285
|
-
moveNodeToContainer(node: Konva.Node): Konva.Node | undefined;
|
|
286
283
|
setupDefaultNodeEvents(node: Konva.Node): void;
|
|
287
284
|
create(key: string, props: WeaveElementAttributes): WeaveStateElement;
|
|
288
285
|
abstract onRender(props: WeaveElementAttributes): WeaveElementInstance;
|
|
@@ -473,6 +470,9 @@ type WeaveActionPropsChangeEvent = {
|
|
|
473
470
|
//#endregion
|
|
474
471
|
//#region src/utils.d.ts
|
|
475
472
|
declare function resetScale(node: Konva.Node): void;
|
|
473
|
+
declare function clearContainerTargets(instance: Weave): void;
|
|
474
|
+
declare function checkIfOverContainer(instance: Weave, node: Konva.Node): Konva.Node | undefined;
|
|
475
|
+
declare function moveNodeToContainer(instance: Weave, node: Konva.Node): Konva.Node | undefined;
|
|
476
476
|
|
|
477
477
|
//#endregion
|
|
478
478
|
//#region src/nodes/stage/stage.d.ts
|
|
@@ -1516,4 +1516,4 @@ declare class WeaveNodesSnappingPlugin extends WeavePlugin {
|
|
|
1516
1516
|
}
|
|
1517
1517
|
|
|
1518
1518
|
//#endregion
|
|
1519
|
-
export { BRUSH_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_LINE_DEFAULT_CONFIG, GUIDE_LINE_DRAG_SNAPPING_THRESHOLD, GUIDE_LINE_NAME, GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD, GUIDE_ORIENTATION, Guide, GuideOrientation, GuideOrientationKeys, IMAGE_TOOL_STATE, ImageProps, LineGuide, LineGuideStop, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, NODE_SNAP, NodeSnap, NodeSnapKeys, NodeSnappingEdge, NodeSnappingEdges, PEN_TOOL_STATE, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, SELECTION_TOOL_ACTION_NAME, SELECTION_TOOL_STATE, TEXT_TOOL_STATE, TextSerializable, WEAVE_COPY_PASTE_NODES_KEY, WEAVE_FRAME_NODE_DEFAULT_CONFIG, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_SIZES, WEAVE_FRAME_NODE_SIZES_MULTIPLIER, WEAVE_FRAME_NODE_SIZES_ORIENTATION, WEAVE_FRAME_NODE_SIZES_TYPES, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_NODES_SNAPPING_KEY, WEAVE_STAGE_GRID_KEY, Weave, WeaveAction, WeaveActionPropsChangeEvent, WeaveBrushToolAction, WeaveBrushToolActionState, WeaveBrushToolActionStateKeys, WeaveConnectedUserInfoKey, WeaveConnectedUsers, WeaveConnectedUsersChangeEvent, WeaveConnectedUsersPlugin, WeaveConnectedUsersPluginConfig, WeaveConnectedUsersPluginParams, WeaveContextMenuPlugin, WeaveCopyPasteNodesPlugin, WeaveCopyPasteNodesPluginOnCopyEvent, WeaveCopyPasteNodesPluginOnPasteEvent, WeaveCopyPasteNodesPluginOnPasteExternalEvent, WeaveCopyPasteNodesPluginState, WeaveCopyPasteNodesPluginStateKeys, WeaveExportNodeActionParams, WeaveExportNodeToolAction, WeaveExportStageActionParams, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToScreenToolActionParams, WeaveFitToSelectionToolAction, WeaveFitToSelectionToolActionParams, WeaveFrameAttributes, WeaveFrameNode, WeaveFrameNodeParams, WeaveFrameNodeSizes, WeaveFrameNodeSizesInfo, WeaveFrameNodeSizesKeys, WeaveFrameNodeSizesOrientation, WeaveFrameNodeSizesOrientationKeys, WeaveFrameProperties, WeaveFrameToolAction, WeaveFrameToolActionState, WeaveFrameToolActionStateKeys, WeaveFrameToolActionTriggerParams, WeaveFrameToolProps, WeaveGroupNode, WeaveImageNode, WeaveImageToolAction, WeaveImageToolActionOnEndLoadImageEvent, WeaveImageToolActionOnStartLoadImageEvent, WeaveImageToolActionState, WeaveImageToolActionStateKeys, WeaveImageToolActionTriggerParams, WeaveImageToolActionTriggerReturn, WeaveLayerNode, WeaveLineNode, WeaveMoveToolAction, WeaveMoveToolActionState, WeaveMoveToolActionStateKeys, WeaveNode, WeaveNodesSelectionPlugin, WeaveNodesSelectionPluginConfig, WeaveNodesSelectionPluginOnNodesChangeEvent, WeaveNodesSelectionPluginOnSelectionStateEvent, WeaveNodesSelectionPluginOnStageSelectionEvent, WeaveNodesSelectionPluginParams, WeaveNodesSnappingPlugin, WeaveNodesSnappingPluginConfig, WeaveNodesSnappingPluginParams, WeavePasteModel, WeavePenToolAction, WeavePenToolActionState, WeavePenToolActionStateKeys, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveRectangleToolActionState, WeaveRectangleToolActionStateKeys, WeaveSelectionToolAction, WeaveSelectionToolActionState, WeaveSelectionToolActionStateKeys, WeaveStageContextMenuPluginConfig, WeaveStageContextMenuPluginOnNodeContextMenuEvent, WeaveStageContextMenuPluginParams, WeaveStageDropAreaPlugin, WeaveStageDropPluginOnStageDropEvent, WeaveStageGridPlugin, WeaveStageGridPluginConfig, WeaveStageGridPluginParams, WeaveStageGridType, WeaveStageGridTypeKeys, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomChanged, WeaveStageZoomPlugin, WeaveStageZoomPluginConfig, WeaveStageZoomPluginOnZoomChangeEvent, WeaveStageZoomPluginParams, WeaveStore, WeaveTextNode, WeaveTextToolAction, WeaveTextToolActionState, WeaveTextToolActionStateKeys, WeaveToPasteNode, WeaveUserPointer, WeaveUserPointerKey, WeaveUsersPointersPlugin, WeaveUsersPointersPluginConfig, WeaveUsersPointersPluginParams, WeaveZoomInToolAction, WeaveZoomInToolActionParams, WeaveZoomOutToolAction, WeaveZoomOutToolActionParams, resetScale };
|
|
1519
|
+
export { BRUSH_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_LINE_DEFAULT_CONFIG, GUIDE_LINE_DRAG_SNAPPING_THRESHOLD, GUIDE_LINE_NAME, GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD, GUIDE_ORIENTATION, Guide, GuideOrientation, GuideOrientationKeys, IMAGE_TOOL_STATE, ImageProps, LineGuide, LineGuideStop, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, NODE_SNAP, NodeSnap, NodeSnapKeys, NodeSnappingEdge, NodeSnappingEdges, PEN_TOOL_STATE, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, SELECTION_TOOL_ACTION_NAME, SELECTION_TOOL_STATE, TEXT_TOOL_STATE, TextSerializable, WEAVE_COPY_PASTE_NODES_KEY, WEAVE_FRAME_NODE_DEFAULT_CONFIG, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_SIZES, WEAVE_FRAME_NODE_SIZES_MULTIPLIER, WEAVE_FRAME_NODE_SIZES_ORIENTATION, WEAVE_FRAME_NODE_SIZES_TYPES, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_NODES_SNAPPING_KEY, WEAVE_STAGE_GRID_KEY, Weave, WeaveAction, WeaveActionPropsChangeEvent, WeaveBrushToolAction, WeaveBrushToolActionState, WeaveBrushToolActionStateKeys, WeaveConnectedUserInfoKey, WeaveConnectedUsers, WeaveConnectedUsersChangeEvent, WeaveConnectedUsersPlugin, WeaveConnectedUsersPluginConfig, WeaveConnectedUsersPluginParams, WeaveContextMenuPlugin, WeaveCopyPasteNodesPlugin, WeaveCopyPasteNodesPluginOnCopyEvent, WeaveCopyPasteNodesPluginOnPasteEvent, WeaveCopyPasteNodesPluginOnPasteExternalEvent, WeaveCopyPasteNodesPluginState, WeaveCopyPasteNodesPluginStateKeys, WeaveExportNodeActionParams, WeaveExportNodeToolAction, WeaveExportStageActionParams, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToScreenToolActionParams, WeaveFitToSelectionToolAction, WeaveFitToSelectionToolActionParams, WeaveFrameAttributes, WeaveFrameNode, WeaveFrameNodeParams, WeaveFrameNodeSizes, WeaveFrameNodeSizesInfo, WeaveFrameNodeSizesKeys, WeaveFrameNodeSizesOrientation, WeaveFrameNodeSizesOrientationKeys, WeaveFrameProperties, WeaveFrameToolAction, WeaveFrameToolActionState, WeaveFrameToolActionStateKeys, WeaveFrameToolActionTriggerParams, WeaveFrameToolProps, WeaveGroupNode, WeaveImageNode, WeaveImageToolAction, WeaveImageToolActionOnEndLoadImageEvent, WeaveImageToolActionOnStartLoadImageEvent, WeaveImageToolActionState, WeaveImageToolActionStateKeys, WeaveImageToolActionTriggerParams, WeaveImageToolActionTriggerReturn, WeaveLayerNode, WeaveLineNode, WeaveMoveToolAction, WeaveMoveToolActionState, WeaveMoveToolActionStateKeys, WeaveNode, WeaveNodesSelectionPlugin, WeaveNodesSelectionPluginConfig, WeaveNodesSelectionPluginOnNodesChangeEvent, WeaveNodesSelectionPluginOnSelectionStateEvent, WeaveNodesSelectionPluginOnStageSelectionEvent, WeaveNodesSelectionPluginParams, WeaveNodesSnappingPlugin, WeaveNodesSnappingPluginConfig, WeaveNodesSnappingPluginParams, WeavePasteModel, WeavePenToolAction, WeavePenToolActionState, WeavePenToolActionStateKeys, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveRectangleToolActionState, WeaveRectangleToolActionStateKeys, WeaveSelectionToolAction, WeaveSelectionToolActionState, WeaveSelectionToolActionStateKeys, WeaveStageContextMenuPluginConfig, WeaveStageContextMenuPluginOnNodeContextMenuEvent, WeaveStageContextMenuPluginParams, WeaveStageDropAreaPlugin, WeaveStageDropPluginOnStageDropEvent, WeaveStageGridPlugin, WeaveStageGridPluginConfig, WeaveStageGridPluginParams, WeaveStageGridType, WeaveStageGridTypeKeys, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomChanged, WeaveStageZoomPlugin, WeaveStageZoomPluginConfig, WeaveStageZoomPluginOnZoomChangeEvent, WeaveStageZoomPluginParams, WeaveStore, WeaveTextNode, WeaveTextToolAction, WeaveTextToolActionState, WeaveTextToolActionStateKeys, WeaveToPasteNode, WeaveUserPointer, WeaveUserPointerKey, WeaveUsersPointersPlugin, WeaveUsersPointersPluginConfig, WeaveUsersPointersPluginParams, WeaveZoomInToolAction, WeaveZoomInToolActionParams, WeaveZoomOutToolAction, WeaveZoomOutToolActionParams, checkIfOverContainer, clearContainerTargets, moveNodeToContainer, resetScale };
|
package/dist/sdk.js
CHANGED
|
@@ -15749,6 +15749,52 @@ var WeaveContextMenuPlugin = class extends WeavePlugin {
|
|
|
15749
15749
|
}
|
|
15750
15750
|
};
|
|
15751
15751
|
|
|
15752
|
+
//#endregion
|
|
15753
|
+
//#region src/utils.ts
|
|
15754
|
+
function resetScale(node) {
|
|
15755
|
+
node.width(Math.round((Math.max(1, node.width() * node.scaleX()) + Number.EPSILON) * 100) / 100);
|
|
15756
|
+
node.height(Math.round((Math.max(1, node.height() * node.scaleY()) + Number.EPSILON) * 100) / 100);
|
|
15757
|
+
node.scaleX(1);
|
|
15758
|
+
node.scaleY(1);
|
|
15759
|
+
node.x(Math.round((node.x() + Number.EPSILON) * 100) / 100);
|
|
15760
|
+
node.y(Math.round((node.y() + Number.EPSILON) * 100) / 100);
|
|
15761
|
+
node.rotation(Math.round((node.rotation() + Number.EPSILON) * 100) / 100);
|
|
15762
|
+
}
|
|
15763
|
+
function clearContainerTargets(instance) {
|
|
15764
|
+
const getContainers = instance.getContainerNodes();
|
|
15765
|
+
for (const container of getContainers) container.fire(WEAVE_NODE_CUSTOM_EVENTS.onTargetLeave, { bubbles: true });
|
|
15766
|
+
}
|
|
15767
|
+
function checkIfOverContainer(instance, node) {
|
|
15768
|
+
const nodesIntersected = instance.pointIntersectsContainerElement();
|
|
15769
|
+
let nodeActualContainer = node.getParent();
|
|
15770
|
+
if (nodeActualContainer?.getAttrs().nodeId) nodeActualContainer = instance.getStage().findOne(`#${nodeActualContainer.getAttrs().nodeId}`);
|
|
15771
|
+
let layerToMove = void 0;
|
|
15772
|
+
if (!node.getAttrs().containerId && nodesIntersected && nodeActualContainer?.getAttrs().id !== nodesIntersected.getAttrs().id) layerToMove = nodesIntersected;
|
|
15773
|
+
return layerToMove;
|
|
15774
|
+
}
|
|
15775
|
+
function moveNodeToContainer(instance, node) {
|
|
15776
|
+
const nodesIntersected = instance.pointIntersectsContainerElement();
|
|
15777
|
+
let nodeActualContainer = node.getParent();
|
|
15778
|
+
if (nodeActualContainer?.getAttrs().nodeId) nodeActualContainer = instance.getStage().findOne(`#${nodeActualContainer.getAttrs().nodeId}`);
|
|
15779
|
+
let layerToMove = void 0;
|
|
15780
|
+
if (!node.getAttrs().containerId && nodesIntersected && nodeActualContainer?.getAttrs().id !== nodesIntersected.getAttrs().id) layerToMove = nodesIntersected;
|
|
15781
|
+
if (!nodesIntersected && nodeActualContainer?.getAttrs().id !== WEAVE_NODE_LAYER_ID) layerToMove = instance.getMainLayer();
|
|
15782
|
+
if (layerToMove) {
|
|
15783
|
+
const nodePos = node.getAbsolutePosition();
|
|
15784
|
+
const nodeRotation = node.getAbsoluteRotation();
|
|
15785
|
+
node.moveTo(layerToMove);
|
|
15786
|
+
node.setAbsolutePosition(nodePos);
|
|
15787
|
+
node.rotation(nodeRotation);
|
|
15788
|
+
node.x(node.x() - (layerToMove.getAttrs().containerOffsetX ?? 0));
|
|
15789
|
+
node.y(node.y() - (layerToMove.getAttrs().containerOffsetY ?? 0));
|
|
15790
|
+
const nodeHandler = instance.getNodeHandler(node.getAttrs().nodeType);
|
|
15791
|
+
const actualNode = nodeHandler.serialize(node);
|
|
15792
|
+
instance.removeNode(actualNode);
|
|
15793
|
+
instance.addNode(actualNode, layerToMove?.getAttrs().id);
|
|
15794
|
+
}
|
|
15795
|
+
return layerToMove;
|
|
15796
|
+
}
|
|
15797
|
+
|
|
15752
15798
|
//#endregion
|
|
15753
15799
|
//#region src/plugins/nodes-selection/nodes-selection.ts
|
|
15754
15800
|
var WeaveNodesSelectionPlugin = class extends WeavePlugin {
|
|
@@ -15869,6 +15915,22 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
|
|
|
15869
15915
|
e.cancelBubble = true;
|
|
15870
15916
|
}
|
|
15871
15917
|
});
|
|
15918
|
+
tr.on("dragmove", (e) => {
|
|
15919
|
+
if (this.isSelecting() && tr.nodes().length > 1) {
|
|
15920
|
+
clearContainerTargets(this.instance);
|
|
15921
|
+
const layerToMove = checkIfOverContainer(this.instance, e.target);
|
|
15922
|
+
if (layerToMove) layerToMove.fire(WEAVE_NODE_CUSTOM_EVENTS.onTargetEnter, { bubbles: true });
|
|
15923
|
+
}
|
|
15924
|
+
});
|
|
15925
|
+
tr.on("dragend", () => {
|
|
15926
|
+
if (this.isSelecting() && tr.nodes().length > 1) {
|
|
15927
|
+
clearContainerTargets(this.instance);
|
|
15928
|
+
for (const node of tr.nodes()) {
|
|
15929
|
+
const layerToMove = moveNodeToContainer(this.instance, node);
|
|
15930
|
+
if (layerToMove) continue;
|
|
15931
|
+
}
|
|
15932
|
+
}
|
|
15933
|
+
});
|
|
15872
15934
|
this.tr = tr;
|
|
15873
15935
|
this.selectionRectangle = selectionRectangle;
|
|
15874
15936
|
this.tr.on("dblclick dbltap", (evt) => {
|
|
@@ -16353,40 +16415,6 @@ var WeaveNode = class {
|
|
|
16353
16415
|
if (selectionPlugin.getSelectedNodes().length === 1 && selectionPlugin.getSelectedNodes()[0].getAttrs().id === ele.getAttrs().id) selected = true;
|
|
16354
16416
|
return selected;
|
|
16355
16417
|
}
|
|
16356
|
-
clearContainerTargets() {
|
|
16357
|
-
const getContainers = this.instance.getContainerNodes();
|
|
16358
|
-
for (const container of getContainers) container.fire(WEAVE_NODE_CUSTOM_EVENTS.onTargetLeave, { bubbles: true });
|
|
16359
|
-
}
|
|
16360
|
-
checkIfOverContainer(node) {
|
|
16361
|
-
const nodesIntersected = this.instance.pointIntersectsContainerElement();
|
|
16362
|
-
let nodeActualContainer = node.getParent();
|
|
16363
|
-
if (nodeActualContainer?.getAttrs().nodeId) nodeActualContainer = this.instance.getStage().findOne(`#${nodeActualContainer.getAttrs().nodeId}`);
|
|
16364
|
-
let layerToMove = void 0;
|
|
16365
|
-
if (!node.getAttrs().containerId && nodesIntersected && nodeActualContainer?.getAttrs().id !== nodesIntersected.getAttrs().id) layerToMove = nodesIntersected;
|
|
16366
|
-
return layerToMove;
|
|
16367
|
-
}
|
|
16368
|
-
moveNodeToContainer(node) {
|
|
16369
|
-
const nodesIntersected = this.instance.pointIntersectsContainerElement();
|
|
16370
|
-
let nodeActualContainer = node.getParent();
|
|
16371
|
-
if (nodeActualContainer?.getAttrs().nodeId) nodeActualContainer = this.instance.getStage().findOne(`#${nodeActualContainer.getAttrs().nodeId}`);
|
|
16372
|
-
let layerToMove = void 0;
|
|
16373
|
-
if (!node.getAttrs().containerId && nodesIntersected && nodeActualContainer?.getAttrs().id !== nodesIntersected.getAttrs().id) layerToMove = nodesIntersected;
|
|
16374
|
-
if (!nodesIntersected && nodeActualContainer?.getAttrs().id !== WEAVE_NODE_LAYER_ID) layerToMove = this.instance.getMainLayer();
|
|
16375
|
-
if (layerToMove) {
|
|
16376
|
-
const nodePos = node.getAbsolutePosition();
|
|
16377
|
-
const nodeRotation = node.getAbsoluteRotation();
|
|
16378
|
-
node.moveTo(layerToMove);
|
|
16379
|
-
node.setAbsolutePosition(nodePos);
|
|
16380
|
-
node.rotation(nodeRotation);
|
|
16381
|
-
node.x(node.x() - (layerToMove.getAttrs().containerOffsetX ?? 0));
|
|
16382
|
-
node.y(node.y() - (layerToMove.getAttrs().containerOffsetY ?? 0));
|
|
16383
|
-
const nodeHandler = this.instance.getNodeHandler(node.getAttrs().nodeType);
|
|
16384
|
-
const actualNode = nodeHandler.serialize(node);
|
|
16385
|
-
this.instance.removeNode(actualNode);
|
|
16386
|
-
this.instance.addNode(actualNode, layerToMove?.getAttrs().id);
|
|
16387
|
-
}
|
|
16388
|
-
return layerToMove;
|
|
16389
|
-
}
|
|
16390
16418
|
setupDefaultNodeEvents(node) {
|
|
16391
16419
|
this.previousPointer = null;
|
|
16392
16420
|
this.instance.addEventListener("onNodesChange", () => {
|
|
@@ -16398,16 +16426,16 @@ var WeaveNode = class {
|
|
|
16398
16426
|
});
|
|
16399
16427
|
node.on("dragmove", (e) => {
|
|
16400
16428
|
if (this.isSelecting() && this.isNodeSelected(node)) {
|
|
16401
|
-
this.
|
|
16402
|
-
const layerToMove = this.
|
|
16429
|
+
clearContainerTargets(this.instance);
|
|
16430
|
+
const layerToMove = checkIfOverContainer(this.instance, e.target);
|
|
16403
16431
|
if (layerToMove) layerToMove.fire(WEAVE_NODE_CUSTOM_EVENTS.onTargetEnter, { bubbles: true });
|
|
16404
16432
|
this.instance.updateNode(this.serialize(node));
|
|
16405
16433
|
}
|
|
16406
16434
|
});
|
|
16407
16435
|
node.on("dragend", (e) => {
|
|
16408
16436
|
if (this.isSelecting() && this.isNodeSelected(node)) {
|
|
16409
|
-
this.
|
|
16410
|
-
const layerToMove = this.
|
|
16437
|
+
clearContainerTargets(this.instance);
|
|
16438
|
+
const layerToMove = moveNodeToContainer(this.instance, e.target);
|
|
16411
16439
|
if (layerToMove) return;
|
|
16412
16440
|
this.instance.updateNode(this.serialize(node));
|
|
16413
16441
|
}
|
|
@@ -17855,7 +17883,7 @@ var WeaveRegisterManager = class {
|
|
|
17855
17883
|
|
|
17856
17884
|
//#endregion
|
|
17857
17885
|
//#region package.json
|
|
17858
|
-
var version = "0.12.
|
|
17886
|
+
var version = "0.12.1";
|
|
17859
17887
|
|
|
17860
17888
|
//#endregion
|
|
17861
17889
|
//#region src/managers/setup.ts
|
|
@@ -18495,18 +18523,6 @@ var Weave = class extends Emittery {
|
|
|
18495
18523
|
}
|
|
18496
18524
|
};
|
|
18497
18525
|
|
|
18498
|
-
//#endregion
|
|
18499
|
-
//#region src/utils.ts
|
|
18500
|
-
function resetScale(node) {
|
|
18501
|
-
node.width(Math.round((Math.max(1, node.width() * node.scaleX()) + Number.EPSILON) * 100) / 100);
|
|
18502
|
-
node.height(Math.round((Math.max(1, node.height() * node.scaleY()) + Number.EPSILON) * 100) / 100);
|
|
18503
|
-
node.scaleX(1);
|
|
18504
|
-
node.scaleY(1);
|
|
18505
|
-
node.x(Math.round((node.x() + Number.EPSILON) * 100) / 100);
|
|
18506
|
-
node.y(Math.round((node.y() + Number.EPSILON) * 100) / 100);
|
|
18507
|
-
node.rotation(Math.round((node.rotation() + Number.EPSILON) * 100) / 100);
|
|
18508
|
-
}
|
|
18509
|
-
|
|
18510
18526
|
//#endregion
|
|
18511
18527
|
//#region src/nodes/stage/constants.ts
|
|
18512
18528
|
const WEAVE_STAGE_NODE_TYPE = "stage";
|
|
@@ -19703,8 +19719,8 @@ var WeaveFrameNode = class extends WeaveNode {
|
|
|
19703
19719
|
const frameInternal = new Konva.Group({
|
|
19704
19720
|
id: `${id}-group-internal`,
|
|
19705
19721
|
nodeId: id,
|
|
19706
|
-
x: borderWidth,
|
|
19707
|
-
y: titleHeight + borderWidth,
|
|
19722
|
+
x: borderWidth * 2,
|
|
19723
|
+
y: titleHeight + borderWidth * 2,
|
|
19708
19724
|
width: props.frameWidth,
|
|
19709
19725
|
height: props.frameHeight,
|
|
19710
19726
|
draggable: false,
|
|
@@ -19713,8 +19729,8 @@ var WeaveFrameNode = class extends WeaveNode {
|
|
|
19713
19729
|
borderWidth,
|
|
19714
19730
|
clipX: 0,
|
|
19715
19731
|
clipY: 0,
|
|
19716
|
-
clipWidth: props.frameWidth,
|
|
19717
|
-
clipHeight: props.frameHeight
|
|
19732
|
+
clipWidth: props.frameWidth - borderWidth * 2,
|
|
19733
|
+
clipHeight: props.frameHeight - borderWidth * 2
|
|
19718
19734
|
});
|
|
19719
19735
|
frame.add(frameInternal);
|
|
19720
19736
|
this.setupDefaultNodeEvents(frame);
|
|
@@ -20312,15 +20328,25 @@ var WeaveRectangleToolAction = class extends WeaveAction {
|
|
|
20312
20328
|
const rectangle = this.instance.getStage().findOne(`#${this.rectId}`);
|
|
20313
20329
|
if (this.rectId && this.clickPoint && this.container && rectangle) {
|
|
20314
20330
|
const { mousePoint } = this.instance.getMousePointerRelativeToContainer(this.container);
|
|
20315
|
-
const deltaX = mousePoint.x - this.clickPoint?.x;
|
|
20316
|
-
const deltaY = mousePoint.y - this.clickPoint?.y;
|
|
20317
20331
|
const nodeHandler = this.instance.getNodeHandler("rectangle");
|
|
20332
|
+
const rectPos = {
|
|
20333
|
+
x: this.clickPoint.x,
|
|
20334
|
+
y: this.clickPoint.y
|
|
20335
|
+
};
|
|
20336
|
+
let rectWidth = this.props.width;
|
|
20337
|
+
let rectHeight = this.props.height;
|
|
20338
|
+
if (this.moved) {
|
|
20339
|
+
rectPos.x = Math.min(this.clickPoint.x, mousePoint.x);
|
|
20340
|
+
rectPos.y = Math.min(this.clickPoint.y, mousePoint.y);
|
|
20341
|
+
rectWidth = Math.abs(this.clickPoint.x - mousePoint.x);
|
|
20342
|
+
rectHeight = Math.abs(this.clickPoint.y - mousePoint.y);
|
|
20343
|
+
}
|
|
20318
20344
|
rectangle.setAttrs({
|
|
20319
20345
|
...this.props,
|
|
20320
|
-
x:
|
|
20321
|
-
y:
|
|
20322
|
-
width:
|
|
20323
|
-
height:
|
|
20346
|
+
x: rectPos.x,
|
|
20347
|
+
y: rectPos.y,
|
|
20348
|
+
width: rectWidth,
|
|
20349
|
+
height: rectHeight
|
|
20324
20350
|
});
|
|
20325
20351
|
this.instance.updateNode(nodeHandler.serialize(rectangle));
|
|
20326
20352
|
}
|
|
@@ -22090,4 +22116,4 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
|
|
|
22090
22116
|
};
|
|
22091
22117
|
|
|
22092
22118
|
//#endregion
|
|
22093
|
-
export { BRUSH_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_LINE_DEFAULT_CONFIG, GUIDE_LINE_DRAG_SNAPPING_THRESHOLD, GUIDE_LINE_NAME, GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD, GUIDE_ORIENTATION, IMAGE_TOOL_STATE, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, NODE_SNAP, PEN_TOOL_STATE, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, SELECTION_TOOL_ACTION_NAME, SELECTION_TOOL_STATE, TEXT_TOOL_STATE, WEAVE_COPY_PASTE_NODES_KEY, WEAVE_FRAME_NODE_DEFAULT_CONFIG, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_SIZES, WEAVE_FRAME_NODE_SIZES_MULTIPLIER, WEAVE_FRAME_NODE_SIZES_ORIENTATION, WEAVE_FRAME_NODE_SIZES_TYPES, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_NODES_SNAPPING_KEY, WEAVE_STAGE_GRID_KEY, Weave, WeaveAction, WeaveBrushToolAction, WeaveConnectedUsersPlugin, WeaveContextMenuPlugin, WeaveCopyPasteNodesPlugin, WeaveExportNodeToolAction, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToSelectionToolAction, WeaveFrameNode, WeaveFrameToolAction, WeaveGroupNode, WeaveImageNode, WeaveImageToolAction, WeaveLayerNode, WeaveLineNode, WeaveMoveToolAction, WeaveNode, WeaveNodesSelectionPlugin, WeaveNodesSnappingPlugin, WeavePenToolAction, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveSelectionToolAction, WeaveStageDropAreaPlugin, WeaveStageGridPlugin, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomPlugin, WeaveStore, WeaveTextNode, WeaveTextToolAction, WeaveUsersPointersPlugin, WeaveZoomInToolAction, WeaveZoomOutToolAction, resetScale };
|
|
22119
|
+
export { BRUSH_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_LINE_DEFAULT_CONFIG, GUIDE_LINE_DRAG_SNAPPING_THRESHOLD, GUIDE_LINE_NAME, GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD, GUIDE_ORIENTATION, IMAGE_TOOL_STATE, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, NODE_SNAP, PEN_TOOL_STATE, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, SELECTION_TOOL_ACTION_NAME, SELECTION_TOOL_STATE, TEXT_TOOL_STATE, WEAVE_COPY_PASTE_NODES_KEY, WEAVE_FRAME_NODE_DEFAULT_CONFIG, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_SIZES, WEAVE_FRAME_NODE_SIZES_MULTIPLIER, WEAVE_FRAME_NODE_SIZES_ORIENTATION, WEAVE_FRAME_NODE_SIZES_TYPES, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_NODES_SNAPPING_KEY, WEAVE_STAGE_GRID_KEY, Weave, WeaveAction, WeaveBrushToolAction, WeaveConnectedUsersPlugin, WeaveContextMenuPlugin, WeaveCopyPasteNodesPlugin, WeaveExportNodeToolAction, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToSelectionToolAction, WeaveFrameNode, WeaveFrameToolAction, WeaveGroupNode, WeaveImageNode, WeaveImageToolAction, WeaveLayerNode, WeaveLineNode, WeaveMoveToolAction, WeaveNode, WeaveNodesSelectionPlugin, WeaveNodesSnappingPlugin, WeavePenToolAction, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveSelectionToolAction, WeaveStageDropAreaPlugin, WeaveStageGridPlugin, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomPlugin, WeaveStore, WeaveTextNode, WeaveTextToolAction, WeaveUsersPointersPlugin, WeaveZoomInToolAction, WeaveZoomOutToolAction, checkIfOverContainer, clearContainerTargets, moveNodeToContainer, resetScale };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inditextech/weave-sdk",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Jesus Manuel Piñeiro Cid <jesusmpc@inditex.com>",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"version:release": "npm version $RELEASE_VERSION -m \"[npm-scripts] prepare release $RELEASE_VERSION\" --tag-version-prefix \"\""
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@inditextech/weave-types": "0.12.
|
|
46
|
+
"@inditextech/weave-types": "0.12.1",
|
|
47
47
|
"@syncedstore/core": "0.6.0",
|
|
48
48
|
"canvas": "3.1.0",
|
|
49
49
|
"konva": "9.3.20",
|