@foblex/flow 17.0.9 → 17.1.0

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.
Files changed (116) hide show
  1. package/domain/f-background/providers.d.ts +1 -1
  2. package/domain/f-canvas/providers.d.ts +1 -1
  3. package/domain/f-draggable/providers.d.ts +1 -1
  4. package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.d.ts +2 -3
  5. package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +2 -2
  6. package/domain/f-flow/get-flow-state/get-flow-state.execution.d.ts +4 -6
  7. package/domain/f-flow/get-flow-state/providers.d.ts +1 -1
  8. package/domain/f-flow/providers.d.ts +1 -1
  9. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.d.ts +3 -0
  10. package/domain/f-node/providers.d.ts +1 -1
  11. package/domain/index.d.ts +1 -0
  12. package/domain/log-execution-time.d.ts +1 -0
  13. package/domain/providers.d.ts +1 -1
  14. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +17 -19
  15. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +5 -5
  16. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +14 -19
  17. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.mjs +2 -2
  18. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.mjs +2 -2
  19. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.mjs +4 -4
  20. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.mjs +5 -1
  21. package/esm2022/domain/index.mjs +2 -1
  22. package/esm2022/domain/log-execution-time.mjs +16 -0
  23. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +3 -3
  24. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +33 -33
  25. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +1 -1
  26. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +9 -3
  27. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +8 -17
  28. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +6 -6
  29. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +25 -19
  30. package/esm2022/f-draggable/f-draggable-data-context.mjs +4 -2
  31. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +1 -1
  32. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +5 -7
  33. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +5 -7
  34. package/esm2022/f-draggable/node/connection.drag-handler.mjs +5 -5
  35. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +37 -22
  36. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.mjs +40 -0
  37. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.mjs +7 -0
  38. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +3 -0
  39. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.mjs +42 -0
  40. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.request.mjs +9 -0
  41. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +3 -0
  42. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +16 -21
  43. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +4 -4
  44. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +1 -1
  45. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +3 -2
  46. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -3
  47. package/esm2022/f-draggable/node/index.mjs +3 -1
  48. package/esm2022/f-draggable/node/line-alignment-preparation/index.mjs +3 -0
  49. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +67 -0
  50. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +3 -0
  51. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +61 -0
  52. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +5 -3
  53. package/esm2022/f-draggable/node/node-move-preparation/index.mjs +1 -2
  54. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +26 -21
  55. package/esm2022/f-draggable/node/node-move-preparation/providers.mjs +1 -3
  56. package/esm2022/f-draggable/node/node.drag-handler.mjs +13 -19
  57. package/esm2022/f-draggable/node/providers.mjs +3 -1
  58. package/esm2022/f-line-alignment/f-line-alignment-base.mjs +1 -1
  59. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +12 -78
  60. package/esm2022/f-storage/f-components-store.mjs +2 -1
  61. package/f-backgroud/providers.d.ts +1 -1
  62. package/f-connection/providers.d.ts +1 -1
  63. package/f-connectors/providers.d.ts +1 -1
  64. package/f-draggable/connections/providers.d.ts +1 -1
  65. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +12 -13
  66. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +2 -0
  67. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.d.ts +3 -6
  68. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.d.ts +3 -3
  69. package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +3 -2
  70. package/f-draggable/domain/providers.d.ts +1 -1
  71. package/f-draggable/f-draggable-data-context.d.ts +1 -2
  72. package/f-draggable/node/connection-base-drag-handler.d.ts +2 -3
  73. package/f-draggable/node/connection-source.drag-handler.d.ts +3 -4
  74. package/f-draggable/node/connection-target.drag-handler.d.ts +3 -4
  75. package/f-draggable/node/connection.drag-handler.d.ts +3 -3
  76. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +6 -3
  77. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.d.ts +13 -0
  78. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.d.ts +5 -0
  79. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +2 -0
  80. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.d.ts +12 -0
  81. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/{get-node-move-restrictions/get-node-move-restrictions.request.d.ts → calculate-node-move-restrictions/calculate-node-move-restrictions.request.d.ts} +1 -1
  82. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +2 -0
  83. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +4 -6
  84. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +4 -4
  85. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +2 -1
  86. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -2
  87. package/f-draggable/node/index.d.ts +2 -0
  88. package/f-draggable/node/line-alignment-preparation/index.d.ts +2 -0
  89. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +21 -0
  90. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +2 -0
  91. package/f-draggable/node/line-alignment.drag-handler.d.ts +20 -0
  92. package/f-draggable/node/node-move-preparation/index.d.ts +0 -1
  93. package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +4 -3
  94. package/f-draggable/node/node-move-preparation/providers.d.ts +1 -2
  95. package/f-draggable/node/node.drag-handler.d.ts +4 -7
  96. package/f-draggable/node/providers.d.ts +2 -1
  97. package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +1 -1
  98. package/f-draggable/node-resize/providers.d.ts +1 -1
  99. package/f-draggable/providers.d.ts +1 -1
  100. package/f-line-alignment/f-line-alignment-base.d.ts +2 -8
  101. package/f-line-alignment/f-line-alignment.component.d.ts +6 -25
  102. package/f-node/providers.d.ts +1 -1
  103. package/f-storage/f-components-store.d.ts +2 -0
  104. package/f-storage/providers.d.ts +1 -1
  105. package/fesm2022/foblex-flow.mjs +638 -544
  106. package/fesm2022/foblex-flow.mjs.map +1 -1
  107. package/package.json +2 -2
  108. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +0 -42
  109. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.mjs +0 -9
  110. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.mjs +0 -2
  111. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.mjs +0 -4
  112. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +0 -39
  113. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.d.ts +0 -12
  114. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.d.ts +0 -5
  115. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.d.ts +0 -3
  116. package/f-draggable/node/node-move-preparation/node-move-preparation.validator.d.ts +0 -14
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foblex/flow",
3
- "version": "17.0.9",
3
+ "version": "17.1.0",
4
4
  "description": "An Angular library designed to simplify the creation and manipulation of dynamic flow. Provides components for flows, nodes, and connections, automating node manipulation and inter-node connections.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -33,7 +33,7 @@
33
33
  "@angular/core": ">=15.0.0",
34
34
  "@foblex/platform": "1.0.4",
35
35
  "@foblex/mediator": "1.1.2",
36
- "@foblex/2d": "1.1.7",
36
+ "@foblex/2d": "1.1.8",
37
37
  "@foblex/drag-toolkit": "1.1.0",
38
38
  "@foblex/utils": "1.1.0"
39
39
  },
@@ -1,42 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { inject, Injectable } from '@angular/core';
3
- import { GetNodeMoveRestrictionsRequest } from './get-node-move-restrictions.request';
4
- import { PointExtensions } from '@foblex/2d';
5
- import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
- import { GetNormalizedParentNodeRectRequest } from '../../../../domain';
7
- import { GetNormalizedElementRectRequest } from '../../../../../domain';
8
- import * as i0 from "@angular/core";
9
- let GetNodeMoveRestrictionsExecution = class GetNodeMoveRestrictionsExecution {
10
- _fMediator = inject(FMediator);
11
- handle(request) {
12
- if (request.fNode.fParentId && !request.hasParentNodeInSelected) {
13
- const fParentNodeRect = this.getParentNodeRect(request.fNode);
14
- const fCurrentNodeRect = this._getNodeRect(request.fNode);
15
- return {
16
- min: PointExtensions.initialize(fParentNodeRect.x - fCurrentNodeRect.x, fParentNodeRect.y - fCurrentNodeRect.y),
17
- max: PointExtensions.initialize((fParentNodeRect.x + fParentNodeRect.width) - (fCurrentNodeRect.x + fCurrentNodeRect.width), (fParentNodeRect.y + fParentNodeRect.height) - (fCurrentNodeRect.y + fCurrentNodeRect.height))
18
- };
19
- }
20
- return { ...DEFAULT_RESTRICTIONS };
21
- }
22
- _getNodeRect(fNode) {
23
- return this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, false));
24
- }
25
- getParentNodeRect(fNode) {
26
- return this._fMediator.send(new GetNormalizedParentNodeRectRequest(fNode));
27
- }
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution });
30
- };
31
- GetNodeMoveRestrictionsExecution = __decorate([
32
- FExecutionRegister(GetNodeMoveRestrictionsRequest)
33
- ], GetNodeMoveRestrictionsExecution);
34
- export { GetNodeMoveRestrictionsExecution };
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution, decorators: [{
36
- type: Injectable
37
- }] });
38
- const DEFAULT_RESTRICTIONS = {
39
- min: PointExtensions.initialize(-Infinity, -Infinity),
40
- max: PointExtensions.initialize(Infinity, Infinity)
41
- };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vZG9tYWluL2dldC1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zL2dldC1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFTLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBSWpFLElBQU0sZ0NBQWdDLEdBQXRDLE1BQU0sZ0NBQWdDO0lBR25DLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFaEMsTUFBTSxDQUFDLE9BQXVDO1FBQ25ELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUNoRSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUQsT0FBTztnQkFDTCxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQztnQkFDL0csR0FBRyxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQzdCLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQzNGLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQzlGO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLEVBQUUsR0FBRyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBZ0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBUSxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBZ0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBUSxJQUFJLGtDQUFrQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQzt1R0ExQlUsZ0NBQWdDOzJHQUFoQyxnQ0FBZ0M7O0FBQWhDLGdDQUFnQztJQUQ1QyxrQkFBa0IsQ0FBQyw4QkFBOEIsQ0FBQztHQUN0QyxnQ0FBZ0MsQ0EyQjVDOzsyRkEzQlksZ0NBQWdDO2tCQUY1QyxVQUFVOztBQStCWCxNQUFNLG9CQUFvQixHQUEwQjtJQUNsRCxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUNyRCxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO0NBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdldE5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCB9IGZyb20gJy4vZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMucmVxdWVzdCc7XG5pbXBvcnQgeyBJUmVjdCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJTm9kZU1vdmVSZXN0cmljdGlvbnMgfSBmcm9tICcuL2ktbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucyc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Tm9kZU1vdmVSZXN0cmljdGlvbnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldE5vZGVNb3ZlUmVzdHJpY3Rpb25zRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXROb2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3QsIElOb2RlTW92ZVJlc3RyaWN0aW9ucz4ge1xuXG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0Tm9kZU1vdmVSZXN0cmljdGlvbnNSZXF1ZXN0KTogSU5vZGVNb3ZlUmVzdHJpY3Rpb25zIHtcbiAgICBpZiAocmVxdWVzdC5mTm9kZS5mUGFyZW50SWQgJiYgIXJlcXVlc3QuaGFzUGFyZW50Tm9kZUluU2VsZWN0ZWQpIHtcbiAgICAgIGNvbnN0IGZQYXJlbnROb2RlUmVjdCA9IHRoaXMuZ2V0UGFyZW50Tm9kZVJlY3QocmVxdWVzdC5mTm9kZSk7XG4gICAgICBjb25zdCBmQ3VycmVudE5vZGVSZWN0ID0gdGhpcy5fZ2V0Tm9kZVJlY3QocmVxdWVzdC5mTm9kZSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtaW46IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKGZQYXJlbnROb2RlUmVjdC54IC0gZkN1cnJlbnROb2RlUmVjdC54LCBmUGFyZW50Tm9kZVJlY3QueSAtIGZDdXJyZW50Tm9kZVJlY3QueSksXG4gICAgICAgIG1heDogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICAgICAgKGZQYXJlbnROb2RlUmVjdC54ICsgZlBhcmVudE5vZGVSZWN0LndpZHRoKSAtIChmQ3VycmVudE5vZGVSZWN0LnggKyBmQ3VycmVudE5vZGVSZWN0LndpZHRoKSxcbiAgICAgICAgICAoZlBhcmVudE5vZGVSZWN0LnkgKyBmUGFyZW50Tm9kZVJlY3QuaGVpZ2h0KSAtIChmQ3VycmVudE5vZGVSZWN0LnkgKyBmQ3VycmVudE5vZGVSZWN0LmhlaWdodCksXG4gICAgICAgIClcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7IC4uLkRFRkFVTFRfUkVTVFJJQ1RJT05TIH07XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlUmVjdChmTm9kZTogRk5vZGVCYXNlKTogSVJlY3Qge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3Iuc2VuZDxJUmVjdD4obmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QoZk5vZGUuaG9zdEVsZW1lbnQsIGZhbHNlKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhcmVudE5vZGVSZWN0KGZOb2RlOiBGTm9kZUJhc2UpOiBJUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5zZW5kPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0UmVxdWVzdChmTm9kZSkpO1xuICB9XG59XG5cbmNvbnN0IERFRkFVTFRfUkVTVFJJQ1RJT05TOiBJTm9kZU1vdmVSZXN0cmljdGlvbnMgPSB7XG4gIG1pbjogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoLUluZmluaXR5LCAtSW5maW5pdHkpLFxuICBtYXg6IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKEluZmluaXR5LCBJbmZpbml0eSlcbn07XG4iXX0=
@@ -1,9 +0,0 @@
1
- export class GetNodeMoveRestrictionsRequest {
2
- fNode;
3
- hasParentNodeInSelected;
4
- constructor(fNode, hasParentNodeInSelected) {
5
- this.fNode = fNode;
6
- this.hasParentNodeInSelected = hasParentNodeInSelected;
7
- }
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2RvbWFpbi9nZXQtbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucy9nZXQtbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucy5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyw4QkFBOEI7SUFHaEM7SUFDQTtJQUZULFlBQ1MsS0FBZ0IsRUFDaEIsdUJBQWdDO1FBRGhDLFVBQUssR0FBTCxLQUFLLENBQVc7UUFDaEIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFTO0lBRXpDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Ytbm9kZSc7XG5cbmV4cG9ydCBjbGFzcyBHZXROb2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmTm9kZTogRk5vZGVCYXNlLFxuICAgIHB1YmxpYyBoYXNQYXJlbnROb2RlSW5TZWxlY3RlZDogYm9vbGVhblxuICApIHtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vZG9tYWluL2dldC1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zL2ktbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5vZGVNb3ZlUmVzdHJpY3Rpb25zIHtcblxuICBtaW46IElQb2ludDtcblxuICBtYXg6IElQb2ludDtcbn1cbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './get-node-move-restrictions.execution';
2
- export * from './get-node-move-restrictions.request';
3
- export * from './i-node-move-restrictions';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9kb21haW4vZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zLmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMucmVxdWVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zJztcbiJdfQ==
@@ -1,39 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { inject, Injectable } from '@angular/core';
3
- import { NodeMovePreparationRequest } from './node-move-preparation.request';
4
- import { FValidatorRegister } from '@foblex/mediator';
5
- import { FComponentsStore } from '../../../f-storage';
6
- import { FDraggableDataContext } from '../../f-draggable-data-context';
7
- import { isClosestElementHasClass } from '@foblex/utils';
8
- import * as i0 from "@angular/core";
9
- let NodeMovePreparationValidator = class NodeMovePreparationValidator {
10
- _fComponentsStore = inject(FComponentsStore);
11
- _fDraggableDataContext = inject(FDraggableDataContext);
12
- handle(request) {
13
- return this._isDragHandlesEmpty()
14
- && this._isDragHandleElement(request.event.targetElement)
15
- && this._isNodeCanBeDragged(this._getNode(request.event.targetElement));
16
- }
17
- _isDragHandlesEmpty() {
18
- return !this._fDraggableDataContext.draggableItems.length;
19
- }
20
- _isDragHandleElement(element) {
21
- return isClosestElementHasClass(element, '.f-drag-handle');
22
- }
23
- _isNodeCanBeDragged(fNode) {
24
- return !!fNode && !fNode.fDraggingDisabled;
25
- }
26
- _getNode(element) {
27
- return this._fComponentsStore.fNodes.find(x => x.isContains(element));
28
- }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationValidator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationValidator });
31
- };
32
- NodeMovePreparationValidator = __decorate([
33
- FValidatorRegister(NodeMovePreparationRequest)
34
- ], NodeMovePreparationValidator);
35
- export { NodeMovePreparationValidator };
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationValidator, decorators: [{
37
- type: Injectable
38
- }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1tb3ZlLXByZXBhcmF0aW9uLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9ub2RlLW1vdmUtcHJlcGFyYXRpb24vbm9kZS1tb3ZlLXByZXBhcmF0aW9uLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUlsRCxJQUFNLDRCQUE0QixHQUFsQyxNQUFNLDRCQUE0QjtJQUUvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUV4RCxNQUFNLENBQUMsT0FBbUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7ZUFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO2VBQ3RELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUM1RCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsT0FBb0I7UUFDL0MsT0FBTyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBNEI7UUFDdEQsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0lBQzdDLENBQUM7SUFFTyxRQUFRLENBQUMsT0FBb0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO3VHQXpCVSw0QkFBNEI7MkdBQTVCLDRCQUE0Qjs7QUFBNUIsNEJBQTRCO0lBRHhDLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDO0dBQ2xDLDRCQUE0QixDQTBCeEM7OzJGQTFCWSw0QkFBNEI7a0JBRnhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9ub2RlLW1vdmUtcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGVmFsaWRhdG9yUmVnaXN0ZXIsIElWYWxpZGF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBpc0Nsb3Nlc3RFbGVtZW50SGFzQ2xhc3MgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcblxuQEluamVjdGFibGUoKVxuQEZWYWxpZGF0b3JSZWdpc3RlcihOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBOb2RlTW92ZVByZXBhcmF0aW9uVmFsaWRhdG9yIGltcGxlbWVudHMgSVZhbGlkYXRvcjxOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdD4ge1xuXG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgX2ZEcmFnZ2FibGVEYXRhQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNEcmFnSGFuZGxlc0VtcHR5KClcbiAgICAgICYmIHRoaXMuX2lzRHJhZ0hhbmRsZUVsZW1lbnQocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KVxuICAgICAgJiYgdGhpcy5faXNOb2RlQ2FuQmVEcmFnZ2VkKHRoaXMuX2dldE5vZGUocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIF9pc0RyYWdIYW5kbGVzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMubGVuZ3RoO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNEcmFnSGFuZGxlRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0Nsb3Nlc3RFbGVtZW50SGFzQ2xhc3MoZWxlbWVudCwgJy5mLWRyYWctaGFuZGxlJyk7XG4gIH1cblxuICBwcml2YXRlIF9pc05vZGVDYW5CZURyYWdnZWQoZk5vZGU6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIWZOb2RlICYmICFmTm9kZS5mRHJhZ2dpbmdEaXNhYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maW5kKHggPT4geC5pc0NvbnRhaW5zKGVsZW1lbnQpKTtcbiAgfVxufVxuIl19
@@ -1,12 +0,0 @@
1
- import { GetNodeMoveRestrictionsRequest } from './get-node-move-restrictions.request';
2
- import { INodeMoveRestrictions } from './i-node-move-restrictions';
3
- import { IExecution } from '@foblex/mediator';
4
- import * as i0 from "@angular/core";
5
- export declare class GetNodeMoveRestrictionsExecution implements IExecution<GetNodeMoveRestrictionsRequest, INodeMoveRestrictions> {
6
- private _fMediator;
7
- handle(request: GetNodeMoveRestrictionsRequest): INodeMoveRestrictions;
8
- private _getNodeRect;
9
- private getParentNodeRect;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<GetNodeMoveRestrictionsExecution, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<GetNodeMoveRestrictionsExecution>;
12
- }
@@ -1,5 +0,0 @@
1
- import { IPoint } from '@foblex/2d';
2
- export interface INodeMoveRestrictions {
3
- min: IPoint;
4
- max: IPoint;
5
- }
@@ -1,3 +0,0 @@
1
- export * from './get-node-move-restrictions.execution';
2
- export * from './get-node-move-restrictions.request';
3
- export * from './i-node-move-restrictions';
@@ -1,14 +0,0 @@
1
- import { NodeMovePreparationRequest } from './node-move-preparation.request';
2
- import { IValidator } from '@foblex/mediator';
3
- import * as i0 from "@angular/core";
4
- export declare class NodeMovePreparationValidator implements IValidator<NodeMovePreparationRequest> {
5
- private _fComponentsStore;
6
- private _fDraggableDataContext;
7
- handle(request: NodeMovePreparationRequest): boolean;
8
- private _isDragHandlesEmpty;
9
- private _isDragHandleElement;
10
- private _isNodeCanBeDragged;
11
- private _getNode;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<NodeMovePreparationValidator, never>;
13
- static ɵprov: i0.ɵɵInjectableDeclaration<NodeMovePreparationValidator>;
14
- }