@foblex/flow 1.5.4 → 1.5.6

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 (127) hide show
  1. package/domain/clear-selection/clear-selection.handler.d.ts +11 -0
  2. package/domain/clear-selection/clear-selection.request.d.ts +2 -0
  3. package/domain/clear-selection/index.d.ts +2 -0
  4. package/domain/get-connection-vector/get-connection-vector.handler.d.ts +1 -1
  5. package/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.d.ts +4 -0
  6. package/domain/{get-element-rect-in-flow.handler.d.ts → get-element-rect-in-flow/get-element-rect-in-flow.handler.d.ts} +4 -3
  7. package/domain/get-element-rect-in-flow/index.d.ts +2 -0
  8. package/domain/get-input-rect-in-flow/get-input-rect-in-flow-request.d.ts +4 -0
  9. package/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.d.ts +7 -0
  10. package/domain/get-input-rect-in-flow/get-input-rect-in-flow.handler.d.ts +14 -0
  11. package/domain/get-input-rect-in-flow/index.d.ts +3 -0
  12. package/domain/get-nodes-rect/get-nodes-rect.handler.d.ts +11 -0
  13. package/domain/get-nodes-rect/get-nodes-rect.request.d.ts +2 -0
  14. package/domain/get-nodes-rect/index.d.ts +2 -0
  15. package/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.d.ts +3 -3
  16. package/domain/get-selection/get-selection.handler.d.ts +11 -0
  17. package/domain/get-selection/get-selection.request.d.ts +2 -0
  18. package/domain/get-selection/index.d.ts +2 -0
  19. package/domain/index.d.ts +6 -5
  20. package/domain/providers.d.ts +7 -5
  21. package/domain/redraw-connections/redraw-connections.handler.d.ts +1 -3
  22. package/domain/select-all/index.d.ts +2 -0
  23. package/domain/{select-all.handler.d.ts → select-all/select-all.handler.d.ts} +5 -4
  24. package/domain/select-all/select-all.request.d.ts +2 -0
  25. package/errors/conflict-error.d.ts +6 -0
  26. package/errors/create-error-class.d.ts +1 -0
  27. package/errors/errors.d.ts +3 -0
  28. package/errors/index.d.ts +4 -0
  29. package/errors/not-found-error.d.ts +6 -0
  30. package/esm2022/domain/clear-selection/clear-selection.handler.mjs +28 -0
  31. package/esm2022/domain/clear-selection/clear-selection.request.mjs +3 -0
  32. package/esm2022/domain/clear-selection/index.mjs +3 -0
  33. package/esm2022/domain/get-connection-vector/get-connection-vector.handler.mjs +3 -3
  34. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.mjs +6 -0
  35. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.handler.mjs +35 -0
  36. package/esm2022/domain/get-element-rect-in-flow/index.mjs +3 -0
  37. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-request.mjs +6 -0
  38. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.mjs +7 -0
  39. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow.handler.mjs +34 -0
  40. package/esm2022/domain/get-input-rect-in-flow/index.mjs +4 -0
  41. package/esm2022/domain/get-nodes-rect/get-nodes-rect.handler.mjs +30 -0
  42. package/esm2022/domain/get-nodes-rect/get-nodes-rect.request.mjs +3 -0
  43. package/esm2022/domain/get-nodes-rect/index.mjs +3 -0
  44. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.mjs +9 -8
  45. package/esm2022/domain/get-selection/get-selection.handler.mjs +35 -0
  46. package/esm2022/domain/get-selection/get-selection.request.mjs +3 -0
  47. package/esm2022/domain/get-selection/index.mjs +3 -0
  48. package/esm2022/domain/index.mjs +7 -6
  49. package/esm2022/domain/providers.mjs +12 -8
  50. package/esm2022/domain/redraw-connections/redraw-connections.handler.mjs +8 -9
  51. package/esm2022/domain/select-all/index.mjs +3 -0
  52. package/esm2022/domain/select-all/select-all.handler.mjs +38 -0
  53. package/esm2022/domain/select-all/select-all.request.mjs +3 -0
  54. package/esm2022/errors/conflict-error.mjs +7 -0
  55. package/esm2022/errors/create-error-class.mjs +11 -0
  56. package/esm2022/errors/errors.mjs +12 -0
  57. package/esm2022/errors/index.mjs +5 -0
  58. package/esm2022/errors/not-found-error.mjs +7 -0
  59. package/esm2022/f-canvas/f-canvas.component.mjs +15 -12
  60. package/esm2022/f-connection/common/e-f-connection-behavior.mjs +2 -1
  61. package/esm2022/f-connectors/f-connector-base.mjs +2 -1
  62. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +2 -2
  63. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +9 -2
  64. package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +3 -3
  65. package/esm2022/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.mjs +9 -10
  66. package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +3 -3
  67. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +5 -6
  68. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +2 -2
  69. package/esm2022/f-draggable/external-item/external-item.drag-handler.mjs +1 -4
  70. package/esm2022/f-draggable/external-item/external-item.on-pointer-up.mjs +9 -8
  71. package/esm2022/f-draggable/external-item/external-item.prepare-drag-sequence.mjs +4 -1
  72. package/esm2022/f-draggable/f-draggable-base.mjs +148 -7
  73. package/esm2022/f-draggable/f-draggable.directive.mjs +19 -24
  74. package/esm2022/f-draggable/f-selection-change-event.mjs +7 -0
  75. package/esm2022/f-draggable/index.mjs +2 -2
  76. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +4 -5
  77. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +4 -5
  78. package/esm2022/f-draggable/node/connection.drag-handler.mjs +4 -5
  79. package/esm2022/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.mjs +10 -7
  80. package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +8 -9
  81. package/esm2022/f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.mjs +9 -8
  82. package/esm2022/f-draggable/single-select/index.mjs +1 -2
  83. package/esm2022/f-draggable/single-select/single-select.on-pointer-down.mjs +2 -2
  84. package/esm2022/f-external-item/f-external-item-base.mjs +1 -1
  85. package/esm2022/f-external-item/f-external-item.directive.mjs +10 -6
  86. package/esm2022/f-flow/f-flow.component.mjs +24 -12
  87. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +9 -8
  88. package/f-canvas/f-canvas.component.d.ts +3 -5
  89. package/f-connection/common/e-f-connection-behavior.d.ts +1 -0
  90. package/f-connectors/f-connector-base.d.ts +1 -0
  91. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -0
  92. package/f-connectors/f-node-output/f-node-output.directive.d.ts +3 -1
  93. package/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.d.ts +1 -3
  94. package/f-draggable/connections/providers.d.ts +1 -1
  95. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +1 -3
  96. package/f-draggable/external-item/external-item.drag-handler.d.ts +1 -2
  97. package/f-draggable/external-item/external-item.on-pointer-up.d.ts +3 -3
  98. package/f-draggable/f-draggable-base.d.ts +38 -8
  99. package/f-draggable/f-draggable.directive.d.ts +6 -4
  100. package/f-draggable/index.d.ts +1 -1
  101. package/f-draggable/node/connection-source.drag-handler.d.ts +1 -3
  102. package/f-draggable/node/connection-target.drag-handler.d.ts +1 -3
  103. package/f-draggable/node/connection.drag-handler.d.ts +1 -3
  104. package/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.d.ts +4 -3
  105. package/f-draggable/node/node.prepare-drag-sequence.d.ts +2 -3
  106. package/f-draggable/node/providers.d.ts +1 -1
  107. package/f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.d.ts +3 -3
  108. package/f-draggable/single-select/index.d.ts +0 -1
  109. package/f-external-item/f-external-item-base.d.ts +7 -6
  110. package/f-external-item/f-external-item.directive.d.ts +6 -5
  111. package/f-flow/f-flow.component.d.ts +7 -4
  112. package/f-line-alignment/f-line-alignment.component.d.ts +3 -3
  113. package/fesm2022/foblex-flow.mjs +1735 -1609
  114. package/fesm2022/foblex-flow.mjs.map +1 -1
  115. package/package.json +1 -1
  116. package/domain/errors.d.ts +0 -3
  117. package/domain/get-all-nodes-rect.handler.d.ts +0 -10
  118. package/domain/get-input-rect-in-flow.handler.d.ts +0 -19
  119. package/esm2022/domain/errors.mjs +0 -10
  120. package/esm2022/domain/get-all-nodes-rect.handler.mjs +0 -23
  121. package/esm2022/domain/get-element-rect-in-flow.handler.mjs +0 -28
  122. package/esm2022/domain/get-input-rect-in-flow.handler.mjs +0 -25
  123. package/esm2022/domain/select-all.handler.mjs +0 -31
  124. package/esm2022/f-draggable/i-drag-and-drop-base.mjs +0 -147
  125. package/esm2022/f-draggable/single-select/f-selection-change-event.mjs +0 -7
  126. package/f-draggable/i-drag-and-drop-base.d.ts +0 -34
  127. /package/f-draggable/{single-select/f-selection-change-event.d.ts → f-selection-change-event.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foblex/flow",
3
- "version": "1.5.4",
3
+ "version": "1.5.6",
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",
@@ -1,3 +0,0 @@
1
- export declare function OutputNotFound(outputId: any): Error;
2
- export declare function InputNotFound(inputId: any): Error;
3
- export declare function requiredOutput(): Error;
@@ -1,10 +0,0 @@
1
- import { IHandler, IRect } from '@foblex/core';
2
- import { FComponentsStore } from '../f-components-store';
3
- import * as i0 from "@angular/core";
4
- export declare class GetAllNodesRectHandler implements IHandler<void, IRect> {
5
- private fComponentsStore;
6
- constructor(fComponentsStore: FComponentsStore);
7
- handle(): IRect;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<GetAllNodesRectHandler, never>;
9
- static ɵprov: i0.ɵɵInjectableDeclaration<GetAllNodesRectHandler>;
10
- }
@@ -1,19 +0,0 @@
1
- import { IHandler, IRect } from '@foblex/core';
2
- import { FComponentsStore } from '../f-components-store';
3
- import { GetElementRectInFlowHandler } from './get-element-rect-in-flow.handler';
4
- import { EFConnectableSide } from '../f-connectors';
5
- import * as i0 from "@angular/core";
6
- export declare class GetInputRectInFlowHandler implements IHandler<string, {
7
- rect: IRect;
8
- fConnectableSide: EFConnectableSide;
9
- }> {
10
- private fComponentsStore;
11
- private getElementRectInFlowHandler;
12
- constructor(fComponentsStore: FComponentsStore, getElementRectInFlowHandler: GetElementRectInFlowHandler);
13
- handle(inputId: string): {
14
- rect: IRect;
15
- fConnectableSide: EFConnectableSide;
16
- };
17
- static ɵfac: i0.ɵɵFactoryDeclaration<GetInputRectInFlowHandler, never>;
18
- static ɵprov: i0.ɵɵInjectableDeclaration<GetInputRectInFlowHandler>;
19
- }
@@ -1,10 +0,0 @@
1
- export function OutputNotFound(outputId) {
2
- return new Error(`Output with id ${outputId} not found`);
3
- }
4
- export function InputNotFound(inputId) {
5
- return new Error(`Input with id ${inputId} not found`);
6
- }
7
- export function requiredOutput() {
8
- return new Error(`The node must contain at least one fOutput if there is an fOutlet`);
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxjQUFjLENBQUMsUUFBYTtJQUMxQyxPQUFPLElBQUksS0FBSyxDQUFDLGtCQUFtQixRQUFTLFlBQVksQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQVk7SUFDeEMsT0FBTyxJQUFJLEtBQUssQ0FBQyxpQkFBa0IsT0FBUSxZQUFZLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWM7SUFDNUIsT0FBTyxJQUFJLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO0FBQ3hGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gT3V0cHV0Tm90Rm91bmQob3V0cHV0SWQ6IGFueSk6IEVycm9yIHtcbiAgcmV0dXJuIG5ldyBFcnJvcihgT3V0cHV0IHdpdGggaWQgJHsgb3V0cHV0SWQgfSBub3QgZm91bmRgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIElucHV0Tm90Rm91bmQoaW5wdXRJZDogYW55KTogRXJyb3Ige1xuICByZXR1cm4gbmV3IEVycm9yKGBJbnB1dCB3aXRoIGlkICR7IGlucHV0SWQgfSBub3QgZm91bmRgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVkT3V0cHV0KCk6IEVycm9yIHtcbiAgcmV0dXJuIG5ldyBFcnJvcihgVGhlIG5vZGUgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBmT3V0cHV0IGlmIHRoZXJlIGlzIGFuIGZPdXRsZXRgKTtcbn1cbiJdfQ==
@@ -1,23 +0,0 @@
1
- import { RectExtensions } from '@foblex/core';
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../f-components-store";
5
- export class GetAllNodesRectHandler {
6
- constructor(fComponentsStore) {
7
- this.fComponentsStore = fComponentsStore;
8
- }
9
- handle() {
10
- const fNodes = this.fComponentsStore.fNodes;
11
- const rects = fNodes.map((x) => {
12
- return RectExtensions.fromElement(x.hostElement);
13
- });
14
- const result = RectExtensions.union(rects);
15
- return result;
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GetAllNodesRectHandler, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GetAllNodesRectHandler }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GetAllNodesRectHandler, decorators: [{
21
- type: Injectable
22
- }], ctorParameters: () => [{ type: i1.FComponentsStore }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFsbC1ub2Rlcy1yZWN0LmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtYWxsLW5vZGVzLXJlY3QuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJM0MsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxZQUNZLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTlDLENBQUM7SUFFTSxNQUFNO1FBQ1gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUM1QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0FkVSxzQkFBc0I7a0hBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyLCBJUmVjdCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHZXRBbGxOb2Rlc1JlY3RIYW5kbGVyIGltcGxlbWVudHMgSUhhbmRsZXI8dm9pZCwgSVJlY3Q+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKCk6IElSZWN0IHtcbiAgICBjb25zdCBmTm9kZXMgPSB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzO1xuICAgIGNvbnN0IHJlY3RzID0gZk5vZGVzLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmZyb21FbGVtZW50KHguaG9zdEVsZW1lbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IFJlY3RFeHRlbnNpb25zLnVuaW9uKHJlY3RzKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
@@ -1,28 +0,0 @@
1
- import { Point, RectExtensions, SizeExtensions } from '@foblex/core';
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../f-components-store";
5
- export class GetElementRectInFlowHandler {
6
- get transform() {
7
- return this.fComponentsStore.transform;
8
- }
9
- get flowHost() {
10
- return this.fComponentsStore.flowHost;
11
- }
12
- constructor(fComponentsStore) {
13
- this.fComponentsStore = fComponentsStore;
14
- }
15
- handle(element) {
16
- const systemRect = RectExtensions.fromElement(element);
17
- const position = Point.fromPoint(systemRect).elementTransform(this.flowHost).sub(this.transform.scaledPosition).sub(this.transform.position).div(this.transform.scale);
18
- const size = SizeExtensions.initialize(systemRect.width / this.transform.scale, systemRect.height / this.transform.scale);
19
- const result = RectExtensions.initialize(position.x, position.y, size.width, size.height);
20
- return result;
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GetElementRectInFlowHandler, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GetElementRectInFlowHandler }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GetElementRectInFlowHandler, decorators: [{
26
- type: Injectable
27
- }], ctorParameters: () => [{ type: i1.FComponentsStore }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVsZW1lbnQtcmVjdC1pbi1mbG93LmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3cuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLEtBQUssRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUkzQyxNQUFNLE9BQU8sMkJBQTJCO0lBRXRDLElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7SUFDekMsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7SUFDeEMsQ0FBQztJQUVELFlBQ1ksZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFOUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFpQztRQUU3QyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXZELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXZLLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUgsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUYsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0ExQlUsMkJBQTJCO2tIQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciwgSVJlY3QsIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnQsIFJlY3RFeHRlbnNpb25zLCBTaXplRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1jb21wb25lbnRzLXN0b3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlciBpbXBsZW1lbnRzIElIYW5kbGVyPEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCwgSVJlY3Q+IHtcblxuICBwcml2YXRlIGdldCB0cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLnRyYW5zZm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZsb3dIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZsb3dIb3N0O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBJUmVjdCB7XG5cbiAgICBjb25zdCBzeXN0ZW1SZWN0ID0gUmVjdEV4dGVuc2lvbnMuZnJvbUVsZW1lbnQoZWxlbWVudCk7XG5cbiAgICBjb25zdCBwb3NpdGlvbiA9IFBvaW50LmZyb21Qb2ludChzeXN0ZW1SZWN0KS5lbGVtZW50VHJhbnNmb3JtKHRoaXMuZmxvd0hvc3QpLnN1Yih0aGlzLnRyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbikuc3ViKHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uKS5kaXYodGhpcy50cmFuc2Zvcm0uc2NhbGUpO1xuXG4gICAgY29uc3Qgc2l6ZSA9IFNpemVFeHRlbnNpb25zLmluaXRpYWxpemUoc3lzdGVtUmVjdC53aWR0aCAvIHRoaXMudHJhbnNmb3JtLnNjYWxlLCBzeXN0ZW1SZWN0LmhlaWdodCAvIHRoaXMudHJhbnNmb3JtLnNjYWxlKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUocG9zaXRpb24ueCwgcG9zaXRpb24ueSwgc2l6ZS53aWR0aCwgc2l6ZS5oZWlnaHQpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
@@ -1,25 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { InputNotFound } from './errors';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../f-components-store";
5
- import * as i2 from "./get-element-rect-in-flow.handler";
6
- export class GetInputRectInFlowHandler {
7
- constructor(fComponentsStore, getElementRectInFlowHandler) {
8
- this.fComponentsStore = fComponentsStore;
9
- this.getElementRectInFlowHandler = getElementRectInFlowHandler;
10
- }
11
- handle(inputId) {
12
- const input = this.fComponentsStore.fInputs.find((x) => x.id === inputId);
13
- if (!input) {
14
- throw InputNotFound(inputId);
15
- }
16
- const result = this.getElementRectInFlowHandler.handle(input.hostElement);
17
- return { rect: result, fConnectableSide: input.fConnectableSide };
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GetInputRectInFlowHandler, deps: [{ token: i1.FComponentsStore }, { token: i2.GetElementRectInFlowHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
20
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GetInputRectInFlowHandler }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GetInputRectInFlowHandler, decorators: [{
23
- type: Injectable
24
- }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.GetElementRectInFlowHandler }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWlucHV0LXJlY3QtaW4tZmxvdy5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LWlucHV0LXJlY3QtaW4tZmxvdy5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQUl6QyxNQUFNLE9BQU8seUJBQXlCO0lBRXBDLFlBQ1ksZ0JBQWtDLEVBQ2xDLDJCQUF3RDtRQUR4RCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7SUFFcEUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFlO1FBRTNCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDO1FBRTFFLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixNQUFNLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QjtRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBRXpFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3BFLENBQUM7OEdBbkJVLHlCQUF5QjtrSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIsIElSZWN0IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuaW1wb3J0IHsgR2V0RWxlbWVudFJlY3RJbkZsb3dIYW5kbGVyIH0gZnJvbSAnLi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3cuaGFuZGxlcic7XG5pbXBvcnQgeyBJbnB1dE5vdEZvdW5kIH0gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi9mLWNvbm5lY3RvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR2V0SW5wdXRSZWN0SW5GbG93SGFuZGxlciBpbXBsZW1lbnRzIElIYW5kbGVyPHN0cmluZywgeyByZWN0OiBJUmVjdCwgZkNvbm5lY3RhYmxlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUgfT4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgICAgcHJpdmF0ZSBnZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXI6IEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoaW5wdXRJZDogc3RyaW5nKTogeyByZWN0OiBJUmVjdCwgZkNvbm5lY3RhYmxlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUgfSB7XG5cbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbmQoKHgpID0+IHguaWQgPT09IGlucHV0SWQpO1xuXG4gICAgaWYgKCFpbnB1dCkge1xuICAgICAgdGhyb3cgSW5wdXROb3RGb3VuZChpbnB1dElkKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlci5oYW5kbGUoaW5wdXQuaG9zdEVsZW1lbnQpXG5cbiAgICByZXR1cm4geyByZWN0OiByZXN1bHQsIGZDb25uZWN0YWJsZVNpZGU6IGlucHV0LmZDb25uZWN0YWJsZVNpZGUgfTtcbiAgfVxufVxuIl19
@@ -1,31 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../f-components-store";
4
- import * as i2 from "../f-draggable/f-draggable-data-context";
5
- export class SelectAllHandler {
6
- constructor(fDataContext, fDraggableDataContext) {
7
- this.fDataContext = fDataContext;
8
- this.fDraggableDataContext = fDraggableDataContext;
9
- }
10
- handle() {
11
- this.fDraggableDataContext.selectedItems.forEach((x) => {
12
- x.deselect();
13
- });
14
- this.fDraggableDataContext.selectedItems = [];
15
- this.fDataContext.fNodes.forEach((x) => {
16
- x.select();
17
- this.fDraggableDataContext.selectedItems.push(x);
18
- });
19
- this.fDataContext.fConnections.forEach((x) => {
20
- x.select();
21
- this.fDraggableDataContext.selectedItems.push(x);
22
- });
23
- this.fDraggableDataContext.isSelectedChanged = true;
24
- }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SelectAllHandler, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable }); }
26
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SelectAllHandler }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SelectAllHandler, decorators: [{
29
- type: Injectable
30
- }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFsbC5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vc2VsZWN0LWFsbC5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFLM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUNZLFlBQThCLEVBQzlCLHFCQUE0QztRQUQ1QyxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUV4RCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckQsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUN0RCxDQUFDOzhHQXRCVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUvZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlbGVjdEFsbEhhbmRsZXIgaW1wbGVtZW50cyBJSGFuZGxlcjx2b2lkLCB2b2lkPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZEYXRhQ29udGV4dDogRkNvbXBvbmVudHNTdG9yZSxcbiAgICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHguZGVzZWxlY3QoKTtcbiAgICB9KTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5mRGF0YUNvbnRleHQuZk5vZGVzLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHguc2VsZWN0KCk7XG4gICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goeCk7XG4gICAgfSk7XG4gICAgdGhpcy5mRGF0YUNvbnRleHQuZkNvbm5lY3Rpb25zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHguc2VsZWN0KCk7XG4gICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goeCk7XG4gICAgfSk7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuaXNTZWxlY3RlZENoYW5nZWQgPSB0cnVlO1xuICB9XG59XG4iXX0=
@@ -1,147 +0,0 @@
1
- import { EventExtensions, IMouseEvent, ITouchDownEvent, ITouchMoveEvent, ITouchUpEvent, PointExtensions } from '@foblex/core';
2
- export const MOUSE_EVENT_IGNORE_TIME = 800;
3
- export class IDragAndDropBase {
4
- isSyntheticEvent(event) {
5
- const isSyntheticEvent = !!this.lastTouchEventTime &&
6
- (this.lastTouchEventTime + MOUSE_EVENT_IGNORE_TIME > Date.now());
7
- return isSyntheticEvent;
8
- }
9
- constructor(ngZone) {
10
- this.ngZone = ngZone;
11
- this.mouseListeners = EventExtensions.emptyListener();
12
- this.touchListeners = EventExtensions.emptyListener();
13
- this.startListeners = EventExtensions.emptyListener();
14
- this.lastTouchEventTime = 0;
15
- this.isDragStarted = false;
16
- this.dragStartThreshold = 5;
17
- this.dragStartDelay = 0;
18
- this.dragStartTime = 0;
19
- this.dragStartPosition = PointExtensions.initialize();
20
- this.moveHandler = this.checkDragSequenceToStart;
21
- this.onMouseDown = (event) => {
22
- const isSyntheticEvent = this.isSyntheticEvent(event);
23
- const isFakeEvent = isFakeMousedownFromScreenReader(event);
24
- const mouseEvent = new IMouseEvent(event);
25
- if (isSyntheticEvent || isFakeEvent || this.disabled) {
26
- return;
27
- }
28
- let result = this.onPointerDown(mouseEvent);
29
- if (result) {
30
- this.dragStartTime = Date.now();
31
- this.dragStartPosition = mouseEvent.getPosition();
32
- this.ngZone.runOutsideAngular(() => {
33
- this.element.addEventListener('mousemove', this.onMouseMove);
34
- this.element.addEventListener('mouseup', this.onMouseUp);
35
- });
36
- this.mouseListeners = () => {
37
- this.element.removeEventListener('mousemove', this.onMouseMove);
38
- this.element.removeEventListener('mouseup', this.onMouseUp);
39
- };
40
- }
41
- };
42
- this.onTouchDown = (event) => {
43
- const isFakeEvent = isFakeTouchstartFromScreenReader(event);
44
- const touchEvent = new ITouchDownEvent(event);
45
- if (isFakeEvent || this.disabled) {
46
- return;
47
- }
48
- let result = this.onPointerDown(new ITouchDownEvent(event));
49
- if (result) {
50
- this.dragStartTime = Date.now();
51
- this.dragStartPosition = touchEvent.getPosition();
52
- this.ngZone.runOutsideAngular(() => {
53
- this.element.addEventListener('touchmove', this.onTouchMove);
54
- this.element.addEventListener('touchend', this.onTouchUp);
55
- });
56
- this.touchListeners = () => {
57
- this.element.removeEventListener('touchmove', this.onTouchMove);
58
- this.element.removeEventListener('touchend', this.onTouchUp);
59
- };
60
- }
61
- };
62
- this.onMouseMove = (event) => {
63
- this.moveHandler(new IMouseEvent(event));
64
- };
65
- this.onTouchMove = (event) => {
66
- this.moveHandler(new ITouchMoveEvent(event));
67
- };
68
- this.onMouseUp = (event) => {
69
- if (this.isDragStarted) {
70
- this.onPointerUp(new IMouseEvent(event));
71
- }
72
- this.endDragSequence();
73
- };
74
- this.onTouchUp = (event) => {
75
- if (this.isDragStarted) {
76
- this.onPointerUp(new ITouchUpEvent(event));
77
- }
78
- this.endDragSequence();
79
- };
80
- }
81
- checkDragSequenceToStart(event) {
82
- const pointerPosition = event.getPosition();
83
- if (!this.isDragStarted) {
84
- const distanceX = Math.abs(pointerPosition.x - this.dragStartPosition.x);
85
- const distanceY = Math.abs(pointerPosition.y - this.dragStartPosition.y);
86
- const isOverThreshold = distanceX + distanceY >= this.dragStartThreshold;
87
- if (isOverThreshold) {
88
- const isDelayElapsed = Date.now() >= this.dragStartTime + this.dragStartDelay;
89
- if (!isDelayElapsed) {
90
- this.endDragSequence();
91
- return;
92
- }
93
- event.preventDefault();
94
- this.prepareDragSequence(event);
95
- this.isDragStarted = true;
96
- this.moveHandler = this.onPointerMove;
97
- if (isTouchEvent(event.originalEvent)) {
98
- this.lastTouchEventTime = Date.now();
99
- }
100
- }
101
- }
102
- }
103
- endDragSequence() {
104
- this.isDragStarted = false;
105
- this.moveHandler = this.checkDragSequenceToStart;
106
- this.mouseListeners();
107
- this.mouseListeners = EventExtensions.emptyListener();
108
- this.touchListeners();
109
- this.touchListeners = EventExtensions.emptyListener();
110
- }
111
- subscribe(elementToSubscribe) {
112
- if (this.element) {
113
- this.unsubscribe();
114
- }
115
- this.element = elementToSubscribe;
116
- this.ngZone.runOutsideAngular(() => {
117
- this.element.addEventListener('mousedown', this.onMouseDown, EventExtensions.activeListener());
118
- this.element.addEventListener('touchstart', this.onTouchDown, EventExtensions.passiveListener());
119
- });
120
- this.startListeners = () => {
121
- this.element.removeEventListener('mousedown', this.onMouseDown, EventExtensions.activeListener());
122
- this.element.removeEventListener('touchstart', this.onTouchDown, EventExtensions.passiveListener());
123
- };
124
- }
125
- unsubscribe() {
126
- this.startListeners();
127
- this.startListeners = EventExtensions.emptyListener();
128
- this.touchListeners();
129
- this.touchListeners = EventExtensions.emptyListener();
130
- this.mouseListeners();
131
- this.mouseListeners = EventExtensions.emptyListener();
132
- }
133
- }
134
- function isTouchEvent(event) {
135
- return event.type[0] === 't';
136
- }
137
- function isFakeMousedownFromScreenReader(event) {
138
- return event.buttons === 0 || (event.offsetX === 0 && event.offsetY === 0);
139
- }
140
- function isFakeTouchstartFromScreenReader(event) {
141
- const touch = (event.touches && event.touches[0]) || (event.changedTouches && event.changedTouches[0]);
142
- return (!!touch &&
143
- touch.identifier === -1 &&
144
- (touch.radiusX == null || touch.radiusX === 1) &&
145
- (touch.radiusY == null || touch.radiusY === 1));
146
- }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1kcmFnLWFuZC1kcm9wLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2ktZHJhZy1hbmQtZHJvcC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsV0FBVyxFQUdYLGVBQWUsRUFDZixlQUFlLEVBQUUsYUFBYSxFQUM5QixlQUFlLEVBQ2hCLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsQ0FBQztBQUUzQyxNQUFNLE9BQWdCLGdCQUFnQjtJQVM3QixnQkFBZ0IsQ0FBQyxLQUFpQjtRQUN2QyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCO1lBQzlDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLHVCQUF1QixHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQWVELFlBQ2MsTUFBNkI7UUFBN0IsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUF6Qm5DLG1CQUFjLEdBQWEsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNELG1CQUFjLEdBQWEsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTNELG1CQUFjLEdBQWEsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBUTNELHVCQUFrQixHQUFXLENBQUMsQ0FBQztRQUVoQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUM5Qix1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFDL0IsbUJBQWMsR0FBVyxDQUFDLENBQUM7UUFFM0Isa0JBQWEsR0FBVyxDQUFDLENBQUM7UUFDMUIsc0JBQWlCLEdBQVcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBSXpELGdCQUFXLEdBQWEsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FB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QUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDN0UsQ0FBQztBQUVELFNBQVMsZ0NBQWdDLENBQUMsS0FBaUI7SUFDekQsTUFBTSxLQUFLLEdBQ1AsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUUsQ0FBQyxDQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBRSxDQUFDLENBQUUsQ0FBQyxDQUFDO0lBQ2pHLE9BQU8sQ0FDSCxDQUFDLENBQUMsS0FBSztRQUNQLEtBQUssQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUNqRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEV2ZW50RXh0ZW5zaW9ucyxcbiAgSU1vdXNlRXZlbnQsXG4gIElQb2ludCxcbiAgSVBvaW50ZXJFdmVudCxcbiAgSVRvdWNoRG93bkV2ZW50LFxuICBJVG91Y2hNb3ZlRXZlbnQsIElUb3VjaFVwRXZlbnQsXG4gIFBvaW50RXh0ZW5zaW9uc1xufSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSUNhblJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnQGZvYmxleC9jb3JlL2RyYWctYW5kLWRyb3AvaS1jYW4tcnVuLW91dHNpZGUtYW5ndWxhcic7XG5cbmV4cG9ydCBjb25zdCBNT1VTRV9FVkVOVF9JR05PUkVfVElNRSA9IDgwMDtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIElEcmFnQW5kRHJvcEJhc2Uge1xuXG4gIHByaXZhdGUgZWxlbWVudCE6IERvY3VtZW50O1xuXG4gIHByaXZhdGUgbW91c2VMaXN0ZW5lcnM6IEZ1bmN0aW9uID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgcHJpdmF0ZSB0b3VjaExpc3RlbmVyczogRnVuY3Rpb24gPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuXG4gIHByaXZhdGUgc3RhcnRMaXN0ZW5lcnM6IEZ1bmN0aW9uID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcblxuICBwdWJsaWMgaXNTeW50aGV0aWNFdmVudChldmVudDogTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzU3ludGhldGljRXZlbnQgPSAhIXRoaXMubGFzdFRvdWNoRXZlbnRUaW1lICYmXG4gICAgICAgICh0aGlzLmxhc3RUb3VjaEV2ZW50VGltZSArIE1PVVNFX0VWRU5UX0lHTk9SRV9USU1FID4gRGF0ZS5ub3coKSk7XG4gICAgcmV0dXJuIGlzU3ludGhldGljRXZlbnQ7XG4gIH1cblxuICBwcml2YXRlIGxhc3RUb3VjaEV2ZW50VGltZTogbnVtYmVyID0gMDtcblxuICBwdWJsaWMgaXNEcmFnU3RhcnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGRyYWdTdGFydFRocmVzaG9sZDogbnVtYmVyID0gNTtcbiAgcHJpdmF0ZSBkcmFnU3RhcnREZWxheTogbnVtYmVyID0gMDtcblxuICBwcml2YXRlIGRyYWdTdGFydFRpbWU6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgZHJhZ1N0YXJ0UG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHVibGljIGFic3RyYWN0IGRpc2FibGVkOiBib29sZWFuO1xuXG4gIHByaXZhdGUgbW92ZUhhbmRsZXI6IEZ1bmN0aW9uID0gdGhpcy5jaGVja0RyYWdTZXF1ZW5jZVRvU3RhcnQ7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgICAgcHJvdGVjdGVkIG5nWm9uZTogSUNhblJ1bk91dHNpZGVBbmd1bGFyXG4gICkge1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNlRG93biA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgIGNvbnN0IGlzU3ludGhldGljRXZlbnQgPSB0aGlzLmlzU3ludGhldGljRXZlbnQoZXZlbnQpO1xuICAgIGNvbnN0IGlzRmFrZUV2ZW50ID0gaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldmVudCk7XG4gICAgY29uc3QgbW91c2VFdmVudCA9IG5ldyBJTW91c2VFdmVudChldmVudCk7XG5cbiAgICBpZiAoaXNTeW50aGV0aWNFdmVudCB8fCBpc0Zha2VFdmVudCB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCByZXN1bHQgPSB0aGlzLm9uUG9pbnRlckRvd24obW91c2VFdmVudCk7XG4gICAgaWYgKHJlc3VsdCkge1xuXG4gICAgICB0aGlzLmRyYWdTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgdGhpcy5kcmFnU3RhcnRQb3NpdGlvbiA9IG1vdXNlRXZlbnQuZ2V0UG9zaXRpb24oKTtcblxuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZSk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5vbk1vdXNlVXApO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMubW91c2VMaXN0ZW5lcnMgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLm9uTW91c2VNb3ZlKTtcbiAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uTW91c2VVcCk7XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25Ub3VjaERvd24gPSAoZXZlbnQ6IFRvdWNoRXZlbnQpID0+IHtcbiAgICBjb25zdCBpc0Zha2VFdmVudCA9IGlzRmFrZVRvdWNoc3RhcnRGcm9tU2NyZWVuUmVhZGVyKGV2ZW50IGFzIFRvdWNoRXZlbnQpXG4gICAgY29uc3QgdG91Y2hFdmVudCA9IG5ldyBJVG91Y2hEb3duRXZlbnQoZXZlbnQpO1xuXG4gICAgaWYgKGlzRmFrZUV2ZW50IHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHJlc3VsdCA9IHRoaXMub25Qb2ludGVyRG93bihuZXcgSVRvdWNoRG93bkV2ZW50KGV2ZW50KSk7XG4gICAgaWYgKHJlc3VsdCkge1xuXG4gICAgICB0aGlzLmRyYWdTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgdGhpcy5kcmFnU3RhcnRQb3NpdGlvbiA9IHRvdWNoRXZlbnQuZ2V0UG9zaXRpb24oKTtcblxuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5vblRvdWNoTW92ZSk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMub25Ub3VjaFVwKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnRvdWNoTGlzdGVuZXJzID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5vblRvdWNoTW92ZSk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMub25Ub3VjaFVwKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNlTW92ZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgIHRoaXMubW92ZUhhbmRsZXIobmV3IElNb3VzZUV2ZW50KGV2ZW50KSk7XG4gIH1cblxuICBwcml2YXRlIG9uVG91Y2hNb3ZlID0gKGV2ZW50OiBUb3VjaEV2ZW50KSA9PiB7XG4gICAgdGhpcy5tb3ZlSGFuZGxlcihuZXcgSVRvdWNoTW92ZUV2ZW50KGV2ZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRHJhZ1NlcXVlbmNlVG9TdGFydChldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvaW50ZXJQb3NpdGlvbiA9IGV2ZW50LmdldFBvc2l0aW9uKCk7XG5cbiAgICBpZiAoIXRoaXMuaXNEcmFnU3RhcnRlZCkge1xuICAgICAgY29uc3QgZGlzdGFuY2VYID0gTWF0aC5hYnMocG9pbnRlclBvc2l0aW9uLnggLSB0aGlzLmRyYWdTdGFydFBvc2l0aW9uLngpO1xuICAgICAgY29uc3QgZGlzdGFuY2VZID0gTWF0aC5hYnMocG9pbnRlclBvc2l0aW9uLnkgLSB0aGlzLmRyYWdTdGFydFBvc2l0aW9uLnkpO1xuICAgICAgY29uc3QgaXNPdmVyVGhyZXNob2xkID0gZGlzdGFuY2VYICsgZGlzdGFuY2VZID49IHRoaXMuZHJhZ1N0YXJ0VGhyZXNob2xkO1xuXG4gICAgICBpZiAoaXNPdmVyVGhyZXNob2xkKSB7XG4gICAgICAgIGNvbnN0IGlzRGVsYXlFbGFwc2VkID0gRGF0ZS5ub3coKSA+PSB0aGlzLmRyYWdTdGFydFRpbWUgKyB0aGlzLmRyYWdTdGFydERlbGF5O1xuXG4gICAgICAgIGlmICghaXNEZWxheUVsYXBzZWQpIHtcbiAgICAgICAgICB0aGlzLmVuZERyYWdTZXF1ZW5jZSgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJlcGFyZURyYWdTZXF1ZW5jZShldmVudCk7XG4gICAgICAgIHRoaXMuaXNEcmFnU3RhcnRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMubW92ZUhhbmRsZXIgPSB0aGlzLm9uUG9pbnRlck1vdmU7XG4gICAgICAgIGlmIChpc1RvdWNoRXZlbnQoZXZlbnQub3JpZ2luYWxFdmVudCkpIHtcbiAgICAgICAgICB0aGlzLmxhc3RUb3VjaEV2ZW50VGltZSA9IERhdGUubm93KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcHJlcGFyZURyYWdTZXF1ZW5jZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQ7XG5cbiAgcHJpdmF0ZSBvbk1vdXNlVXAgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICBpZiAodGhpcy5pc0RyYWdTdGFydGVkKSB7XG4gICAgICB0aGlzLm9uUG9pbnRlclVwKG5ldyBJTW91c2VFdmVudChldmVudCkpO1xuICAgIH1cbiAgICB0aGlzLmVuZERyYWdTZXF1ZW5jZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblRvdWNoVXAgPSAoZXZlbnQ6IFRvdWNoRXZlbnQpID0+IHtcbiAgICBpZiAodGhpcy5pc0RyYWdTdGFydGVkKSB7XG4gICAgICB0aGlzLm9uUG9pbnRlclVwKG5ldyBJVG91Y2hVcEV2ZW50KGV2ZW50KSk7XG4gICAgfVxuICAgIHRoaXMuZW5kRHJhZ1NlcXVlbmNlKCk7XG4gIH1cblxuICBwcml2YXRlIGVuZERyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzRHJhZ1N0YXJ0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLm1vdmVIYW5kbGVyID0gdGhpcy5jaGVja0RyYWdTZXF1ZW5jZVRvU3RhcnQ7XG4gICAgdGhpcy5tb3VzZUxpc3RlbmVycygpO1xuICAgIHRoaXMubW91c2VMaXN0ZW5lcnMgPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuICAgIHRoaXMudG91Y2hMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnRvdWNoTGlzdGVuZXJzID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBvblBvaW50ZXJEb3duKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3Qgb25Qb2ludGVyTW92ZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IG9uUG9pbnRlclVwKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZDtcblxuICBwdWJsaWMgc3Vic2NyaWJlKGVsZW1lbnRUb1N1YnNjcmliZTogRG9jdW1lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbGVtZW50KSB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnRUb1N1YnNjcmliZTtcblxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLm9uTW91c2VEb3duLCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlTGlzdGVuZXIoKSk7XG4gICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMub25Ub3VjaERvd24sIEV2ZW50RXh0ZW5zaW9ucy5wYXNzaXZlTGlzdGVuZXIoKSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN0YXJ0TGlzdGVuZXJzID0gKCkgPT4ge1xuICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMub25Nb3VzZURvd24sIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVMaXN0ZW5lcigpKTtcbiAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5vblRvdWNoRG93biwgRXZlbnRFeHRlbnNpb25zLnBhc3NpdmVMaXN0ZW5lcigpKTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHVuc3Vic2NyaWJlKCk6IHZvaWQge1xuXG4gICAgdGhpcy5zdGFydExpc3RlbmVycygpO1xuICAgIHRoaXMuc3RhcnRMaXN0ZW5lcnMgPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuICAgIHRoaXMudG91Y2hMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnRvdWNoTGlzdGVuZXJzID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgICB0aGlzLm1vdXNlTGlzdGVuZXJzKCk7XG4gICAgdGhpcy5tb3VzZUxpc3RlbmVycyA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNUb3VjaEV2ZW50KGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IGV2ZW50IGlzIFRvdWNoRXZlbnQge1xuICByZXR1cm4gZXZlbnQudHlwZVsgMCBdID09PSAndCc7XG59XG5cbmZ1bmN0aW9uIGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGV2ZW50LmJ1dHRvbnMgPT09IDAgfHwgKGV2ZW50Lm9mZnNldFggPT09IDAgJiYgZXZlbnQub2Zmc2V0WSA9PT0gMCk7XG59XG5cbmZ1bmN0aW9uIGlzRmFrZVRvdWNoc3RhcnRGcm9tU2NyZWVuUmVhZGVyKGV2ZW50OiBUb3VjaEV2ZW50KTogYm9vbGVhbiB7XG4gIGNvbnN0IHRvdWNoOiBUb3VjaCB8IHVuZGVmaW5lZCA9XG4gICAgICAoZXZlbnQudG91Y2hlcyAmJiBldmVudC50b3VjaGVzWyAwIF0pIHx8IChldmVudC5jaGFuZ2VkVG91Y2hlcyAmJiBldmVudC5jaGFuZ2VkVG91Y2hlc1sgMCBdKTtcbiAgcmV0dXJuIChcbiAgICAgICEhdG91Y2ggJiZcbiAgICAgIHRvdWNoLmlkZW50aWZpZXIgPT09IC0xICYmXG4gICAgICAodG91Y2gucmFkaXVzWCA9PSBudWxsIHx8IHRvdWNoLnJhZGl1c1ggPT09IDEpICYmXG4gICAgICAodG91Y2gucmFkaXVzWSA9PSBudWxsIHx8IHRvdWNoLnJhZGl1c1kgPT09IDEpXG4gICk7XG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- export class FSelectionChangeEvent {
2
- constructor(nodes, connections) {
3
- this.nodes = nodes;
4
- this.connections = connections;
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9zaW5nbGUtc2VsZWN0L2Ytc2VsZWN0aW9uLWNoYW5nZS1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQ1csS0FBZSxFQUNmLFdBQXFCO1FBRHJCLFVBQUssR0FBTCxLQUFLLENBQVU7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBVTtJQUVoQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRlNlbGVjdGlvbkNoYW5nZUV2ZW50IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBub2Rlczogc3RyaW5nW10sXG4gICAgICBwdWJsaWMgY29ubmVjdGlvbnM6IHN0cmluZ1tdLFxuICApIHtcbiAgfVxufVxuIl19
@@ -1,34 +0,0 @@
1
- import { IPointerEvent } from '@foblex/core';
2
- import { ICanRunOutsideAngular } from '@foblex/core/drag-and-drop/i-can-run-outside-angular';
3
- export declare const MOUSE_EVENT_IGNORE_TIME = 800;
4
- export declare abstract class IDragAndDropBase {
5
- protected ngZone: ICanRunOutsideAngular;
6
- private element;
7
- private mouseListeners;
8
- private touchListeners;
9
- private startListeners;
10
- isSyntheticEvent(event: MouseEvent): boolean;
11
- private lastTouchEventTime;
12
- isDragStarted: boolean;
13
- private dragStartThreshold;
14
- private dragStartDelay;
15
- private dragStartTime;
16
- private dragStartPosition;
17
- abstract disabled: boolean;
18
- private moveHandler;
19
- protected constructor(ngZone: ICanRunOutsideAngular);
20
- private onMouseDown;
21
- private onTouchDown;
22
- private onMouseMove;
23
- private onTouchMove;
24
- private checkDragSequenceToStart;
25
- protected abstract prepareDragSequence(event: IPointerEvent): void;
26
- private onMouseUp;
27
- private onTouchUp;
28
- private endDragSequence;
29
- abstract onPointerDown(event: IPointerEvent): boolean;
30
- abstract onPointerMove(event: IPointerEvent): void;
31
- abstract onPointerUp(event: IPointerEvent): void;
32
- subscribe(elementToSubscribe: Document): void;
33
- unsubscribe(): void;
34
- }