@foblex/flow 12.0.1 → 12.0.3
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/esm2022/f-connection/common/f-connection-base.mjs +1 -1
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +10 -5
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +4 -5
- package/esm2022/f-draggable/canvas/canvas.prepare-drag-sequence.mjs +2 -2
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +5 -6
- package/esm2022/f-draggable/node/node.on-pointer-up.mjs +1 -4
- package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +3 -3
- package/esm2022/f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.mjs +3 -3
- package/esm2022/f-draggable/single-select/single-select.on-pointer-down.mjs +11 -5
- package/esm2022/f-node/f-node-base.mjs +1 -1
- package/esm2022/f-node/f-node.directive.mjs +12 -6
- package/f-connection/common/f-connection-base.d.ts +2 -1
- package/f-connection/f-connection/f-connection.component.d.ts +3 -2
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +3 -2
- package/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.d.ts +2 -3
- package/f-draggable/node/node.on-pointer-up.d.ts +0 -1
- package/f-node/f-node-base.d.ts +2 -1
- package/f-node/f-node.directive.d.ts +3 -2
- package/fesm2022/foblex-flow.mjs +42 -30
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -25,26 +25,32 @@ export class SingleSelectOnPointerDown {
|
|
|
25
25
|
}
|
|
26
26
|
this.resetSelectionIfNotMultiselect(event);
|
|
27
27
|
if (node) {
|
|
28
|
-
if (!this.fDraggableDataContext.selectedItems.includes(node)) {
|
|
28
|
+
if (!this.fDraggableDataContext.selectedItems.includes(node) && !node.fSelectionDisabled) {
|
|
29
29
|
this.fDraggableDataContext.selectedItems.push(node);
|
|
30
30
|
if (element?.hostElement.dataset['fNodeId'] !== node.hostElement.dataset['fNodeId']) {
|
|
31
31
|
this.fDraggableDataContext.isSelectedChanged = true;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
else {
|
|
35
|
-
this.fDraggableDataContext.selectedItems.
|
|
35
|
+
const index = this.fDraggableDataContext.selectedItems.indexOf(node);
|
|
36
|
+
if (index > -1) {
|
|
37
|
+
this.fDraggableDataContext.selectedItems.splice(index, 1);
|
|
38
|
+
}
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
else if (connection) {
|
|
39
42
|
this.updateConnectionLayerHandler.handle(connection);
|
|
40
|
-
if (!this.fDraggableDataContext.selectedItems.includes(connection)) {
|
|
43
|
+
if (!this.fDraggableDataContext.selectedItems.includes(connection) && !connection.fSelectionDisabled) {
|
|
41
44
|
this.fDraggableDataContext.selectedItems.push(connection);
|
|
42
45
|
if (element?.hostElement.id !== connection.hostElement.id) {
|
|
43
46
|
this.fDraggableDataContext.isSelectedChanged = true;
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
49
|
else {
|
|
47
|
-
this.fDraggableDataContext.selectedItems.
|
|
50
|
+
const index = this.fDraggableDataContext.selectedItems.indexOf(connection);
|
|
51
|
+
if (index > -1) {
|
|
52
|
+
this.fDraggableDataContext.selectedItems.splice(index, 1);
|
|
53
|
+
}
|
|
48
54
|
}
|
|
49
55
|
}
|
|
50
56
|
this.selectIfNotSelected();
|
|
@@ -76,4 +82,4 @@ export class SingleSelectOnPointerDown {
|
|
|
76
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SingleSelectOnPointerDown, decorators: [{
|
|
77
83
|
type: Injectable
|
|
78
84
|
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.GetConnectionHandler }, { type: i3.UpdateConnectionLayerHandler }] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5vbi1wb2ludGVyLWRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5vbi1wb2ludGVyLWRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQixvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBR2hFLE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsWUFDVSxnQkFBa0MsRUFDbEMscUJBQTRDLEVBQzVDLG9CQUEwQyxFQUMxQyw0QkFBMEQ7UUFIMUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsaUNBQTRCLEdBQTVCLDRCQUE0QixDQUE4QjtJQUVwRSxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQW9CO1FBRWhDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDNUUsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENB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Q0FBQyxLQUFvQjtRQUN6RCxNQUFNLGFBQWEsR0FDakIsb0JBQW9CLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7WUFDekQsb0JBQW9CLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyRCxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNiLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBOUVVLHlCQUF5QjtrSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIsIElQb2ludGVyRXZlbnQsIE1vdXNlRXZlbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEdldENvbm5lY3Rpb25IYW5kbGVyLCBVcGRhdGVDb25uZWN0aW9uTGF5ZXJIYW5kbGVyIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBJU2VsZWN0YWJsZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBpc05vZGVPdXRsZXQsIGlzTm9kZU91dHB1dCB9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTaW5nbGVTZWxlY3RPblBvaW50ZXJEb3duIGltcGxlbWVudHMgSUhhbmRsZXI8SVBvaW50ZXJFdmVudCwgdm9pZD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgIHByaXZhdGUgZ2V0Q29ubmVjdGlvbkhhbmRsZXI6IEdldENvbm5lY3Rpb25IYW5kbGVyLFxuICAgIHByaXZhdGUgdXBkYXRlQ29ubmVjdGlvbkxheWVySGFuZGxlcjogVXBkYXRlQ29ubmVjdGlvbkxheWVySGFuZGxlclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcblxuICAgIGlmICghdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZGbG93Py5ob3N0RWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXRFbGVtZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBub2RlID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZpbmROb2RlKGV2ZW50LnRhcmdldEVsZW1lbnQpO1xuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSB0aGlzLmdldENvbm5lY3Rpb25IYW5kbGVyLmhhbmRsZShldmVudC50YXJnZXRFbGVtZW50KTtcbiAgICB0aGlzLmRlc2VsZWN0QWxsKG5vZGUsIGV2ZW50KTtcblxuICAgIGxldCBlbGVtZW50OiBJU2VsZWN0YWJsZSB8IHVuZGVmaW5lZDtcbiAgICBpZiAodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5sZW5ndGgpIHtcbiAgICAgIGVsZW1lbnQgPSB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zWyAwIF07XG4gICAgfVxuXG4gICAgdGhpcy5yZXNldFNlbGVjdGlvbklmTm90TXVsdGlzZWxlY3QoZXZlbnQpO1xuXG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIGlmICghdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhub2RlKSAmJiAhbm9kZS5mU2VsZWN0aW9uRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5wdXNoKG5vZGUpO1xuICAgICAgICBpZiAoZWxlbWVudD8uaG9zdEVsZW1lbnQuZGF0YXNldFsgJ2ZOb2RlSWQnIF0gIT09IG5vZGUuaG9zdEVsZW1lbnQuZGF0YXNldFsgJ2ZOb2RlSWQnIF0pIHtcbiAgICAgICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5pc1NlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5pbmRleE9mKG5vZGUpO1xuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoY29ubmVjdGlvbikge1xuICAgICAgdGhpcy51cGRhdGVDb25uZWN0aW9uTGF5ZXJIYW5kbGVyLmhhbmRsZShjb25uZWN0aW9uKTtcbiAgICAgIGlmICghdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhjb25uZWN0aW9uKSAmJiAhY29ubmVjdGlvbi5mU2VsZWN0aW9uRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5wdXNoKGNvbm5lY3Rpb24pO1xuICAgICAgICBpZiAoZWxlbWVudD8uaG9zdEVsZW1lbnQuaWQgIT09IGNvbm5lY3Rpb24uaG9zdEVsZW1lbnQuaWQpIHtcbiAgICAgICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5pc1NlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5pbmRleE9mKGNvbm5lY3Rpb24pO1xuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNlbGVjdElmTm90U2VsZWN0ZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzZWxlY3RBbGwobm9kZTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkLCBldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgaWYgKHggIT09IG5vZGUgfHwgKCFpc05vZGVPdXRsZXQoZXZlbnQudGFyZ2V0RWxlbWVudCkgJiYgIWlzTm9kZU91dHB1dChldmVudC50YXJnZXRFbGVtZW50KSkpIHtcbiAgICAgICAgeC5kZXNlbGVjdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFNlbGVjdGlvbklmTm90TXVsdGlzZWxlY3QoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpc011bHRpc2VsZWN0ID1cbiAgICAgIE1vdXNlRXZlbnRFeHRlbnNpb25zLmlzQ29tbWFuZEJ1dHRvbihldmVudC5vcmlnaW5hbEV2ZW50KSB8fFxuICAgICAgTW91c2VFdmVudEV4dGVuc2lvbnMuaXNTaGlmdFByZXNzZWQoZXZlbnQub3JpZ2luYWxFdmVudCk7XG4gICAgaWYgKCFpc011bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RJZk5vdFNlbGVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgaWYgKCF4LmlzU2VsZWN0ZWQoKSkge1xuICAgICAgICB4LnNlbGVjdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -30,4 +30,4 @@ export class FNodeBase {
|
|
|
30
30
|
this.positionChange.emit(this.position);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLW5vZGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBMkIsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLGlCQUFpQixDQUFDO0FBSWhFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBWSxRQUFRLENBQUMsQ0FBQztBQUU5RCxNQUFNLE9BQWdCLFNBQVM7SUFBL0I7UUFNa0IsaUJBQVksR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU14RCxjQUFTLEdBQVcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBMkM3RCxDQUFDO0lBM0JRLFVBQVUsQ0FBQyxPQUFpQztRQUNqRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxjQUFjLENBQUMsUUFBZ0I7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCwgSVBvaW50LCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9TRUxFQ1RFRF9DTEFTUywgSVNlbGVjdGFibGUgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSUhhc1N0YXRlQ2hhbmdlcyB9IGZyb20gJy4uL2ktaGFzLXN0YXRlLWNoYW5nZXMnO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi9mLWNvbm5lY3RvcnMnO1xuXG5leHBvcnQgY29uc3QgRl9OT0RFID0gbmV3IEluamVjdGlvblRva2VuPEZOb2RlQmFzZT4oJ0ZfTk9ERScpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRk5vZGVCYXNlIGltcGxlbWVudHMgSUhhc1N0YXRlQ2hhbmdlcywgSVNlbGVjdGFibGUsIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGZOb2RlSWQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZUNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBwb3NpdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPElQb2ludD47XG5cbiAgcHVibGljIGFic3RyYWN0IHBvc2l0aW9uOiBJUG9pbnQ7XG5cbiAgcHJvdGVjdGVkIF9wb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGFic3RyYWN0IGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVmcmVzaCgpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBjb25uZWN0b3JzOiBGQ29ubmVjdG9yQmFzZVtdO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBhZGRDb25uZWN0b3IoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlbW92ZUNvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0U3R5bGUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZDtcblxuICBwdWJsaWMgaXNDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jb250YWlucyhlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdHlsZSgndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgnICsgdGhpcy5wb3NpdGlvbi54ICsgJ3B4LCcgKyB0aGlzLnBvc2l0aW9uLnkgKyAncHgpJyk7XG4gIH1cblxuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKEZfU0VMRUNURURfQ0xBU1MpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUG9zaXRpb24ocG9zaXRpb246IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gcG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgY29tcGxldGVEcmFnKCk6IHZvaWQge1xuICAgIHRoaXMucG9zaXRpb25DaGFuZ2UuZW1pdCh0aGlzLnBvc2l0aW9uKTtcbiAgfVxufVxuIl19
|
|
@@ -26,7 +26,8 @@ export class FNodeDirective extends FNodeBase {
|
|
|
26
26
|
this.subscriptions$ = new Subscription();
|
|
27
27
|
this.fNodeId = `f-node-${uniqueId++}`;
|
|
28
28
|
this.positionChange = new EventEmitter();
|
|
29
|
-
this.
|
|
29
|
+
this.fDraggingDisabled = false;
|
|
30
|
+
this.fSelectionDisabled = false;
|
|
30
31
|
this.connectors = [];
|
|
31
32
|
}
|
|
32
33
|
ngOnInit() {
|
|
@@ -71,7 +72,7 @@ export class FNodeDirective extends FNodeBase {
|
|
|
71
72
|
this.subscriptions$.unsubscribe();
|
|
72
73
|
}
|
|
73
74
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FNodeDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
74
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: FNodeDirective, selector: "[fNode]", inputs: { fNodeId: "fNodeId", position: ["fNodePosition", "position"],
|
|
75
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: FNodeDirective, selector: "[fNode]", inputs: { fNodeId: "fNodeId", position: ["fNodePosition", "position"], fDraggingDisabled: ["fNodeDraggingDisabled", "fDraggingDisabled"], fSelectionDisabled: ["fNodeSelectionDisabled", "fSelectionDisabled"] }, outputs: { positionChange: "fNodePositionChange" }, host: { properties: { "attr.data-f-node-id": "fNodeId", "class.f-node-dragging-disabled": "fDraggingDisabled", "class.f-node-selection-disabled": "fSelectionDisabled" }, classAttribute: "f-node f-component" }, providers: [
|
|
75
76
|
{ provide: F_NODE, useExisting: FNodeDirective }
|
|
76
77
|
], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 }); }
|
|
77
78
|
}
|
|
@@ -83,7 +84,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
83
84
|
host: {
|
|
84
85
|
'[attr.data-f-node-id]': 'fNodeId',
|
|
85
86
|
class: "f-node f-component",
|
|
86
|
-
'[class.f-node-disabled]': '
|
|
87
|
+
'[class.f-node-dragging-disabled]': 'fDraggingDisabled',
|
|
88
|
+
'[class.f-node-selection-disabled]': 'fSelectionDisabled'
|
|
87
89
|
},
|
|
88
90
|
providers: [
|
|
89
91
|
{ provide: F_NODE, useExisting: FNodeDirective }
|
|
@@ -97,7 +99,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
97
99
|
}], positionChange: [{
|
|
98
100
|
type: Output,
|
|
99
101
|
args: ['fNodePositionChange']
|
|
100
|
-
}],
|
|
101
|
-
type: Input
|
|
102
|
+
}], fDraggingDisabled: [{
|
|
103
|
+
type: Input,
|
|
104
|
+
args: ['fNodeDraggingDisabled']
|
|
105
|
+
}], fSelectionDisabled: [{
|
|
106
|
+
type: Input,
|
|
107
|
+
args: ['fNodeSelectionDisabled']
|
|
102
108
|
}] } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1ub2RlL2Ytbm9kZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTJCLGVBQWUsRUFBYyxNQUFNLGNBQWMsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUNMLHdDQUF3QyxFQUN4Qyx3Q0FBd0MsRUFFekMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRXpCLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWV6QixNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQVM7SUFPM0MsSUFDb0IsUUFBUSxDQUFDLEtBQWlCO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELElBQW9CLFFBQVE7UUFDMUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFXRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFJRCxZQUNZLGdCQUF5QyxFQUN6QyxRQUFtQixFQUNuQixnQkFBa0M7UUFFNUMsS0FBSyxFQUFFLENBQUM7UUFKRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBQ3pDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWpDdEMsbUJBQWMsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUcxQyxZQUFPLEdBQVcsVUFBVyxRQUFRLEVBQUcsRUFBRSxDQUFDO1FBYTNDLG1CQUFjLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHbEUsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBR25DLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQU1wQyxlQUFVLEdBQXFCLEVBQUUsQ0FBQztJQVNsRCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFa0IsUUFBUSxDQUFDLFNBQWlCLEVBQUUsS0FBYTtRQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDbkIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQ2xDLENBQUM7SUFDSixDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLE9BQU8sSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvRixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQTBCLEVBQUUsRUFBRTtnQkFFckQsVUFBVSxDQUFDLGdCQUFnQixHQUFHLElBQUksd0NBQXdDLEVBQUUsQ0FBQyxNQUFNLENBQy9FLElBQUksd0NBQXdDLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDN0UsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFZSxZQUFZLENBQUMsU0FBeUI7UUFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVlLGVBQWUsQ0FBQyxTQUF5QjtRQUN2RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBN0ZVLGNBQWM7a0dBQWQsY0FBYywwZkFKZDtZQUNULEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFO1NBQ2pEOzsyRkFFVSxjQUFjO2tCQWIxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxTQUFTO29CQUNuQixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsSUFBSSxFQUFFO3dCQUNKLHVCQUF1QixFQUFFLFNBQVM7d0JBQ2xDLEtBQUssRUFBRSxvQkFBb0I7d0JBQzNCLGtDQUFrQyxFQUFFLG1CQUFtQjt3QkFDdkQsbUNBQW1DLEVBQUUsb0JBQW9CO3FCQUMxRDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsZ0JBQWdCLEVBQUU7cUJBQ2pEO2lCQUNGO3NJQU1pQixPQUFPO3NCQUR0QixLQUFLO2dCQUljLFFBQVE7c0JBRDNCLEtBQUs7dUJBQUMsZUFBZTtnQkFXTixjQUFjO3NCQUQ3QixNQUFNO3VCQUFDLHFCQUFxQjtnQkFJYixpQkFBaUI7c0JBRGhDLEtBQUs7dUJBQUMsdUJBQXVCO2dCQUlkLGtCQUFrQjtzQkFEakMsS0FBSzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCwgSVBvaW50LCBQb2ludEV4dGVuc2lvbnMsIFBvaW50SW5wdXQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9OT0RFLCBGTm9kZUJhc2UgfSBmcm9tICcuL2Ytbm9kZS1iYXNlJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuL2YtcmVzaXplLW9ic2VydmVyJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlSGFuZGxlcixcbiAgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlUmVxdWVzdCxcbiAgRkNvbm5lY3RvckJhc2Vcbn0gZnJvbSAnLi4vZi1jb25uZWN0b3JzJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW2ZOb2RlXVwiLFxuICBleHBvcnRBczogXCJmQ29tcG9uZW50XCIsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1mLW5vZGUtaWRdJzogJ2ZOb2RlSWQnLFxuICAgIGNsYXNzOiBcImYtbm9kZSBmLWNvbXBvbmVudFwiLFxuICAgICdbY2xhc3MuZi1ub2RlLWRyYWdnaW5nLWRpc2FibGVkXSc6ICdmRHJhZ2dpbmdEaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5mLW5vZGUtc2VsZWN0aW9uLWRpc2FibGVkXSc6ICdmU2VsZWN0aW9uRGlzYWJsZWQnXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9OT0RFLCB1c2VFeGlzdGluZzogRk5vZGVEaXJlY3RpdmUgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTm9kZURpcmVjdGl2ZSBleHRlbmRzIEZOb2RlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgSUhhc0hvc3RFbGVtZW50LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZk5vZGVJZDogc3RyaW5nID0gYGYtbm9kZS0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIEBJbnB1dCgnZk5vZGVQb3NpdGlvbicpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgcG9zaXRpb24odmFsdWU6IFBvaW50SW5wdXQpIHtcbiAgICB0aGlzLl9wb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5jYXN0VG9Qb2ludCh2YWx1ZSk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHBvc2l0aW9uKCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uO1xuICB9XG5cbiAgQE91dHB1dCgnZk5vZGVQb3NpdGlvbkNoYW5nZScpXG4gIHB1YmxpYyBvdmVycmlkZSBwb3NpdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPElQb2ludD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQb2ludD4oKTtcblxuICBASW5wdXQoJ2ZOb2RlRHJhZ2dpbmdEaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ2dpbmdEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnZk5vZGVTZWxlY3Rpb25EaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdG9yczogRkNvbm5lY3RvckJhc2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdHlsZSgncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0cmFuc2Zvcm0tb3JpZ2luJywgJzAgMCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3VzZXItc2VsZWN0JywgJ25vbmUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdwb2ludGVyLWV2ZW50cycsICdhbGwnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdsZWZ0JywgJzAnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0b3AnLCAnMCcpO1xuICAgIHN1cGVyLnJlZHJhdygpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGROb2RlKHRoaXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNldFN0eWxlKHN0eWxlTmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50LCBzdHlsZU5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5hZGQoXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlT25SZXNpemVDaGFuZ2VzKClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVPblJlc2l6ZUNoYW5nZXMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gbmV3IEZSZXNpemVPYnNlcnZlcih0aGlzLmhvc3RFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5waXBlKHN0YXJ0V2l0aChudWxsKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdG9ycy5mb3JFYWNoKChmQ29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSkgPT4ge1xuXG4gICAgICAgIGZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSA9IG5ldyBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZVJlcXVlc3QoZkNvbm5lY3RvciwgdGhpcy5ob3N0RWxlbWVudClcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGFkZENvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JzLnB1c2goY29ubmVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZW1vdmVDb25uZWN0b3IoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jb25uZWN0b3JzLmluZGV4T2YoY29ubmVjdG9yKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLmNvbm5lY3RvcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZU5vZGUodGhpcyk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -31,7 +31,8 @@ export declare abstract class FConnectionBase extends MIXIN_BASE implements IHas
|
|
|
31
31
|
path: string;
|
|
32
32
|
vector: IVector;
|
|
33
33
|
readonly stateChanges: Subject<void>;
|
|
34
|
-
abstract
|
|
34
|
+
abstract fDraggingDisabled: boolean;
|
|
35
|
+
abstract fSelectionDisabled: boolean;
|
|
35
36
|
abstract boundingElement: HTMLElement | SVGElement;
|
|
36
37
|
abstract fBehavior: EFConnectionBehavior;
|
|
37
38
|
abstract fType: EFConnectionType;
|
|
@@ -20,7 +20,8 @@ export declare class FConnectionComponent extends FConnectionBase implements OnI
|
|
|
20
20
|
set fType(value: EFConnectionType);
|
|
21
21
|
get fType(): EFConnectionType;
|
|
22
22
|
private _type;
|
|
23
|
-
|
|
23
|
+
fDraggingDisabled: boolean;
|
|
24
|
+
fSelectionDisabled: boolean;
|
|
24
25
|
fDefs: ElementRef<SVGDefsElement>;
|
|
25
26
|
fMarkers: QueryList<FMarkerBase>;
|
|
26
27
|
fPath: IConnectionPath;
|
|
@@ -35,7 +36,7 @@ export declare class FConnectionComponent extends FConnectionBase implements OnI
|
|
|
35
36
|
ngOnInit(): void;
|
|
36
37
|
ngOnDestroy(): void;
|
|
37
38
|
static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionComponent, never>;
|
|
38
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionComponent, "f-connection", ["fComponent"], { "fConnectionId": { "alias": "fConnectionId"; "required": false; }; "fText": { "alias": "fText"; "required": false; }; "fStartColor": { "alias": "fStartColor"; "required": false; }; "fEndColor": { "alias": "fEndColor"; "required": false; }; "fOutputId": { "alias": "fOutputId"; "required": true; }; "fInputId": { "alias": "fInputId"; "required": true; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; "
|
|
39
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionComponent, "f-connection", ["fComponent"], { "fConnectionId": { "alias": "fConnectionId"; "required": false; }; "fText": { "alias": "fText"; "required": false; }; "fStartColor": { "alias": "fStartColor"; "required": false; }; "fEndColor": { "alias": "fEndColor"; "required": false; }; "fOutputId": { "alias": "fOutputId"; "required": true; }; "fInputId": { "alias": "fInputId"; "required": true; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; "fDraggingDisabled": { "alias": "fReassignDisabled"; "required": false; }; "fSelectionDisabled": { "alias": "fSelectionDisabled"; "required": false; }; }, {}, ["fMarkers", "fConnectionCenters"], ["*", "[fConnectionCenter]"], false, never>;
|
|
39
40
|
static ngAcceptInputType_fBehavior: string;
|
|
40
41
|
static ngAcceptInputType_fType: string;
|
|
41
42
|
}
|
|
@@ -20,7 +20,8 @@ export declare class FConnectionForCreateComponent extends FConnectionBase imple
|
|
|
20
20
|
set fType(value: EFConnectionType);
|
|
21
21
|
get fType(): EFConnectionType;
|
|
22
22
|
private _type;
|
|
23
|
-
|
|
23
|
+
fDraggingDisabled: boolean;
|
|
24
|
+
fSelectionDisabled: boolean;
|
|
24
25
|
fDefs: ElementRef<SVGDefsElement>;
|
|
25
26
|
fMarkers: QueryList<FMarkerBase>;
|
|
26
27
|
fPath: IConnectionPath;
|
|
@@ -36,7 +37,7 @@ export declare class FConnectionForCreateComponent extends FConnectionBase imple
|
|
|
36
37
|
ngAfterViewInit(): void;
|
|
37
38
|
ngOnDestroy(): void;
|
|
38
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionForCreateComponent, never>;
|
|
39
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionForCreateComponent, "f-connection-for-create", never, { "fStartColor": { "alias": "fStartColor"; "required": false; }; "fEndColor": { "alias": "fEndColor"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; };
|
|
40
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionForCreateComponent, "f-connection-for-create", never, { "fStartColor": { "alias": "fStartColor"; "required": false; }; "fEndColor": { "alias": "fEndColor"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; }, {}, ["fMarkers", "fConnectionCenters"], ["*", "[fConnectionCenter]"], false, never>;
|
|
40
41
|
static ngAcceptInputType_fBehavior: string;
|
|
41
42
|
static ngAcceptInputType_fType: string;
|
|
42
43
|
}
|
package/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.d.ts
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { IHandler, IPointerEvent } from '@foblex/core';
|
|
2
2
|
import { FComponentsStore } from '../../../f-components-store';
|
|
3
3
|
import { FDraggableDataContext } from '../../f-draggable-data-context';
|
|
4
|
-
import { GetConnectionHandler,
|
|
4
|
+
import { GetConnectionHandler, UpdateConnectionLayerHandler } from '../../../domain';
|
|
5
5
|
import { FFlowMediator } from '../../../f-mediator';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class ReassignConnectionPrepareDragSequence implements IHandler<IPointerEvent, void> {
|
|
8
8
|
private fComponentsStore;
|
|
9
9
|
private fDraggableDataContext;
|
|
10
10
|
private getConnectionHandler;
|
|
11
|
-
private getInputRectInFlowHandler;
|
|
12
11
|
private fMediator;
|
|
13
12
|
private updateConnectionLayerHandler;
|
|
14
13
|
private get transform();
|
|
15
14
|
private get flowHost();
|
|
16
|
-
constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, getConnectionHandler: GetConnectionHandler,
|
|
15
|
+
constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, getConnectionHandler: GetConnectionHandler, fMediator: FFlowMediator, updateConnectionLayerHandler: UpdateConnectionLayerHandler);
|
|
17
16
|
handle(event: IPointerEvent): void;
|
|
18
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<ReassignConnectionPrepareDragSequence, never>;
|
|
19
18
|
static ɵprov: i0.ɵɵInjectableDeclaration<ReassignConnectionPrepareDragSequence>;
|
|
@@ -7,7 +7,6 @@ export declare class NodeOnPointerUp implements IHandler<IPointerEvent, void> {
|
|
|
7
7
|
private fComponentsStore;
|
|
8
8
|
private fDraggableDataContext;
|
|
9
9
|
private isConnectionUnderNodeHandler;
|
|
10
|
-
private get transform();
|
|
11
10
|
private get flowHost();
|
|
12
11
|
constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, isConnectionUnderNodeHandler: IsConnectionUnderNodeHandler);
|
|
13
12
|
handle(event: IPointerEvent): void;
|
package/f-node/f-node-base.d.ts
CHANGED
|
@@ -12,7 +12,8 @@ export declare abstract class FNodeBase implements IHasStateChanges, ISelectable
|
|
|
12
12
|
abstract positionChange: EventEmitter<IPoint>;
|
|
13
13
|
abstract position: IPoint;
|
|
14
14
|
protected _position: IPoint;
|
|
15
|
-
abstract
|
|
15
|
+
abstract fDraggingDisabled: boolean;
|
|
16
|
+
abstract fSelectionDisabled: boolean;
|
|
16
17
|
abstract refresh(): void;
|
|
17
18
|
abstract connectors: FConnectorBase[];
|
|
18
19
|
abstract addConnector(connector: FConnectorBase): void;
|
|
@@ -13,7 +13,8 @@ export declare class FNodeDirective extends FNodeBase implements OnInit, AfterVi
|
|
|
13
13
|
set position(value: PointInput);
|
|
14
14
|
get position(): IPoint;
|
|
15
15
|
positionChange: EventEmitter<IPoint>;
|
|
16
|
-
|
|
16
|
+
fDraggingDisabled: boolean;
|
|
17
|
+
fSelectionDisabled: boolean;
|
|
17
18
|
get hostElement(): HTMLElement;
|
|
18
19
|
connectors: FConnectorBase[];
|
|
19
20
|
constructor(elementReference: ElementRef<HTMLElement>, renderer: Renderer2, fComponentsStore: FComponentsStore);
|
|
@@ -26,5 +27,5 @@ export declare class FNodeDirective extends FNodeBase implements OnInit, AfterVi
|
|
|
26
27
|
refresh(): void;
|
|
27
28
|
ngOnDestroy(): void;
|
|
28
29
|
static ɵfac: i0.ɵɵFactoryDeclaration<FNodeDirective, never>;
|
|
29
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FNodeDirective, "[fNode]", ["fComponent"], { "fNodeId": { "alias": "fNodeId"; "required": false; }; "position": { "alias": "fNodePosition"; "required": false; }; "
|
|
30
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FNodeDirective, "[fNode]", ["fComponent"], { "fNodeId": { "alias": "fNodeId"; "required": false; }; "position": { "alias": "fNodePosition"; "required": false; }; "fDraggingDisabled": { "alias": "fNodeDraggingDisabled"; "required": false; }; "fSelectionDisabled": { "alias": "fNodeSelectionDisabled"; "required": false; }; }, { "positionChange": "fNodePositionChange"; }, never, never, false, never>;
|
|
30
31
|
}
|
package/fesm2022/foblex-flow.mjs
CHANGED
|
@@ -1375,7 +1375,8 @@ class FConnectionForCreateComponent extends FConnectionBase {
|
|
|
1375
1375
|
this.fEndColor = 'black';
|
|
1376
1376
|
this._behavior = EFConnectionBehavior.FIXED;
|
|
1377
1377
|
this._type = EFConnectionType.STRAIGHT;
|
|
1378
|
-
this.
|
|
1378
|
+
this.fDraggingDisabled = false;
|
|
1379
|
+
this.fSelectionDisabled = false;
|
|
1379
1380
|
}
|
|
1380
1381
|
ngOnInit() {
|
|
1381
1382
|
this.fComponentsStore.fTempConnection = this;
|
|
@@ -1387,7 +1388,7 @@ class FConnectionForCreateComponent extends FConnectionBase {
|
|
|
1387
1388
|
this.fComponentsStore.fTempConnection = undefined;
|
|
1388
1389
|
}
|
|
1389
1390
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FConnectionForCreateComponent, deps: [{ token: i0.ElementRef }, { token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1390
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: FConnectionForCreateComponent, selector: "f-connection-for-create", inputs: { fStartColor: "fStartColor", fEndColor: "fEndColor", fBehavior: ["fBehavior", "fBehavior", castToConnectionBehavior], fType: ["fType", "fType", castToConnectionType]
|
|
1391
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: FConnectionForCreateComponent, selector: "f-connection-for-create", inputs: { fStartColor: "fStartColor", fEndColor: "fEndColor", fBehavior: ["fBehavior", "fBehavior", castToConnectionBehavior], fType: ["fType", "fType", castToConnectionType] }, host: { classAttribute: "f-component f-connection f-connection-for-create" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionForCreateComponent }], queries: [{ propertyName: "fMarkers", predicate: F_MARKER, descendants: true }, { propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path\n [attr.d]=\"path\">\n </path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1391
1392
|
}
|
|
1392
1393
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FConnectionForCreateComponent, decorators: [{
|
|
1393
1394
|
type: Component,
|
|
@@ -1404,8 +1405,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
1404
1405
|
}], fType: [{
|
|
1405
1406
|
type: Input,
|
|
1406
1407
|
args: [{ transform: castToConnectionType }]
|
|
1407
|
-
}], disabled: [{
|
|
1408
|
-
type: Input
|
|
1409
1408
|
}], fDefs: [{
|
|
1410
1409
|
type: ViewChild,
|
|
1411
1410
|
args: ['defs', { static: true }]
|
|
@@ -1461,7 +1460,8 @@ class FConnectionComponent extends FConnectionBase {
|
|
|
1461
1460
|
this.fEndColor = 'black';
|
|
1462
1461
|
this._behavior = EFConnectionBehavior.FIXED;
|
|
1463
1462
|
this._type = EFConnectionType.STRAIGHT;
|
|
1464
|
-
this.
|
|
1463
|
+
this.fDraggingDisabled = false;
|
|
1464
|
+
this.fSelectionDisabled = false;
|
|
1465
1465
|
}
|
|
1466
1466
|
ngOnInit() {
|
|
1467
1467
|
this.fComponentsStore.addConnection(this);
|
|
@@ -1470,14 +1470,15 @@ class FConnectionComponent extends FConnectionBase {
|
|
|
1470
1470
|
this.fComponentsStore.removeConnection(this);
|
|
1471
1471
|
}
|
|
1472
1472
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FConnectionComponent, deps: [{ token: i0.ElementRef }, { token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1473
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: FConnectionComponent, selector: "f-connection", inputs: { fConnectionId: "fConnectionId", fText: "fText", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fBehavior: ["fBehavior", "fBehavior", castToConnectionBehavior], fType: ["fType", "fType", castToConnectionType],
|
|
1473
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: FConnectionComponent, selector: "f-connection", inputs: { fConnectionId: "fConnectionId", fText: "fText", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fBehavior: ["fBehavior", "fBehavior", castToConnectionBehavior], fType: ["fType", "fType", castToConnectionType], fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled"], fSelectionDisabled: "fSelectionDisabled" }, host: { properties: { "attr.id": "fConnectionId", "class.f-connection-selection-disabled": "fDisableSelection", "class.f-connection-reassign-disabled": "fDisableDragging" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fMarkers", predicate: F_MARKER, descendants: true }, { propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path\n [attr.d]=\"path\">\n </path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1474
1474
|
}
|
|
1475
1475
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FConnectionComponent, decorators: [{
|
|
1476
1476
|
type: Component,
|
|
1477
1477
|
args: [{ selector: "f-connection", exportAs: 'fComponent', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
1478
1478
|
'[attr.id]': 'fConnectionId',
|
|
1479
1479
|
class: "f-component f-connection",
|
|
1480
|
-
'[class.f-connection-disabled]': '
|
|
1480
|
+
'[class.f-connection-selection-disabled]': 'fDisableSelection',
|
|
1481
|
+
'[class.f-connection-reassign-disabled]': 'fDisableDragging',
|
|
1481
1482
|
}, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path\n [attr.d]=\"path\">\n </path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}\n"] }]
|
|
1482
1483
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: FComponentsStore }], propDecorators: { fConnectionId: [{
|
|
1483
1484
|
type: Input
|
|
@@ -1499,7 +1500,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
1499
1500
|
}], fType: [{
|
|
1500
1501
|
type: Input,
|
|
1501
1502
|
args: [{ transform: castToConnectionType }]
|
|
1502
|
-
}],
|
|
1503
|
+
}], fDraggingDisabled: [{
|
|
1504
|
+
type: Input,
|
|
1505
|
+
args: ['fReassignDisabled']
|
|
1506
|
+
}], fSelectionDisabled: [{
|
|
1503
1507
|
type: Input
|
|
1504
1508
|
}], fDefs: [{
|
|
1505
1509
|
type: ViewChild,
|
|
@@ -1663,7 +1667,8 @@ class FNodeDirective extends FNodeBase {
|
|
|
1663
1667
|
this.subscriptions$ = new Subscription();
|
|
1664
1668
|
this.fNodeId = `f-node-${uniqueId$2++}`;
|
|
1665
1669
|
this.positionChange = new EventEmitter();
|
|
1666
|
-
this.
|
|
1670
|
+
this.fDraggingDisabled = false;
|
|
1671
|
+
this.fSelectionDisabled = false;
|
|
1667
1672
|
this.connectors = [];
|
|
1668
1673
|
}
|
|
1669
1674
|
ngOnInit() {
|
|
@@ -1708,7 +1713,7 @@ class FNodeDirective extends FNodeBase {
|
|
|
1708
1713
|
this.subscriptions$.unsubscribe();
|
|
1709
1714
|
}
|
|
1710
1715
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FNodeDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1711
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: FNodeDirective, selector: "[fNode]", inputs: { fNodeId: "fNodeId", position: ["fNodePosition", "position"],
|
|
1716
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: FNodeDirective, selector: "[fNode]", inputs: { fNodeId: "fNodeId", position: ["fNodePosition", "position"], fDraggingDisabled: ["fNodeDraggingDisabled", "fDraggingDisabled"], fSelectionDisabled: ["fNodeSelectionDisabled", "fSelectionDisabled"] }, outputs: { positionChange: "fNodePositionChange" }, host: { properties: { "attr.data-f-node-id": "fNodeId", "class.f-node-dragging-disabled": "fDraggingDisabled", "class.f-node-selection-disabled": "fSelectionDisabled" }, classAttribute: "f-node f-component" }, providers: [
|
|
1712
1717
|
{ provide: F_NODE, useExisting: FNodeDirective }
|
|
1713
1718
|
], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 }); }
|
|
1714
1719
|
}
|
|
@@ -1720,7 +1725,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
1720
1725
|
host: {
|
|
1721
1726
|
'[attr.data-f-node-id]': 'fNodeId',
|
|
1722
1727
|
class: "f-node f-component",
|
|
1723
|
-
'[class.f-node-disabled]': '
|
|
1728
|
+
'[class.f-node-dragging-disabled]': 'fDraggingDisabled',
|
|
1729
|
+
'[class.f-node-selection-disabled]': 'fSelectionDisabled'
|
|
1724
1730
|
},
|
|
1725
1731
|
providers: [
|
|
1726
1732
|
{ provide: F_NODE, useExisting: FNodeDirective }
|
|
@@ -1734,8 +1740,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
1734
1740
|
}], positionChange: [{
|
|
1735
1741
|
type: Output,
|
|
1736
1742
|
args: ['fNodePositionChange']
|
|
1737
|
-
}],
|
|
1738
|
-
type: Input
|
|
1743
|
+
}], fDraggingDisabled: [{
|
|
1744
|
+
type: Input,
|
|
1745
|
+
args: ['fNodeDraggingDisabled']
|
|
1746
|
+
}], fSelectionDisabled: [{
|
|
1747
|
+
type: Input,
|
|
1748
|
+
args: ['fNodeSelectionDisabled']
|
|
1739
1749
|
}] } });
|
|
1740
1750
|
|
|
1741
1751
|
function isNode(element) {
|
|
@@ -2021,7 +2031,7 @@ class CanvasPrepareDragSequence {
|
|
|
2021
2031
|
const isBackgroundElement = this.fComponentsStore.fBackground?.isBackgroundElement(event.targetElement);
|
|
2022
2032
|
const isFlowHost = this.flowHost.contains(event.targetElement);
|
|
2023
2033
|
let node = this.fComponentsStore.findNode(event.targetElement);
|
|
2024
|
-
if (node && node.
|
|
2034
|
+
if (node && node.fDraggingDisabled) {
|
|
2025
2035
|
node = undefined;
|
|
2026
2036
|
}
|
|
2027
2037
|
if ((isBackgroundElement || (isFlowHost && !node)) && !this.fDraggableDataContext.draggableItems.length) {
|
|
@@ -2432,11 +2442,10 @@ class ReassignConnectionPrepareDragSequence {
|
|
|
2432
2442
|
get flowHost() {
|
|
2433
2443
|
return this.fComponentsStore.fFlow.hostElement;
|
|
2434
2444
|
}
|
|
2435
|
-
constructor(fComponentsStore, fDraggableDataContext, getConnectionHandler,
|
|
2445
|
+
constructor(fComponentsStore, fDraggableDataContext, getConnectionHandler, fMediator, updateConnectionLayerHandler) {
|
|
2436
2446
|
this.fComponentsStore = fComponentsStore;
|
|
2437
2447
|
this.fDraggableDataContext = fDraggableDataContext;
|
|
2438
2448
|
this.getConnectionHandler = getConnectionHandler;
|
|
2439
|
-
this.getInputRectInFlowHandler = getInputRectInFlowHandler;
|
|
2440
2449
|
this.fMediator = fMediator;
|
|
2441
2450
|
this.updateConnectionLayerHandler = updateConnectionLayerHandler;
|
|
2442
2451
|
}
|
|
@@ -2449,7 +2458,7 @@ class ReassignConnectionPrepareDragSequence {
|
|
|
2449
2458
|
});
|
|
2450
2459
|
let connectionToReassign;
|
|
2451
2460
|
if (dragHandlesOfConnections.length) {
|
|
2452
|
-
const connections = dragHandlesOfConnections.map((x) => this.getConnectionHandler.handle(x)).filter((x) => !x?.
|
|
2461
|
+
const connections = dragHandlesOfConnections.map((x) => this.getConnectionHandler.handle(x)).filter((x) => !x?.fDraggingDisabled);
|
|
2453
2462
|
if (connections.length) {
|
|
2454
2463
|
connectionToReassign = this.getConnectionHandler.handle(dragHandlesOfConnections[0]);
|
|
2455
2464
|
}
|
|
@@ -2463,12 +2472,12 @@ class ReassignConnectionPrepareDragSequence {
|
|
|
2463
2472
|
];
|
|
2464
2473
|
}
|
|
2465
2474
|
}
|
|
2466
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ReassignConnectionPrepareDragSequence, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: GetConnectionHandler }, { token:
|
|
2475
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ReassignConnectionPrepareDragSequence, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: GetConnectionHandler }, { token: FFlowMediator }, { token: UpdateConnectionLayerHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2467
2476
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ReassignConnectionPrepareDragSequence }); }
|
|
2468
2477
|
}
|
|
2469
2478
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ReassignConnectionPrepareDragSequence, decorators: [{
|
|
2470
2479
|
type: Injectable
|
|
2471
|
-
}], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: GetConnectionHandler }, { type:
|
|
2480
|
+
}], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: GetConnectionHandler }, { type: FFlowMediator }, { type: UpdateConnectionLayerHandler }] });
|
|
2472
2481
|
|
|
2473
2482
|
const CONNECTIONS_PROVIDERS = [
|
|
2474
2483
|
FindFirstCanBeConnectedOutputByOutletHandler,
|
|
@@ -2844,9 +2853,6 @@ class NodeDragHandler {
|
|
|
2844
2853
|
}
|
|
2845
2854
|
|
|
2846
2855
|
class NodeOnPointerUp {
|
|
2847
|
-
get transform() {
|
|
2848
|
-
return this.fComponentsStore.fCanvas.transform;
|
|
2849
|
-
}
|
|
2850
2856
|
get flowHost() {
|
|
2851
2857
|
return this.fComponentsStore.fFlow.hostElement;
|
|
2852
2858
|
}
|
|
@@ -2898,9 +2904,9 @@ class NodePrepareDragSequence {
|
|
|
2898
2904
|
handle(event) {
|
|
2899
2905
|
const node = this.fComponentsStore.findNode(event.targetElement);
|
|
2900
2906
|
const pointerPositionInFlow = Point.fromPoint(event.getPosition()).elementTransform(this.flowHost);
|
|
2901
|
-
if (node && !node.
|
|
2907
|
+
if (node && !node.fDraggingDisabled && !this.fDraggableDataContext.draggableItems.length) {
|
|
2902
2908
|
if (isNodeDragHandle(event.targetElement)) {
|
|
2903
|
-
if (!this.fDraggableDataContext.selectedItems.includes(node)) {
|
|
2909
|
+
if (!this.fDraggableDataContext.selectedItems.includes(node) && !node.fSelectionDisabled) {
|
|
2904
2910
|
this.fDraggableDataContext.selectedItems.push(node);
|
|
2905
2911
|
node.select();
|
|
2906
2912
|
this.fDraggableDataContext.isSelectedChanged = true;
|
|
@@ -2998,7 +3004,7 @@ class GetCanBeSelectedItemsHandler {
|
|
|
2998
3004
|
return result;
|
|
2999
3005
|
}
|
|
3000
3006
|
getNodesWithRects() {
|
|
3001
|
-
return this.fNodes.map((x) => {
|
|
3007
|
+
return this.fNodes.filter((x) => !x.fSelectionDisabled).map((x) => {
|
|
3002
3008
|
const rect = this.fMediator.send(new GetElementRectInFlowRequest(x.hostElement));
|
|
3003
3009
|
return {
|
|
3004
3010
|
element: x,
|
|
@@ -3007,7 +3013,7 @@ class GetCanBeSelectedItemsHandler {
|
|
|
3007
3013
|
});
|
|
3008
3014
|
}
|
|
3009
3015
|
getConnectionsWithRects() {
|
|
3010
|
-
return this.fConnections.map((x) => {
|
|
3016
|
+
return this.fConnections.filter((x) => !x.fSelectionDisabled).map((x) => {
|
|
3011
3017
|
const rect = this.fMediator.send(new GetElementRectInFlowRequest(x.boundingElement));
|
|
3012
3018
|
return {
|
|
3013
3019
|
element: x,
|
|
@@ -3142,26 +3148,32 @@ class SingleSelectOnPointerDown {
|
|
|
3142
3148
|
}
|
|
3143
3149
|
this.resetSelectionIfNotMultiselect(event);
|
|
3144
3150
|
if (node) {
|
|
3145
|
-
if (!this.fDraggableDataContext.selectedItems.includes(node)) {
|
|
3151
|
+
if (!this.fDraggableDataContext.selectedItems.includes(node) && !node.fSelectionDisabled) {
|
|
3146
3152
|
this.fDraggableDataContext.selectedItems.push(node);
|
|
3147
3153
|
if (element?.hostElement.dataset['fNodeId'] !== node.hostElement.dataset['fNodeId']) {
|
|
3148
3154
|
this.fDraggableDataContext.isSelectedChanged = true;
|
|
3149
3155
|
}
|
|
3150
3156
|
}
|
|
3151
3157
|
else {
|
|
3152
|
-
this.fDraggableDataContext.selectedItems.
|
|
3158
|
+
const index = this.fDraggableDataContext.selectedItems.indexOf(node);
|
|
3159
|
+
if (index > -1) {
|
|
3160
|
+
this.fDraggableDataContext.selectedItems.splice(index, 1);
|
|
3161
|
+
}
|
|
3153
3162
|
}
|
|
3154
3163
|
}
|
|
3155
3164
|
else if (connection) {
|
|
3156
3165
|
this.updateConnectionLayerHandler.handle(connection);
|
|
3157
|
-
if (!this.fDraggableDataContext.selectedItems.includes(connection)) {
|
|
3166
|
+
if (!this.fDraggableDataContext.selectedItems.includes(connection) && !connection.fSelectionDisabled) {
|
|
3158
3167
|
this.fDraggableDataContext.selectedItems.push(connection);
|
|
3159
3168
|
if (element?.hostElement.id !== connection.hostElement.id) {
|
|
3160
3169
|
this.fDraggableDataContext.isSelectedChanged = true;
|
|
3161
3170
|
}
|
|
3162
3171
|
}
|
|
3163
3172
|
else {
|
|
3164
|
-
this.fDraggableDataContext.selectedItems.
|
|
3173
|
+
const index = this.fDraggableDataContext.selectedItems.indexOf(connection);
|
|
3174
|
+
if (index > -1) {
|
|
3175
|
+
this.fDraggableDataContext.selectedItems.splice(index, 1);
|
|
3176
|
+
}
|
|
3165
3177
|
}
|
|
3166
3178
|
}
|
|
3167
3179
|
this.selectIfNotSelected();
|