@foblex/flow 12.2.0 → 12.2.2
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/domain/index.d.ts +1 -2
- package/domain/providers.d.ts +2 -3
- package/domain/update-item-layer/index.d.ts +2 -0
- package/domain/update-item-layer/update-item-layer.handler.d.ts +8 -0
- package/domain/update-item-layer/update-item-layer.request.d.ts +6 -0
- package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.handler.mjs +1 -1
- package/esm2022/domain/index.mjs +2 -3
- package/esm2022/domain/providers.mjs +6 -5
- package/esm2022/domain/redraw-connections/redraw-connections.handler.mjs +2 -2
- package/esm2022/domain/update-item-layer/index.mjs +3 -0
- package/esm2022/domain/update-item-layer/update-item-layer.handler.mjs +29 -0
- package/esm2022/domain/update-item-layer/update-item-layer.request.mjs +7 -0
- package/esm2022/f-components-store.mjs +10 -1
- package/esm2022/f-connection/common/f-connection-base.mjs +1 -1
- package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +2 -1
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +3 -3
- package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +13 -15
- package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +3 -2
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +6 -6
- package/esm2022/f-draggable/f-draggable-data-context.mjs +4 -1
- package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +6 -6
- package/esm2022/f-draggable/single-select/single-select.on-pointer-down.mjs +45 -55
- package/esm2022/f-flow.module.mjs +4 -1
- package/esm2022/f-group/f-group-base.mjs +13 -0
- package/esm2022/f-group/f-group.directive.mjs +57 -0
- package/esm2022/f-group/index.mjs +4 -0
- package/esm2022/f-group/is-group.mjs +4 -0
- package/esm2022/public-api.mjs +2 -1
- package/f-components-store.d.ts +4 -0
- package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +1 -0
- package/f-draggable/canvas/providers.d.ts +1 -1
- package/f-draggable/connections/create-connection/f-create-connection.event.d.ts +4 -2
- package/f-draggable/connections/providers.d.ts +1 -1
- package/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.d.ts +2 -3
- package/f-draggable/external-item/providers.d.ts +1 -1
- package/f-draggable/f-draggable-data-context.d.ts +1 -0
- package/f-draggable/node/node.prepare-drag-sequence.d.ts +2 -3
- package/f-draggable/node/providers.d.ts +1 -1
- package/f-draggable/selection-area/providers.d.ts +1 -1
- package/f-draggable/single-select/single-select.on-pointer-down.d.ts +11 -6
- package/f-flow.module.d.ts +14 -13
- package/f-group/f-group-base.d.ts +12 -0
- package/f-group/f-group.directive.d.ts +21 -0
- package/f-group/index.d.ts +3 -0
- package/f-group/is-group.d.ts +1 -0
- package/fesm2022/foblex-flow.mjs +205 -156
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/domain/update-connection-layer.handler.d.ts +0 -12
- package/domain/update-node-layer.handler.d.ts +0 -12
- package/esm2022/domain/update-connection-layer.handler.mjs +0 -29
- package/esm2022/domain/update-node-layer.handler.mjs +0 -29
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@foblex/flow",
|
|
3
|
-
"version": "12.2.
|
|
3
|
+
"version": "12.2.2",
|
|
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",
|
package/public-api.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from './f-external-item';
|
|
|
8
8
|
export * from './f-line-alignment';
|
|
9
9
|
export * from './f-selection-area';
|
|
10
10
|
export * from './f-flow';
|
|
11
|
+
export * from './f-group';
|
|
11
12
|
export * from './f-node';
|
|
12
13
|
export * from './f-mediator';
|
|
13
14
|
export * from './f-components-store';
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { IHandler } from '@foblex/core';
|
|
2
|
-
import { FComponentsStore } from '../f-components-store';
|
|
3
|
-
import { FConnectionBase } from '../f-connection';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class UpdateConnectionLayerHandler implements IHandler<FConnectionBase, void> {
|
|
6
|
-
private fComponentsStore;
|
|
7
|
-
private get fConnectionsContainer();
|
|
8
|
-
constructor(fComponentsStore: FComponentsStore);
|
|
9
|
-
handle(connection: FConnectionBase): void;
|
|
10
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<UpdateConnectionLayerHandler, never>;
|
|
11
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<UpdateConnectionLayerHandler>;
|
|
12
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { IHandler } from '@foblex/core';
|
|
2
|
-
import { FComponentsStore } from '../f-components-store';
|
|
3
|
-
import { FNodeBase } from '../f-node';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class UpdateNodeLayerHandler implements IHandler<FNodeBase, void> {
|
|
6
|
-
private fComponentsStore;
|
|
7
|
-
private get fNodesContainer();
|
|
8
|
-
constructor(fComponentsStore: FComponentsStore);
|
|
9
|
-
handle(node: FNodeBase): void;
|
|
10
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<UpdateNodeLayerHandler, never>;
|
|
11
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<UpdateNodeLayerHandler>;
|
|
12
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../f-components-store";
|
|
4
|
-
export class UpdateConnectionLayerHandler {
|
|
5
|
-
get fConnectionsContainer() {
|
|
6
|
-
return this.fComponentsStore.fCanvas?.fConnectionsContainer?.nativeElement;
|
|
7
|
-
}
|
|
8
|
-
constructor(fComponentsStore) {
|
|
9
|
-
this.fComponentsStore = fComponentsStore;
|
|
10
|
-
}
|
|
11
|
-
handle(connection) {
|
|
12
|
-
const elements = Array.from(this.fConnectionsContainer.children);
|
|
13
|
-
const elementsCount = elements.length;
|
|
14
|
-
const targetIndex = elements.findIndex((x) => x === connection.hostElement);
|
|
15
|
-
if (targetIndex !== elementsCount - 1) {
|
|
16
|
-
const afterElements = elements.splice(targetIndex + 1);
|
|
17
|
-
afterElements.forEach((x) => {
|
|
18
|
-
this.fConnectionsContainer.removeChild(x);
|
|
19
|
-
this.fConnectionsContainer.insertBefore(x, connection.hostElement);
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateConnectionLayerHandler, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateConnectionLayerHandler }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateConnectionLayerHandler, decorators: [{
|
|
27
|
-
type: Injectable
|
|
28
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWNvbm5lY3Rpb24tbGF5ZXIuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL3VwZGF0ZS1jb25uZWN0aW9uLWxheWVyLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyw0QkFBNEI7SUFFdkMsSUFBWSxxQkFBcUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsWUFDWSxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU5QyxDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQTJCO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDdEMsTUFBTSxXQUFXLEdBQVcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRixJQUFJLFdBQVcsS0FBSyxhQUFhLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdkQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMxQixJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDckUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs4R0F0QlUsNEJBQTRCO2tIQUE1Qiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uL2YtY29ubmVjdGlvbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVcGRhdGVDb25uZWN0aW9uTGF5ZXJIYW5kbGVyIGltcGxlbWVudHMgSUhhbmRsZXI8RkNvbm5lY3Rpb25CYXNlLCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBnZXQgZkNvbm5lY3Rpb25zQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXM/LmZDb25uZWN0aW9uc0NvbnRhaW5lcj8ubmF0aXZlRWxlbWVudCE7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gQXJyYXkuZnJvbSh0aGlzLmZDb25uZWN0aW9uc0NvbnRhaW5lci5jaGlsZHJlbik7XG4gICAgY29uc3QgZWxlbWVudHNDb3VudCA9IGVsZW1lbnRzLmxlbmd0aDtcbiAgICBjb25zdCB0YXJnZXRJbmRleDogbnVtYmVyID0gZWxlbWVudHMuZmluZEluZGV4KCh4KSA9PiB4ID09PSBjb25uZWN0aW9uLmhvc3RFbGVtZW50KTtcbiAgICBpZiAodGFyZ2V0SW5kZXggIT09IGVsZW1lbnRzQ291bnQgLSAxKSB7XG4gICAgICBjb25zdCBhZnRlckVsZW1lbnRzID0gZWxlbWVudHMuc3BsaWNlKHRhcmdldEluZGV4ICsgMSk7XG4gICAgICBhZnRlckVsZW1lbnRzLmZvckVhY2goKHgpID0+IHtcbiAgICAgICAgdGhpcy5mQ29ubmVjdGlvbnNDb250YWluZXIucmVtb3ZlQ2hpbGQoeCk7XG4gICAgICAgIHRoaXMuZkNvbm5lY3Rpb25zQ29udGFpbmVyLmluc2VydEJlZm9yZSh4LCBjb25uZWN0aW9uLmhvc3RFbGVtZW50KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../f-components-store";
|
|
4
|
-
export class UpdateNodeLayerHandler {
|
|
5
|
-
get fNodesContainer() {
|
|
6
|
-
return this.fComponentsStore.fCanvas?.fNodesContainer?.nativeElement;
|
|
7
|
-
}
|
|
8
|
-
constructor(fComponentsStore) {
|
|
9
|
-
this.fComponentsStore = fComponentsStore;
|
|
10
|
-
}
|
|
11
|
-
handle(node) {
|
|
12
|
-
const elements = Array.from(this.fNodesContainer.children);
|
|
13
|
-
const elementsCount = elements.length;
|
|
14
|
-
const targetIndex = elements.findIndex((x) => x === node.hostElement);
|
|
15
|
-
if (targetIndex !== elementsCount - 1) {
|
|
16
|
-
const afterElements = elements.splice(targetIndex + 1);
|
|
17
|
-
afterElements.forEach((x) => {
|
|
18
|
-
this.fNodesContainer.removeChild(x);
|
|
19
|
-
this.fNodesContainer.insertBefore(x, node.hostElement);
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateNodeLayerHandler, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateNodeLayerHandler }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateNodeLayerHandler, decorators: [{
|
|
27
|
-
type: Injectable
|
|
28
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW5vZGUtbGF5ZXIuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL3VwZGF0ZS1ub2RlLWxheWVyLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsSUFBWSxlQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxZQUNZLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTlDLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBZTtRQUMzQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUN0QyxNQUFNLFdBQVcsR0FBVyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlFLElBQUksV0FBVyxLQUFLLGFBQWEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RCxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7OEdBdEJVLHNCQUFzQjtrSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi9mLW5vZGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVXBkYXRlTm9kZUxheWVySGFuZGxlciBpbXBsZW1lbnRzIElIYW5kbGVyPEZOb2RlQmFzZSwgdm9pZD4ge1xuXG4gIHByaXZhdGUgZ2V0IGZOb2Rlc0NvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzPy5mTm9kZXNDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQhO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShub2RlOiBGTm9kZUJhc2UpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50cyA9IEFycmF5LmZyb20odGhpcy5mTm9kZXNDb250YWluZXIuY2hpbGRyZW4pO1xuICAgIGNvbnN0IGVsZW1lbnRzQ291bnQgPSBlbGVtZW50cy5sZW5ndGg7XG4gICAgY29uc3QgdGFyZ2V0SW5kZXg6IG51bWJlciA9IGVsZW1lbnRzLmZpbmRJbmRleCgoeCkgPT4geCA9PT0gbm9kZS5ob3N0RWxlbWVudCk7XG4gICAgaWYgKHRhcmdldEluZGV4ICE9PSBlbGVtZW50c0NvdW50IC0gMSkge1xuICAgICAgY29uc3QgYWZ0ZXJFbGVtZW50cyA9IGVsZW1lbnRzLnNwbGljZSh0YXJnZXRJbmRleCArIDEpO1xuICAgICAgYWZ0ZXJFbGVtZW50cy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgIHRoaXMuZk5vZGVzQ29udGFpbmVyLnJlbW92ZUNoaWxkKHgpO1xuICAgICAgICB0aGlzLmZOb2Rlc0NvbnRhaW5lci5pbnNlcnRCZWZvcmUoeCwgbm9kZS5ob3N0RWxlbWVudCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|