nuxeo-development-framework 4.0.1 → 4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/nuxeo-development-framework.umd.js +1661 -81
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/diagrams/components/base-node.component.js +41 -0
- package/esm2015/lib/components/diagrams/components/circle-node/circle-node.component.js +20 -0
- package/esm2015/lib/components/diagrams/components/content-node/content-node.component.js +21 -0
- package/esm2015/lib/components/diagrams/components/custom-connection.component.js +48 -0
- package/esm2015/lib/components/diagrams/components/custom-socket.component.js +34 -0
- package/esm2015/lib/components/diagrams/components/index.js +12 -0
- package/esm2015/lib/components/diagrams/components/node-icon.component.js +35 -0
- package/esm2015/lib/components/diagrams/components/node-inputs.component.js +62 -0
- package/esm2015/lib/components/diagrams/components/node-outputs.component.js +58 -0
- package/esm2015/lib/components/diagrams/components/remove-button.component.js +65 -0
- package/esm2015/lib/components/diagrams/components/status-icon.component.js +37 -0
- package/esm2015/lib/components/diagrams/components/template-node/template-node.component.js +41 -0
- package/esm2015/lib/components/diagrams/components/zoom-control.component.js +62 -0
- package/esm2015/lib/components/diagrams/constants/defaults.js +19 -0
- package/esm2015/lib/components/diagrams/constants/direction.js +7 -0
- package/esm2015/lib/components/diagrams/constants/index.js +8 -0
- package/esm2015/lib/components/diagrams/constants/message-type.js +5 -0
- package/esm2015/lib/components/diagrams/constants/node-type.js +7 -0
- package/esm2015/lib/components/diagrams/constants/notify-events.js +4 -0
- package/esm2015/lib/components/diagrams/constants/sizes.js +7 -0
- package/esm2015/lib/components/diagrams/constants/status.js +9 -0
- package/esm2015/lib/components/diagrams/diagrams.module.js +73 -0
- package/esm2015/lib/components/diagrams/directive/diagram.directive.js +83 -0
- package/esm2015/lib/components/diagrams/directive/index.js +2 -0
- package/esm2015/lib/components/diagrams/editor/customize.js +58 -0
- package/esm2015/lib/components/diagrams/editor/editor.js +95 -0
- package/esm2015/lib/components/diagrams/editor/index.js +5 -0
- package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +25 -0
- package/esm2015/lib/components/diagrams/editor/overrides/index.js +2 -0
- package/esm2015/lib/components/diagrams/editor/path-plugin.js +17 -0
- package/esm2015/lib/components/diagrams/editor/socket-position-watcher.js +7 -0
- package/esm2015/lib/components/diagrams/index.js +2 -0
- package/esm2015/lib/components/diagrams/models/base-node.model.js +25 -0
- package/esm2015/lib/components/diagrams/models/circle-node.model.js +10 -0
- package/esm2015/lib/components/diagrams/models/connection.model.js +8 -0
- package/esm2015/lib/components/diagrams/models/content-node.model.js +7 -0
- package/esm2015/lib/components/diagrams/models/index.js +7 -0
- package/esm2015/lib/components/diagrams/models/socket.model.js +8 -0
- package/esm2015/lib/components/diagrams/models/template-node.model.js +12 -0
- package/esm2015/lib/components/diagrams/public-api.js +9 -0
- package/esm2015/lib/components/diagrams/services/diagram-plugins.service.js +19 -0
- package/esm2015/lib/components/diagrams/services/diagram.service.js +174 -0
- package/esm2015/lib/components/diagrams/services/index.js +5 -0
- package/esm2015/lib/components/diagrams/services/message.service.js +24 -0
- package/esm2015/lib/components/diagrams/services/workflow.service.js +244 -0
- package/esm2015/lib/components/diagrams/types/common.type.js +2 -0
- package/esm2015/lib/components/diagrams/types/customization.type.js +2 -0
- package/esm2015/lib/components/diagrams/types/diagram-config.type.js +2 -0
- package/esm2015/lib/components/diagrams/types/diagram-editor.type.js +2 -0
- package/esm2015/lib/components/diagrams/types/emitter-type.js +2 -0
- package/esm2015/lib/components/diagrams/types/index.js +14 -0
- package/esm2015/lib/components/diagrams/types/layout.type.js +2 -0
- package/esm2015/lib/components/diagrams/types/node-content.js +2 -0
- package/esm2015/lib/components/diagrams/types/node-definition.js +2 -0
- package/esm2015/lib/components/diagrams/types/node-status.type.js +2 -0
- package/esm2015/lib/components/diagrams/types/node.type.js +2 -0
- package/esm2015/lib/components/diagrams/types/notify-event.type.js +2 -0
- package/esm2015/lib/components/diagrams/types/path.type.js +2 -0
- package/esm2015/lib/components/diagrams/types/schemes.type.js +2 -0
- package/esm2015/lib/components/diagrams/utilities/index.js +3 -0
- package/esm2015/lib/components/diagrams/utilities/remove.util.js +95 -0
- package/esm2015/lib/components/diagrams/utilities/serialize.js +23 -0
- package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +2 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +25 -2
- package/esm2015/public-api.js +3 -2
- package/fesm2015/nuxeo-development-framework.js +1561 -75
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/diagrams/components/base-node.component.d.ts +29 -0
- package/lib/components/diagrams/components/circle-node/circle-node.component.d.ts +7 -0
- package/lib/components/diagrams/components/content-node/content-node.component.d.ts +8 -0
- package/lib/components/diagrams/components/custom-connection.component.d.ts +8 -0
- package/lib/components/diagrams/components/custom-socket.component.d.ts +6 -0
- package/lib/components/diagrams/components/index.d.ts +11 -0
- package/lib/components/diagrams/components/node-icon.component.d.ts +8 -0
- package/lib/components/diagrams/components/node-inputs.component.d.ts +12 -0
- package/lib/components/diagrams/components/node-outputs.component.d.ts +12 -0
- package/lib/components/diagrams/components/remove-button.component.d.ts +7 -0
- package/lib/components/diagrams/components/status-icon.component.d.ts +8 -0
- package/lib/components/diagrams/components/template-node/template-node.component.d.ts +17 -0
- package/lib/components/diagrams/components/zoom-control.component.d.ts +11 -0
- package/lib/components/diagrams/constants/defaults.d.ts +2 -0
- package/lib/components/diagrams/constants/direction.d.ts +6 -0
- package/lib/components/diagrams/constants/index.d.ts +7 -0
- package/lib/components/diagrams/constants/message-type.d.ts +4 -0
- package/lib/components/diagrams/constants/node-type.d.ts +6 -0
- package/lib/components/diagrams/constants/notify-events.d.ts +3 -0
- package/lib/components/diagrams/constants/sizes.d.ts +6 -0
- package/lib/components/diagrams/constants/status.d.ts +8 -0
- package/lib/components/diagrams/diagrams.module.d.ts +25 -0
- package/lib/components/diagrams/directive/diagram.directive.d.ts +27 -0
- package/lib/components/diagrams/directive/index.d.ts +1 -0
- package/lib/components/diagrams/editor/customize.d.ts +25 -0
- package/lib/components/diagrams/editor/editor.d.ts +3 -0
- package/lib/components/diagrams/editor/index.d.ts +4 -0
- package/lib/components/diagrams/editor/overrides/connection-path.transformers.d.ts +7 -0
- package/lib/components/diagrams/editor/overrides/index.d.ts +1 -0
- package/lib/components/diagrams/editor/path-plugin.d.ts +4 -0
- package/lib/components/diagrams/editor/socket-position-watcher.d.ts +3 -0
- package/lib/components/diagrams/index.d.ts +1 -0
- package/lib/components/diagrams/models/base-node.model.d.ts +21 -0
- package/lib/components/diagrams/models/circle-node.model.d.ts +7 -0
- package/lib/components/diagrams/models/connection.model.d.ts +8 -0
- package/lib/components/diagrams/models/content-node.model.d.ts +5 -0
- package/lib/components/diagrams/models/index.d.ts +6 -0
- package/lib/components/diagrams/models/socket.model.d.ts +5 -0
- package/lib/components/diagrams/models/template-node.model.d.ts +8 -0
- package/lib/components/diagrams/public-api.d.ts +8 -0
- package/lib/components/diagrams/services/diagram-plugins.service.d.ts +16 -0
- package/lib/components/diagrams/services/diagram.service.d.ts +42 -0
- package/lib/components/diagrams/services/index.d.ts +4 -0
- package/lib/components/diagrams/services/message.service.d.ts +10 -0
- package/lib/components/diagrams/services/workflow.service.d.ts +81 -0
- package/lib/components/diagrams/types/common.type.d.ts +4 -0
- package/lib/components/diagrams/types/customization.type.d.ts +10 -0
- package/lib/components/diagrams/types/diagram-config.type.d.ts +36 -0
- package/lib/components/diagrams/types/diagram-editor.type.d.ts +25 -0
- package/lib/components/diagrams/types/emitter-type.d.ts +5 -0
- package/lib/components/diagrams/types/index.d.ts +13 -0
- package/lib/components/diagrams/types/layout.type.d.ts +13 -0
- package/lib/components/diagrams/types/node-content.d.ts +9 -0
- package/lib/components/diagrams/types/node-definition.d.ts +19 -0
- package/lib/components/diagrams/types/node-status.type.d.ts +2 -0
- package/lib/components/diagrams/types/node.type.d.ts +2 -0
- package/lib/components/diagrams/types/notify-event.type.d.ts +2 -0
- package/lib/components/diagrams/types/path.type.d.ts +17 -0
- package/lib/components/diagrams/types/schemes.type.d.ts +3 -0
- package/lib/components/diagrams/utilities/index.d.ts +2 -0
- package/lib/components/diagrams/utilities/remove.util.d.ts +30 -0
- package/lib/components/diagrams/utilities/serialize.d.ts +15 -0
- package/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.d.ts +1 -0
- package/package.json +14 -2
- package/public-api.d.ts +2 -1
|
@@ -105,6 +105,18 @@ import { MatDividerModule } from '@angular/material/divider';
|
|
|
105
105
|
import localeAr from '@angular/common/locales/ar';
|
|
106
106
|
import localeEn from '@angular/common/locales/en';
|
|
107
107
|
import { RxReactiveFormsModule } from '@rxweb/reactive-form-validators';
|
|
108
|
+
import * as i2$8 from 'rete-angular-plugin';
|
|
109
|
+
import { SocketComponent, ConnectionComponent, NodeComponent, AngularPlugin, Presets as Presets$1, ReteModule } from 'rete-angular-plugin';
|
|
110
|
+
import { ClassicPreset, NodeEditor } from 'rete';
|
|
111
|
+
import { AreaPlugin, AreaExtensions } from 'rete-area-plugin';
|
|
112
|
+
import { AutoArrangePlugin, Presets } from 'rete-auto-arrange-plugin';
|
|
113
|
+
import { ConnectionPlugin, Presets as Presets$2 } from 'rete-connection-plugin';
|
|
114
|
+
import { ReroutePlugin, RerouteExtensions } from 'rete-connection-reroute-plugin';
|
|
115
|
+
import { ReadonlyPlugin } from 'rete-readonly-plugin';
|
|
116
|
+
import { MinimapPlugin } from 'rete-minimap-plugin';
|
|
117
|
+
import { curveLinear } from 'd3-shape';
|
|
118
|
+
import { ConnectionPathPlugin, Transformers } from 'rete-connection-path-plugin';
|
|
119
|
+
import { getDOMSocketPosition } from 'rete-render-utils';
|
|
108
120
|
import * as i7$3 from '@angular/material/badge';
|
|
109
121
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
110
122
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
@@ -7011,6 +7023,23 @@ class DepartmentApiService {
|
|
|
7011
7023
|
return treeItem;
|
|
7012
7024
|
});
|
|
7013
7025
|
}
|
|
7026
|
+
getFullDepartmentTree(customPageProvider, customParams) {
|
|
7027
|
+
let obj = customParams ? customParams : {};
|
|
7028
|
+
let params = Object.assign({ pageProvider: customPageProvider ? customPageProvider : 'PP_Department', currentPageIndex: 0, offset: 0, pageSize: 40, quickFilters: 'Parent Dept' }, obj);
|
|
7029
|
+
if (this.globalAdminService.isGlobalAdmin) {
|
|
7030
|
+
params['queryParams'] = this.globalAdminService.activeTenant;
|
|
7031
|
+
}
|
|
7032
|
+
else if (!this.globalAdminService.isGlobalAdmin && this.nuxeoService.nuxeoClient.user.properties.tenantId) {
|
|
7033
|
+
params['queryParams'] = this.nuxeoService.nuxeoClient.user.properties.tenantId;
|
|
7034
|
+
}
|
|
7035
|
+
return this.CallApiService.query(Object.assign({}, params), {
|
|
7036
|
+
headers: {
|
|
7037
|
+
'X-NXproperties': '*',
|
|
7038
|
+
'enrichers-document': 'children',
|
|
7039
|
+
depth: 'max',
|
|
7040
|
+
},
|
|
7041
|
+
});
|
|
7042
|
+
}
|
|
7014
7043
|
}
|
|
7015
7044
|
DepartmentApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DepartmentApiService, deps: [{ token: CallApiService }, { token: TranslationService }, { token: NuxeoService }, { token: AdapterService }, { token: GlobalAdminService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7016
7045
|
DepartmentApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DepartmentApiService, providedIn: 'root' });
|
|
@@ -7052,6 +7081,12 @@ __decorate([
|
|
|
7052
7081
|
cacheBusterNotifier: departmentCacheBuster$,
|
|
7053
7082
|
})
|
|
7054
7083
|
], DepartmentApiService.prototype, "updateDepartment", null);
|
|
7084
|
+
__decorate([
|
|
7085
|
+
Cacheable({
|
|
7086
|
+
cacheBusterObserver: departmentCacheBuster$,
|
|
7087
|
+
storageStrategy: LocalStorageStrategy
|
|
7088
|
+
})
|
|
7089
|
+
], DepartmentApiService.prototype, "getFullDepartmentTree", null);
|
|
7055
7090
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DepartmentApiService, decorators: [{
|
|
7056
7091
|
type: Injectable,
|
|
7057
7092
|
args: [{
|
|
@@ -7060,7 +7095,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
7060
7095
|
}], ctorParameters: function () { return [{ type: CallApiService }, { type: TranslationService }, { type: NuxeoService }, { type: AdapterService }, { type: GlobalAdminService }, { type: undefined, decorators: [{
|
|
7061
7096
|
type: Inject,
|
|
7062
7097
|
args: ['environment']
|
|
7063
|
-
}] }]; }, propDecorators: { getDepartmentTree: [], getDepartmentDetails: [], getDepartmentNestedTree: [], createDepartment: [], createDepartmentInRoot: [], updateDepartment: [] } });
|
|
7098
|
+
}] }]; }, propDecorators: { getDepartmentTree: [], getDepartmentDetails: [], getDepartmentNestedTree: [], createDepartment: [], createDepartmentInRoot: [], updateDepartment: [], getFullDepartmentTree: [] } });
|
|
7064
7099
|
|
|
7065
7100
|
var _DropdownTreeviewSelectI18n_defaultSelection;
|
|
7066
7101
|
/** @ignore */
|
|
@@ -14005,6 +14040,7 @@ class ScanComponent {
|
|
|
14005
14040
|
allinputs[i].value = '';
|
|
14006
14041
|
}
|
|
14007
14042
|
}
|
|
14043
|
+
//@ts-ignore
|
|
14008
14044
|
if (Dynamsoft.Lib.env.bIE === true && Dynamsoft.Lib.env.bWin64 === true) {
|
|
14009
14045
|
let o = document.getElementById('samplesource64bit');
|
|
14010
14046
|
if (o) {
|
|
@@ -23436,6 +23472,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
23436
23472
|
type: Input
|
|
23437
23473
|
}] } });
|
|
23438
23474
|
|
|
23475
|
+
var _FileGridInfiniteScrollDirective_instances, _FileGridInfiniteScrollDirective_scrollSubject, _FileGridInfiniteScrollDirective_scrollHandler, _FileGridInfiniteScrollDirective_isNodeChanging, _FileGridInfiniteScrollDirective_handleViewModeChanged, _FileGridInfiniteScrollDirective_removeListener;
|
|
23476
|
+
class FileGridInfiniteScrollDirective {
|
|
23477
|
+
constructor() {
|
|
23478
|
+
_FileGridInfiniteScrollDirective_instances.add(this);
|
|
23479
|
+
this.infiniteScrollDistance = 5;
|
|
23480
|
+
this.scrolled = new EventEmitter();
|
|
23481
|
+
_FileGridInfiniteScrollDirective_scrollSubject.set(this, new Subject());
|
|
23482
|
+
_FileGridInfiniteScrollDirective_scrollHandler.set(this, void 0);
|
|
23483
|
+
_FileGridInfiniteScrollDirective_isNodeChanging.set(this, false);
|
|
23484
|
+
}
|
|
23485
|
+
ngAfterViewInit() {
|
|
23486
|
+
this.fileManager.instance.on('contentReady', (e) => {
|
|
23487
|
+
__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_handleViewModeChanged).call(this);
|
|
23488
|
+
});
|
|
23489
|
+
this.fileManager.instance.on('optionChanged', (e) => {
|
|
23490
|
+
if (e.fullName === 'itemView.mode') {
|
|
23491
|
+
__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_handleViewModeChanged).call(this);
|
|
23492
|
+
}
|
|
23493
|
+
else if (e.fullName === 'currentPath') {
|
|
23494
|
+
__classPrivateFieldSet(this, _FileGridInfiniteScrollDirective_isNodeChanging, true, "f");
|
|
23495
|
+
__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_handleViewModeChanged).call(this);
|
|
23496
|
+
setTimeout(() => { __classPrivateFieldSet(this, _FileGridInfiniteScrollDirective_isNodeChanging, false, "f"); }, 1000);
|
|
23497
|
+
}
|
|
23498
|
+
});
|
|
23499
|
+
__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollSubject, "f").pipe(debounceTime(500)).subscribe(() => {
|
|
23500
|
+
this.scrolled.emit();
|
|
23501
|
+
console.log('scroll trigered');
|
|
23502
|
+
});
|
|
23503
|
+
}
|
|
23504
|
+
}
|
|
23505
|
+
_FileGridInfiniteScrollDirective_scrollSubject = new WeakMap(), _FileGridInfiniteScrollDirective_scrollHandler = new WeakMap(), _FileGridInfiniteScrollDirective_isNodeChanging = new WeakMap(), _FileGridInfiniteScrollDirective_instances = new WeakSet(), _FileGridInfiniteScrollDirective_handleViewModeChanged = function _FileGridInfiniteScrollDirective_handleViewModeChanged() {
|
|
23506
|
+
try {
|
|
23507
|
+
__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_removeListener).call(this);
|
|
23508
|
+
setTimeout(() => {
|
|
23509
|
+
const scrollableElement = this.fileManager.instance._itemView._$element[0].getElementsByClassName('dx-scrollable-container')[0];
|
|
23510
|
+
// Define the event handler function
|
|
23511
|
+
const onScroll = () => {
|
|
23512
|
+
if (__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_isNodeChanging, "f"))
|
|
23513
|
+
return;
|
|
23514
|
+
const scrollTop = scrollableElement.scrollTop;
|
|
23515
|
+
const scrollHeight = scrollableElement.scrollHeight;
|
|
23516
|
+
const clientHeight = scrollableElement.clientHeight;
|
|
23517
|
+
if (scrollTop + clientHeight >= scrollHeight - this.infiniteScrollDistance) {
|
|
23518
|
+
__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollSubject, "f").next();
|
|
23519
|
+
}
|
|
23520
|
+
};
|
|
23521
|
+
__classPrivateFieldSet(this, _FileGridInfiniteScrollDirective_scrollHandler, onScroll, "f");
|
|
23522
|
+
scrollableElement.addEventListener('scroll', onScroll);
|
|
23523
|
+
}, 100);
|
|
23524
|
+
}
|
|
23525
|
+
catch (e) { }
|
|
23526
|
+
}, _FileGridInfiniteScrollDirective_removeListener = function _FileGridInfiniteScrollDirective_removeListener() {
|
|
23527
|
+
const scrollableElement = this.fileManager.instance._itemView._$element[0].getElementsByClassName('dx-scrollable-container')[0];
|
|
23528
|
+
if (__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollHandler, "f")) {
|
|
23529
|
+
scrollableElement.removeEventListener('scroll', __classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollHandler, "f"));
|
|
23530
|
+
}
|
|
23531
|
+
};
|
|
23532
|
+
FileGridInfiniteScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FileGridInfiniteScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
23533
|
+
FileGridInfiniteScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FileGridInfiniteScrollDirective, selector: "[ndfFileGridInfiniteScroll]", inputs: { fileManager: ["ndfFileGridInfiniteScroll", "fileManager"], infiniteScrollDistance: "infiniteScrollDistance" }, outputs: { scrolled: "scrolled" }, ngImport: i0 });
|
|
23534
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FileGridInfiniteScrollDirective, decorators: [{
|
|
23535
|
+
type: Directive,
|
|
23536
|
+
args: [{
|
|
23537
|
+
selector: '[ndfFileGridInfiniteScroll]'
|
|
23538
|
+
}]
|
|
23539
|
+
}], propDecorators: { fileManager: [{
|
|
23540
|
+
type: Input,
|
|
23541
|
+
args: ['ndfFileGridInfiniteScroll']
|
|
23542
|
+
}], infiniteScrollDistance: [{
|
|
23543
|
+
type: Input
|
|
23544
|
+
}], scrolled: [{
|
|
23545
|
+
type: Output
|
|
23546
|
+
}] } });
|
|
23547
|
+
|
|
23439
23548
|
var _FileManagerAbstract_instances, _FileManagerAbstract_foldersSubscription$, _FileManagerAbstract_loadMore, _FileManagerAbstract_resetPagination, _FileManagerAbstract_initPagination, _FileManagerAbstract_getNode, _FileManagerAbstract_addOrReplace;
|
|
23440
23549
|
//
|
|
23441
23550
|
class FileManagerAbstract {
|
|
@@ -25425,79 +25534,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
25425
25534
|
}]
|
|
25426
25535
|
}] });
|
|
25427
25536
|
|
|
25428
|
-
var _FileGridInfiniteScrollDirective_instances, _FileGridInfiniteScrollDirective_scrollSubject, _FileGridInfiniteScrollDirective_scrollHandler, _FileGridInfiniteScrollDirective_isNodeChanging, _FileGridInfiniteScrollDirective_handleViewModeChanged, _FileGridInfiniteScrollDirective_removeListener;
|
|
25429
|
-
class FileGridInfiniteScrollDirective {
|
|
25430
|
-
constructor() {
|
|
25431
|
-
_FileGridInfiniteScrollDirective_instances.add(this);
|
|
25432
|
-
this.infiniteScrollDistance = 5;
|
|
25433
|
-
this.scrolled = new EventEmitter();
|
|
25434
|
-
_FileGridInfiniteScrollDirective_scrollSubject.set(this, new Subject());
|
|
25435
|
-
_FileGridInfiniteScrollDirective_scrollHandler.set(this, void 0);
|
|
25436
|
-
_FileGridInfiniteScrollDirective_isNodeChanging.set(this, false);
|
|
25437
|
-
}
|
|
25438
|
-
ngAfterViewInit() {
|
|
25439
|
-
this.fileManager.instance.on('contentReady', (e) => {
|
|
25440
|
-
__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_handleViewModeChanged).call(this);
|
|
25441
|
-
});
|
|
25442
|
-
this.fileManager.instance.on('optionChanged', (e) => {
|
|
25443
|
-
if (e.fullName === 'itemView.mode') {
|
|
25444
|
-
__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_handleViewModeChanged).call(this);
|
|
25445
|
-
}
|
|
25446
|
-
else if (e.fullName === 'currentPath') {
|
|
25447
|
-
__classPrivateFieldSet(this, _FileGridInfiniteScrollDirective_isNodeChanging, true, "f");
|
|
25448
|
-
__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_handleViewModeChanged).call(this);
|
|
25449
|
-
setTimeout(() => { __classPrivateFieldSet(this, _FileGridInfiniteScrollDirective_isNodeChanging, false, "f"); }, 1000);
|
|
25450
|
-
}
|
|
25451
|
-
});
|
|
25452
|
-
__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollSubject, "f").pipe(debounceTime(500)).subscribe(() => {
|
|
25453
|
-
this.scrolled.emit();
|
|
25454
|
-
console.log('scroll trigered');
|
|
25455
|
-
});
|
|
25456
|
-
}
|
|
25457
|
-
}
|
|
25458
|
-
_FileGridInfiniteScrollDirective_scrollSubject = new WeakMap(), _FileGridInfiniteScrollDirective_scrollHandler = new WeakMap(), _FileGridInfiniteScrollDirective_isNodeChanging = new WeakMap(), _FileGridInfiniteScrollDirective_instances = new WeakSet(), _FileGridInfiniteScrollDirective_handleViewModeChanged = function _FileGridInfiniteScrollDirective_handleViewModeChanged() {
|
|
25459
|
-
try {
|
|
25460
|
-
__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_removeListener).call(this);
|
|
25461
|
-
setTimeout(() => {
|
|
25462
|
-
const scrollableElement = this.fileManager.instance._itemView._$element[0].getElementsByClassName('dx-scrollable-container')[0];
|
|
25463
|
-
// Define the event handler function
|
|
25464
|
-
const onScroll = () => {
|
|
25465
|
-
if (__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_isNodeChanging, "f"))
|
|
25466
|
-
return;
|
|
25467
|
-
const scrollTop = scrollableElement.scrollTop;
|
|
25468
|
-
const scrollHeight = scrollableElement.scrollHeight;
|
|
25469
|
-
const clientHeight = scrollableElement.clientHeight;
|
|
25470
|
-
if (scrollTop + clientHeight >= scrollHeight - this.infiniteScrollDistance) {
|
|
25471
|
-
__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollSubject, "f").next();
|
|
25472
|
-
}
|
|
25473
|
-
};
|
|
25474
|
-
__classPrivateFieldSet(this, _FileGridInfiniteScrollDirective_scrollHandler, onScroll, "f");
|
|
25475
|
-
scrollableElement.addEventListener('scroll', onScroll);
|
|
25476
|
-
}, 100);
|
|
25477
|
-
}
|
|
25478
|
-
catch (e) { }
|
|
25479
|
-
}, _FileGridInfiniteScrollDirective_removeListener = function _FileGridInfiniteScrollDirective_removeListener() {
|
|
25480
|
-
const scrollableElement = this.fileManager.instance._itemView._$element[0].getElementsByClassName('dx-scrollable-container')[0];
|
|
25481
|
-
if (__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollHandler, "f")) {
|
|
25482
|
-
scrollableElement.removeEventListener('scroll', __classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollHandler, "f"));
|
|
25483
|
-
}
|
|
25484
|
-
};
|
|
25485
|
-
FileGridInfiniteScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FileGridInfiniteScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
25486
|
-
FileGridInfiniteScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FileGridInfiniteScrollDirective, selector: "[ndfFileGridInfiniteScroll]", inputs: { fileManager: ["ndfFileGridInfiniteScroll", "fileManager"], infiniteScrollDistance: "infiniteScrollDistance" }, outputs: { scrolled: "scrolled" }, ngImport: i0 });
|
|
25487
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FileGridInfiniteScrollDirective, decorators: [{
|
|
25488
|
-
type: Directive,
|
|
25489
|
-
args: [{
|
|
25490
|
-
selector: '[ndfFileGridInfiniteScroll]'
|
|
25491
|
-
}]
|
|
25492
|
-
}], propDecorators: { fileManager: [{
|
|
25493
|
-
type: Input,
|
|
25494
|
-
args: ['ndfFileGridInfiniteScroll']
|
|
25495
|
-
}], infiniteScrollDistance: [{
|
|
25496
|
-
type: Input
|
|
25497
|
-
}], scrolled: [{
|
|
25498
|
-
type: Output
|
|
25499
|
-
}] } });
|
|
25500
|
-
|
|
25501
25537
|
class FileMangerModule {
|
|
25502
25538
|
}
|
|
25503
25539
|
FileMangerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FileMangerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -27192,6 +27228,1456 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
27192
27228
|
}]
|
|
27193
27229
|
}] });
|
|
27194
27230
|
|
|
27231
|
+
const DIAGRAM_DEFAULT_OPTIONS = {
|
|
27232
|
+
socketType: 'custom',
|
|
27233
|
+
connectionType: 'custom',
|
|
27234
|
+
fitToView: true,
|
|
27235
|
+
area: {
|
|
27236
|
+
restrict: true,
|
|
27237
|
+
scaling: { min: 0.5, max: 1.3 },
|
|
27238
|
+
},
|
|
27239
|
+
path: {
|
|
27240
|
+
arrow: {
|
|
27241
|
+
color: 'var(--path-color , #5d6481)',
|
|
27242
|
+
marker: 'M-3,-6 L-3,6 L10,0 Z',
|
|
27243
|
+
},
|
|
27244
|
+
transform: {
|
|
27245
|
+
active: true,
|
|
27246
|
+
},
|
|
27247
|
+
},
|
|
27248
|
+
};
|
|
27249
|
+
|
|
27250
|
+
const IN_OUT_DIRECTION = {
|
|
27251
|
+
start: 'start',
|
|
27252
|
+
end: 'end',
|
|
27253
|
+
top: 'top',
|
|
27254
|
+
bottom: 'bottom',
|
|
27255
|
+
};
|
|
27256
|
+
|
|
27257
|
+
const MESSAGE_TYPE = {
|
|
27258
|
+
configUpdated: 'configUpdated',
|
|
27259
|
+
refresh: 'refresh',
|
|
27260
|
+
};
|
|
27261
|
+
|
|
27262
|
+
const NODE_TYPE = {
|
|
27263
|
+
start: 'start',
|
|
27264
|
+
content: 'content',
|
|
27265
|
+
template: 'template',
|
|
27266
|
+
end: 'end',
|
|
27267
|
+
};
|
|
27268
|
+
|
|
27269
|
+
const NOTIFY_EVENT = {
|
|
27270
|
+
remove: 'remove',
|
|
27271
|
+
};
|
|
27272
|
+
|
|
27273
|
+
const NODE_MARGIN = 60;
|
|
27274
|
+
const NODE_WIDTH = 150;
|
|
27275
|
+
const NODE_HEIGHT = 118;
|
|
27276
|
+
const NODE_CIRCLE_SIZE = 72;
|
|
27277
|
+
const DIAGRAM_HEIGHT = 600;
|
|
27278
|
+
const SOCKET_WIDTH = 8;
|
|
27279
|
+
|
|
27280
|
+
const NODE_STATUS = {
|
|
27281
|
+
draft: 'draft',
|
|
27282
|
+
completed: 'completed',
|
|
27283
|
+
rejected: 'rejected',
|
|
27284
|
+
inProgress: 'inProgress',
|
|
27285
|
+
upcoming: 'upcoming',
|
|
27286
|
+
approved: 'approved',
|
|
27287
|
+
};
|
|
27288
|
+
|
|
27289
|
+
class DiagramPluginsService {
|
|
27290
|
+
setPlugins({ plugins, layout }) {
|
|
27291
|
+
this.area = plugins.area;
|
|
27292
|
+
this.readonly = plugins.readonly;
|
|
27293
|
+
this.arrange = plugins.arrange;
|
|
27294
|
+
this.reroute = plugins.reroute;
|
|
27295
|
+
}
|
|
27296
|
+
destroy() {
|
|
27297
|
+
this.area.destroy();
|
|
27298
|
+
}
|
|
27299
|
+
}
|
|
27300
|
+
DiagramPluginsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramPluginsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27301
|
+
DiagramPluginsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramPluginsService });
|
|
27302
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramPluginsService, decorators: [{
|
|
27303
|
+
type: Injectable
|
|
27304
|
+
}] });
|
|
27305
|
+
|
|
27306
|
+
class BaseNodeClass extends ClassicPreset.Node {
|
|
27307
|
+
constructor(config) {
|
|
27308
|
+
super(config.label);
|
|
27309
|
+
this.type = NODE_TYPE.content;
|
|
27310
|
+
this.width = NODE_WIDTH;
|
|
27311
|
+
this.height = NODE_HEIGHT;
|
|
27312
|
+
this.directions = {
|
|
27313
|
+
inputs: IN_OUT_DIRECTION.start,
|
|
27314
|
+
outputs: IN_OUT_DIRECTION.end,
|
|
27315
|
+
};
|
|
27316
|
+
this.name = config === null || config === void 0 ? void 0 : config.name;
|
|
27317
|
+
this.directions = (config === null || config === void 0 ? void 0 : config.directions) || this.directions;
|
|
27318
|
+
this.type = config.type || NODE_TYPE.content;
|
|
27319
|
+
this.description = config === null || config === void 0 ? void 0 : config.description;
|
|
27320
|
+
this.status = config === null || config === void 0 ? void 0 : config.status;
|
|
27321
|
+
this.width = (config === null || config === void 0 ? void 0 : config.width) || NODE_WIDTH;
|
|
27322
|
+
this.height = (config === null || config === void 0 ? void 0 : config.height) || NODE_HEIGHT;
|
|
27323
|
+
this.content = config === null || config === void 0 ? void 0 : config.content;
|
|
27324
|
+
this.config = config === null || config === void 0 ? void 0 : config.config;
|
|
27325
|
+
this.styleClass = config === null || config === void 0 ? void 0 : config.styleClass;
|
|
27326
|
+
}
|
|
27327
|
+
}
|
|
27328
|
+
|
|
27329
|
+
class CircleNode extends BaseNodeClass {
|
|
27330
|
+
constructor(config) {
|
|
27331
|
+
super(config);
|
|
27332
|
+
this.width = NODE_CIRCLE_SIZE;
|
|
27333
|
+
this.height = NODE_CIRCLE_SIZE;
|
|
27334
|
+
}
|
|
27335
|
+
}
|
|
27336
|
+
|
|
27337
|
+
class Connection extends ClassicPreset.Connection {
|
|
27338
|
+
constructor() {
|
|
27339
|
+
super(...arguments);
|
|
27340
|
+
this.renderType = 'default';
|
|
27341
|
+
}
|
|
27342
|
+
}
|
|
27343
|
+
|
|
27344
|
+
class ContentNode extends BaseNodeClass {
|
|
27345
|
+
constructor(config) {
|
|
27346
|
+
super(config);
|
|
27347
|
+
}
|
|
27348
|
+
}
|
|
27349
|
+
|
|
27350
|
+
class Socket extends ClassicPreset.Socket {
|
|
27351
|
+
constructor(name, renderType = 'default') {
|
|
27352
|
+
super(name);
|
|
27353
|
+
this.renderType = renderType;
|
|
27354
|
+
}
|
|
27355
|
+
}
|
|
27356
|
+
|
|
27357
|
+
class TemplateNode extends BaseNodeClass {
|
|
27358
|
+
constructor(config) {
|
|
27359
|
+
super(config);
|
|
27360
|
+
this.type = NODE_TYPE.template;
|
|
27361
|
+
if (config.template) {
|
|
27362
|
+
this.template = config.template;
|
|
27363
|
+
}
|
|
27364
|
+
}
|
|
27365
|
+
}
|
|
27366
|
+
|
|
27367
|
+
/**
|
|
27368
|
+
*
|
|
27369
|
+
* @param config
|
|
27370
|
+
* @returns
|
|
27371
|
+
*/
|
|
27372
|
+
const customizeSocket = (config) => (data) => {
|
|
27373
|
+
const payload = data.payload;
|
|
27374
|
+
if (payload.renderType === 'custom' || config.socketType === 'custom') {
|
|
27375
|
+
return CustomSocketComponent;
|
|
27376
|
+
}
|
|
27377
|
+
return SocketComponent;
|
|
27378
|
+
};
|
|
27379
|
+
/**
|
|
27380
|
+
*
|
|
27381
|
+
* @param config
|
|
27382
|
+
* @param editor
|
|
27383
|
+
* @returns
|
|
27384
|
+
*/
|
|
27385
|
+
const customizeNode = (config, editor) => (data) => {
|
|
27386
|
+
var _a;
|
|
27387
|
+
const node = data.payload;
|
|
27388
|
+
(_a = node.config) !== null && _a !== void 0 ? _a : (node.config = config['node']);
|
|
27389
|
+
return initAngularComponentByType(node.type);
|
|
27390
|
+
};
|
|
27391
|
+
/**
|
|
27392
|
+
*
|
|
27393
|
+
* @param config
|
|
27394
|
+
* @returns
|
|
27395
|
+
*/
|
|
27396
|
+
const customizeConnection = (config) => (data) => {
|
|
27397
|
+
const payload = data.payload;
|
|
27398
|
+
if (payload.renderType === 'custom' || config.connectionType == 'custom') {
|
|
27399
|
+
return CustomConnectionComponent;
|
|
27400
|
+
}
|
|
27401
|
+
return ConnectionComponent;
|
|
27402
|
+
};
|
|
27403
|
+
const initNodeByType = (type, config) => {
|
|
27404
|
+
const _nodes = {
|
|
27405
|
+
start: CircleNode,
|
|
27406
|
+
content: ContentNode,
|
|
27407
|
+
template: TemplateNode,
|
|
27408
|
+
end: CircleNode,
|
|
27409
|
+
};
|
|
27410
|
+
return new _nodes[type](config) || new ContentNode(config);
|
|
27411
|
+
};
|
|
27412
|
+
const initAngularComponentByType = (type) => {
|
|
27413
|
+
const _components = {
|
|
27414
|
+
content: ContentNodeComponent,
|
|
27415
|
+
start: CircleNodeComponent,
|
|
27416
|
+
end: CircleNodeComponent,
|
|
27417
|
+
template: TemplateNodeComponent,
|
|
27418
|
+
};
|
|
27419
|
+
return _components[type] || NodeComponent;
|
|
27420
|
+
};
|
|
27421
|
+
|
|
27422
|
+
const createSegmentedPath = (connection, options) => {
|
|
27423
|
+
const { multiPoints = true, offset = 0 } = options || {};
|
|
27424
|
+
return (points) => {
|
|
27425
|
+
if (points.length !== 2) {
|
|
27426
|
+
throw new Error('Exactly two points are required to create a linear path.');
|
|
27427
|
+
}
|
|
27428
|
+
const [start, end] = points;
|
|
27429
|
+
if (multiPoints) {
|
|
27430
|
+
const midpointY = (end.y - start.y) / 2 + start.y;
|
|
27431
|
+
const intermediatePoints = [
|
|
27432
|
+
{ x: start.x, y: midpointY - offset },
|
|
27433
|
+
{ x: end.x, y: midpointY + offset },
|
|
27434
|
+
];
|
|
27435
|
+
// Use bezier curves between points to smooth corners
|
|
27436
|
+
return [
|
|
27437
|
+
Object.assign(Object.assign({}, start), { controlOut: { x: start.x, y: midpointY - offset } }),
|
|
27438
|
+
intermediatePoints[0],
|
|
27439
|
+
intermediatePoints[1],
|
|
27440
|
+
Object.assign(Object.assign({}, end), { controlIn: { x: end.x, y: midpointY + offset } }),
|
|
27441
|
+
];
|
|
27442
|
+
}
|
|
27443
|
+
return [start, end];
|
|
27444
|
+
};
|
|
27445
|
+
};
|
|
27446
|
+
|
|
27447
|
+
const initPathPlugin = (config) => new ConnectionPathPlugin({
|
|
27448
|
+
curve: (c) => { var _a; return (_a = (c.curve || (config === null || config === void 0 ? void 0 : config.curve))) !== null && _a !== void 0 ? _a : curveLinear; },
|
|
27449
|
+
transformer: (c) => {
|
|
27450
|
+
var _a, _b, _c;
|
|
27451
|
+
return ((_a = config === null || config === void 0 ? void 0 : config.transform) === null || _a === void 0 ? void 0 : _a.active)
|
|
27452
|
+
? createSegmentedPath(c, (_b = config === null || config === void 0 ? void 0 : config.transform) === null || _b === void 0 ? void 0 : _b.options)
|
|
27453
|
+
: Transformers.classic({
|
|
27454
|
+
vertical: !!(config === null || config === void 0 ? void 0 : config.vertical),
|
|
27455
|
+
curvature: (_c = config === null || config === void 0 ? void 0 : config.curvature) !== null && _c !== void 0 ? _c : 0.3,
|
|
27456
|
+
});
|
|
27457
|
+
},
|
|
27458
|
+
arrow: (connection) => (!(config === null || config === void 0 ? void 0 : config.arrow) ? false : config === null || config === void 0 ? void 0 : config.arrow),
|
|
27459
|
+
});
|
|
27460
|
+
|
|
27461
|
+
const socketPositionWatcher = (offset = 1, isVertical = false, editor) => getDOMSocketPosition({
|
|
27462
|
+
offset({ x, y }, nodeId, side, key) {
|
|
27463
|
+
return { x, y };
|
|
27464
|
+
},
|
|
27465
|
+
});
|
|
27466
|
+
|
|
27467
|
+
const createDiagramEditor = (container, injector, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27468
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
27469
|
+
//#region PLUGINS
|
|
27470
|
+
const socket = new Socket('', config === null || config === void 0 ? void 0 : config.socketType);
|
|
27471
|
+
const editor = new NodeEditor();
|
|
27472
|
+
const area = new AreaPlugin(container);
|
|
27473
|
+
const connection = new ConnectionPlugin();
|
|
27474
|
+
const pathPlugin = initPathPlugin(config === null || config === void 0 ? void 0 : config.path);
|
|
27475
|
+
const angularRender = new AngularPlugin({ injector });
|
|
27476
|
+
const readonly = new ReadonlyPlugin();
|
|
27477
|
+
const arrange = new AutoArrangePlugin();
|
|
27478
|
+
const reroute = new ReroutePlugin();
|
|
27479
|
+
const minimap = new MinimapPlugin((_a = config === null || config === void 0 ? void 0 : config.minimap) === null || _a === void 0 ? void 0 : _a.options);
|
|
27480
|
+
//#endregion
|
|
27481
|
+
//#region SELECTORS
|
|
27482
|
+
const selector = AreaExtensions.selector();
|
|
27483
|
+
const accumulating = AreaExtensions.accumulateOnCtrl();
|
|
27484
|
+
AreaExtensions.selectableNodes(area, selector, { accumulating });
|
|
27485
|
+
RerouteExtensions.selectablePins(reroute, selector, accumulating);
|
|
27486
|
+
//#endregion
|
|
27487
|
+
//#region PRESETS
|
|
27488
|
+
arrange.addPreset(Presets.classic.setup());
|
|
27489
|
+
angularRender.addPreset(Presets$1.classic.setup({
|
|
27490
|
+
socketPositionWatcher: socketPositionWatcher(0, (_b = config === null || config === void 0 ? void 0 : config.path) === null || _b === void 0 ? void 0 : _b.vertical, editor),
|
|
27491
|
+
customize: {
|
|
27492
|
+
node: customizeNode(config, editor),
|
|
27493
|
+
connection: customizeConnection(config),
|
|
27494
|
+
socket: customizeSocket(config),
|
|
27495
|
+
},
|
|
27496
|
+
}));
|
|
27497
|
+
angularRender.addPreset(Presets$1.minimap.setup({ size: ((_c = config === null || config === void 0 ? void 0 : config.minimap) === null || _c === void 0 ? void 0 : _c.size) || 150 }));
|
|
27498
|
+
connection.addPreset(Presets$2.classic.setup());
|
|
27499
|
+
if ((_d = config === null || config === void 0 ? void 0 : config.area) === null || _d === void 0 ? void 0 : _d.restrict) {
|
|
27500
|
+
const _scaling = (config === null || config === void 0 ? void 0 : config.area.scaling) || { min: 0.5, max: 1.5 };
|
|
27501
|
+
AreaExtensions.restrictor(area, {
|
|
27502
|
+
scaling: () => _scaling,
|
|
27503
|
+
});
|
|
27504
|
+
}
|
|
27505
|
+
//#endregion
|
|
27506
|
+
//#region USE
|
|
27507
|
+
if ((_e = config === null || config === void 0 ? void 0 : config.readonly) === null || _e === void 0 ? void 0 : _e.active) {
|
|
27508
|
+
editor.use(readonly.root);
|
|
27509
|
+
area.use(readonly.area);
|
|
27510
|
+
}
|
|
27511
|
+
editor.use(area);
|
|
27512
|
+
if (!((_f = config === null || config === void 0 ? void 0 : config.readonly) === null || _f === void 0 ? void 0 : _f.active)) {
|
|
27513
|
+
// Don't use the connection plugin in readonly mode
|
|
27514
|
+
area.use(connection);
|
|
27515
|
+
}
|
|
27516
|
+
if (config === null || config === void 0 ? void 0 : config.enableArrange) {
|
|
27517
|
+
area.use(arrange);
|
|
27518
|
+
}
|
|
27519
|
+
//@ts-ignore
|
|
27520
|
+
angularRender.use(pathPlugin);
|
|
27521
|
+
if (config.reroute) {
|
|
27522
|
+
//@ts-ignore
|
|
27523
|
+
angularRender.use(reroute);
|
|
27524
|
+
}
|
|
27525
|
+
if ((_g = config === null || config === void 0 ? void 0 : config.minimap) === null || _g === void 0 ? void 0 : _g.active) {
|
|
27526
|
+
area.use(minimap);
|
|
27527
|
+
}
|
|
27528
|
+
// Render Diagram
|
|
27529
|
+
area.use(angularRender);
|
|
27530
|
+
//#endregion
|
|
27531
|
+
return {
|
|
27532
|
+
editor,
|
|
27533
|
+
socket,
|
|
27534
|
+
plugins: {
|
|
27535
|
+
area,
|
|
27536
|
+
connection,
|
|
27537
|
+
arrange,
|
|
27538
|
+
reroute,
|
|
27539
|
+
readonly,
|
|
27540
|
+
},
|
|
27541
|
+
destroy: () => area.destroy(),
|
|
27542
|
+
layout: (props) => arrange.layout(props),
|
|
27543
|
+
fitToZoom: () => {
|
|
27544
|
+
AreaExtensions.zoomAt(area, editor.getNodes());
|
|
27545
|
+
},
|
|
27546
|
+
};
|
|
27547
|
+
});
|
|
27548
|
+
|
|
27549
|
+
/**
|
|
27550
|
+
*
|
|
27551
|
+
* @param node
|
|
27552
|
+
* @returns
|
|
27553
|
+
*/
|
|
27554
|
+
const removeNode = (data, editor) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27555
|
+
if (!data || !editor) {
|
|
27556
|
+
console.log('Node not found.');
|
|
27557
|
+
return;
|
|
27558
|
+
}
|
|
27559
|
+
const nodes = editor.getNodes();
|
|
27560
|
+
const node = editor.getNode(data.nodeId);
|
|
27561
|
+
if (!node) {
|
|
27562
|
+
console.log('Node not found.');
|
|
27563
|
+
return;
|
|
27564
|
+
}
|
|
27565
|
+
if (node.type === NODE_TYPE.start && nodes.length > 1) {
|
|
27566
|
+
return;
|
|
27567
|
+
}
|
|
27568
|
+
const nodeConfig = node.config;
|
|
27569
|
+
return (nodeConfig === null || nodeConfig === void 0 ? void 0 : nodeConfig.isLinked)
|
|
27570
|
+
? yield removeNodeAndReplaceConnections(node, editor)
|
|
27571
|
+
: yield removeNodeAndConnections(node, editor);
|
|
27572
|
+
});
|
|
27573
|
+
/**
|
|
27574
|
+
*
|
|
27575
|
+
* @param node
|
|
27576
|
+
* @param editor
|
|
27577
|
+
*/
|
|
27578
|
+
const removeNodeAndConnections = (node, editor) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27579
|
+
removeConnections(node, editor);
|
|
27580
|
+
yield editor.removeNode(node.id);
|
|
27581
|
+
});
|
|
27582
|
+
/**
|
|
27583
|
+
*
|
|
27584
|
+
* @param node
|
|
27585
|
+
* @param editor
|
|
27586
|
+
*/
|
|
27587
|
+
const removeNodeAndReplaceConnections = (node, editor) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27588
|
+
const outputs = getConnections(editor, (connection) => connection.source == node.id);
|
|
27589
|
+
const inputs = getConnections(editor, (connection) => connection.target == node.id);
|
|
27590
|
+
if (!!inputs.length && !!outputs.length) {
|
|
27591
|
+
yield _updateConnections(outputs, inputs, editor);
|
|
27592
|
+
}
|
|
27593
|
+
else {
|
|
27594
|
+
removeConnections(node, editor);
|
|
27595
|
+
}
|
|
27596
|
+
yield editor.removeNode(node.id);
|
|
27597
|
+
});
|
|
27598
|
+
/**
|
|
27599
|
+
*
|
|
27600
|
+
* @param node
|
|
27601
|
+
* @param editor
|
|
27602
|
+
*/
|
|
27603
|
+
const removeConnections = (node, editor) => {
|
|
27604
|
+
const connections = getConnections(editor, (connection) => connection.source === node.id || connection.target === node.id);
|
|
27605
|
+
if (connections.length) {
|
|
27606
|
+
connections.forEach((connection) => {
|
|
27607
|
+
editor.removeConnection(connection.id);
|
|
27608
|
+
});
|
|
27609
|
+
}
|
|
27610
|
+
};
|
|
27611
|
+
/**
|
|
27612
|
+
*
|
|
27613
|
+
* @param editor
|
|
27614
|
+
* @param predicate
|
|
27615
|
+
* @returns
|
|
27616
|
+
*/
|
|
27617
|
+
const getConnections = (editor, predicate) => {
|
|
27618
|
+
return editor.getConnections().filter(predicate);
|
|
27619
|
+
};
|
|
27620
|
+
/**
|
|
27621
|
+
*
|
|
27622
|
+
* @param outputs
|
|
27623
|
+
* @param inputs
|
|
27624
|
+
* @param editor
|
|
27625
|
+
*/
|
|
27626
|
+
const _updateConnections = (outputs, inputs, editor) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27627
|
+
const source = inputs[0].source;
|
|
27628
|
+
const target = outputs[0].target;
|
|
27629
|
+
const sourceNode = editor.getNode(source);
|
|
27630
|
+
const targetNode = editor.getNode(target);
|
|
27631
|
+
[...outputs, ...inputs].forEach((connection) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27632
|
+
yield editor.removeConnection(connection.id);
|
|
27633
|
+
}));
|
|
27634
|
+
if (!sourceNode || !targetNode) {
|
|
27635
|
+
return;
|
|
27636
|
+
}
|
|
27637
|
+
const connection = new Connection(sourceNode, `${sourceNode.id}-output`, targetNode, `${targetNode.id}-input`);
|
|
27638
|
+
yield editor.addConnection(connection);
|
|
27639
|
+
});
|
|
27640
|
+
|
|
27641
|
+
function serializePort(port) {
|
|
27642
|
+
return {
|
|
27643
|
+
id: port.id,
|
|
27644
|
+
label: port.label,
|
|
27645
|
+
socket: {
|
|
27646
|
+
name: port.socket.name,
|
|
27647
|
+
},
|
|
27648
|
+
};
|
|
27649
|
+
}
|
|
27650
|
+
function serializeControl(control) {
|
|
27651
|
+
if (control instanceof ClassicPreset.InputControl) {
|
|
27652
|
+
return {
|
|
27653
|
+
__type: 'ClassicPreset.InputControl',
|
|
27654
|
+
id: control.id,
|
|
27655
|
+
readonly: control.readonly,
|
|
27656
|
+
type: control.type,
|
|
27657
|
+
value: control.value,
|
|
27658
|
+
};
|
|
27659
|
+
}
|
|
27660
|
+
return null;
|
|
27661
|
+
}
|
|
27662
|
+
|
|
27663
|
+
class DiagramService {
|
|
27664
|
+
/**
|
|
27665
|
+
*
|
|
27666
|
+
*/
|
|
27667
|
+
constructor(plugins) {
|
|
27668
|
+
this.plugins = plugins;
|
|
27669
|
+
this._editorSub = new Subject();
|
|
27670
|
+
this.onReady$ = this._editorSub.asObservable();
|
|
27671
|
+
}
|
|
27672
|
+
setEditor(editor) {
|
|
27673
|
+
this._editorSub.next(editor);
|
|
27674
|
+
this.editor = editor.editor;
|
|
27675
|
+
this.socket = editor.socket;
|
|
27676
|
+
this.destroy = editor.destroy;
|
|
27677
|
+
this.fitToZoom = editor.fitToZoom;
|
|
27678
|
+
}
|
|
27679
|
+
getContentNodes() {
|
|
27680
|
+
return this.editor
|
|
27681
|
+
.getNodes()
|
|
27682
|
+
.filter((nd) => ![NODE_TYPE.start, NODE_TYPE.end].includes(nd.type));
|
|
27683
|
+
}
|
|
27684
|
+
getNodesData() {
|
|
27685
|
+
return this.getContentNodes().map((node) => node.content.data);
|
|
27686
|
+
}
|
|
27687
|
+
canAddNode(nodeType) {
|
|
27688
|
+
if (nodeType === NODE_TYPE.content) {
|
|
27689
|
+
return true;
|
|
27690
|
+
}
|
|
27691
|
+
const _nodes = this.editor.getNodes();
|
|
27692
|
+
const _isExist = _nodes.some((nd) => nd.type === nodeType);
|
|
27693
|
+
return !_isExist;
|
|
27694
|
+
}
|
|
27695
|
+
addNode(node) {
|
|
27696
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27697
|
+
yield this.editor.addNode(node);
|
|
27698
|
+
});
|
|
27699
|
+
}
|
|
27700
|
+
createNode(type = NODE_TYPE.content, config) {
|
|
27701
|
+
const _node = initNodeByType(type, config);
|
|
27702
|
+
if (config.type !== NODE_TYPE.start) {
|
|
27703
|
+
this.createInputs(_node);
|
|
27704
|
+
}
|
|
27705
|
+
if (config.type !== NODE_TYPE.end) {
|
|
27706
|
+
this.createOutputs(_node);
|
|
27707
|
+
}
|
|
27708
|
+
_node.notify = this.notifyListener(_node);
|
|
27709
|
+
return _node;
|
|
27710
|
+
}
|
|
27711
|
+
shouldAddStart(nodeType) {
|
|
27712
|
+
if (nodeType === NODE_TYPE.start) {
|
|
27713
|
+
return false;
|
|
27714
|
+
}
|
|
27715
|
+
const _nodes = this.editor.getNodes();
|
|
27716
|
+
const _isExist = _nodes.some((nd) => nd.type === NODE_TYPE.start);
|
|
27717
|
+
return !_isExist;
|
|
27718
|
+
}
|
|
27719
|
+
getLastNode() {
|
|
27720
|
+
const nodes = this.editor.getNodes();
|
|
27721
|
+
return nodes.length ? nodes[nodes.length - 1] : null;
|
|
27722
|
+
}
|
|
27723
|
+
getNodesByType(type) {
|
|
27724
|
+
return this.editor.getNodes().filter((nd) => nd.type === type);
|
|
27725
|
+
}
|
|
27726
|
+
getLastViewNode() {
|
|
27727
|
+
const nodes = Array.from(this.plugins.area.nodeViews.values());
|
|
27728
|
+
return nodes.length ? nodes[nodes.length - 1] : null;
|
|
27729
|
+
}
|
|
27730
|
+
createInputs(node) {
|
|
27731
|
+
node.addInput(`${node.id}-input`, new ClassicPreset.Input(this.socket));
|
|
27732
|
+
return node;
|
|
27733
|
+
}
|
|
27734
|
+
createOutputs(node) {
|
|
27735
|
+
node.addOutput(`${node.id}-output`, new ClassicPreset.Output(this.socket, '', false));
|
|
27736
|
+
return node;
|
|
27737
|
+
}
|
|
27738
|
+
addConnection(sourceNode, targetNode) {
|
|
27739
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27740
|
+
yield this.editor.addConnection(this.createConnection(sourceNode, targetNode));
|
|
27741
|
+
});
|
|
27742
|
+
}
|
|
27743
|
+
createConnection(sourceNode, targetNode) {
|
|
27744
|
+
const connection = new Connection(sourceNode, `${sourceNode.id}-output`, targetNode, `${targetNode.id}-input`);
|
|
27745
|
+
connection.status = targetNode.status;
|
|
27746
|
+
return connection;
|
|
27747
|
+
}
|
|
27748
|
+
appendConnection(connection) {
|
|
27749
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27750
|
+
yield this.editor.addConnection(connection);
|
|
27751
|
+
});
|
|
27752
|
+
}
|
|
27753
|
+
clear() {
|
|
27754
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27755
|
+
return yield this.editor.clear();
|
|
27756
|
+
});
|
|
27757
|
+
}
|
|
27758
|
+
redraw() {
|
|
27759
|
+
this.editor.getNodes().forEach((node) => {
|
|
27760
|
+
this.plugins.area.update('node', node.id);
|
|
27761
|
+
});
|
|
27762
|
+
}
|
|
27763
|
+
notifyListener(node) {
|
|
27764
|
+
return (eventType, payload) => {
|
|
27765
|
+
var _a;
|
|
27766
|
+
const _actions = {
|
|
27767
|
+
[NOTIFY_EVENT.remove]: this._removeNode.bind(this),
|
|
27768
|
+
};
|
|
27769
|
+
return (_a = _actions[eventType]) === null || _a === void 0 ? void 0 : _a.call(_actions, payload);
|
|
27770
|
+
};
|
|
27771
|
+
}
|
|
27772
|
+
_removeNode(data) {
|
|
27773
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27774
|
+
const node = this.editor.getNode(data.nodeId);
|
|
27775
|
+
if (!node) {
|
|
27776
|
+
return;
|
|
27777
|
+
}
|
|
27778
|
+
const viewNode = (id) => this.plugins.area.nodeViews.get(id);
|
|
27779
|
+
let config = node.config;
|
|
27780
|
+
let index = null;
|
|
27781
|
+
let position = null;
|
|
27782
|
+
let direction = null;
|
|
27783
|
+
if (config.isLinked) {
|
|
27784
|
+
index = this.editor.getNodes().findIndex((nd) => nd.id === data.nodeId);
|
|
27785
|
+
position = viewNode(data.nodeId).position;
|
|
27786
|
+
direction = node.directions;
|
|
27787
|
+
}
|
|
27788
|
+
this.plugins.readonly.disable();
|
|
27789
|
+
yield removeNode(data, this.editor);
|
|
27790
|
+
if (config.isLinked) {
|
|
27791
|
+
const nodes = this.editor.getNodes().slice(index);
|
|
27792
|
+
while (nodes.length) {
|
|
27793
|
+
const _node = nodes.shift();
|
|
27794
|
+
const _dir = Object.assign({}, _node.directions);
|
|
27795
|
+
const _position = Object.assign({}, viewNode(_node.id).position);
|
|
27796
|
+
_node.directions = direction;
|
|
27797
|
+
if (_node.type == NODE_TYPE.end) {
|
|
27798
|
+
position.y = Math.abs(Math.floor(position.y - (_node.height - NODE_CIRCLE_SIZE) / 2));
|
|
27799
|
+
}
|
|
27800
|
+
yield this.plugins.area.translate(_node.id, position);
|
|
27801
|
+
yield this.plugins.area.update('node', _node.id);
|
|
27802
|
+
position = _position;
|
|
27803
|
+
direction = _dir;
|
|
27804
|
+
}
|
|
27805
|
+
}
|
|
27806
|
+
this.plugins.readonly.enable();
|
|
27807
|
+
});
|
|
27808
|
+
}
|
|
27809
|
+
translateView() {
|
|
27810
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27811
|
+
const { container, area } = this.plugins.area;
|
|
27812
|
+
const rect = container.getBoundingClientRect();
|
|
27813
|
+
const k = area.transform.k;
|
|
27814
|
+
const delta = -0.2;
|
|
27815
|
+
const ox = Math.max(0, (rect.left - container.clientWidth / 2) * k);
|
|
27816
|
+
const oy = Math.max(0, (rect.top - container.clientHeight / 2) * k);
|
|
27817
|
+
area.zoom(Math.max(0.1, k * (1 + delta)), ox * delta, oy * delta);
|
|
27818
|
+
});
|
|
27819
|
+
}
|
|
27820
|
+
}
|
|
27821
|
+
DiagramService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramService, deps: [{ token: DiagramPluginsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27822
|
+
DiagramService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramService });
|
|
27823
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramService, decorators: [{
|
|
27824
|
+
type: Injectable
|
|
27825
|
+
}], ctorParameters: function () { return [{ type: DiagramPluginsService }]; } });
|
|
27826
|
+
|
|
27827
|
+
class MessageService {
|
|
27828
|
+
constructor() {
|
|
27829
|
+
this.messageSubject = new Subject();
|
|
27830
|
+
}
|
|
27831
|
+
sendMessage(key, payload) {
|
|
27832
|
+
this.messageSubject.next({ key, payload });
|
|
27833
|
+
}
|
|
27834
|
+
onMessage(key) {
|
|
27835
|
+
return this.messageSubject.asObservable().pipe(filter$1((data) => data.key === key), map((data) => data.payload));
|
|
27836
|
+
}
|
|
27837
|
+
}
|
|
27838
|
+
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27839
|
+
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MessageService, providedIn: 'root' });
|
|
27840
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MessageService, decorators: [{
|
|
27841
|
+
type: Injectable,
|
|
27842
|
+
args: [{
|
|
27843
|
+
providedIn: 'root',
|
|
27844
|
+
}]
|
|
27845
|
+
}] });
|
|
27846
|
+
|
|
27847
|
+
class WorkflowService {
|
|
27848
|
+
constructor(_diagram, _plugins, _message) {
|
|
27849
|
+
this._diagram = _diagram;
|
|
27850
|
+
this._plugins = _plugins;
|
|
27851
|
+
this._message = _message;
|
|
27852
|
+
this._defaultNodeHeight = NODE_HEIGHT;
|
|
27853
|
+
this._defaultNodeWidth = NODE_WIDTH;
|
|
27854
|
+
this._defaultNodeCircleSize = NODE_CIRCLE_SIZE;
|
|
27855
|
+
this._defaultNodeMargin = NODE_MARGIN;
|
|
27856
|
+
this._offset = 60;
|
|
27857
|
+
}
|
|
27858
|
+
get _diagramClientRect() {
|
|
27859
|
+
return this._plugins.area.container.getBoundingClientRect();
|
|
27860
|
+
}
|
|
27861
|
+
setConfig(_config) {
|
|
27862
|
+
this._config = _config;
|
|
27863
|
+
this._message.sendMessage(MESSAGE_TYPE.configUpdated, _config);
|
|
27864
|
+
}
|
|
27865
|
+
addNode(nodeType, data) {
|
|
27866
|
+
var _a, _b;
|
|
27867
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27868
|
+
if (!this._diagram.canAddNode(nodeType)) {
|
|
27869
|
+
if (this._isReadonlyDisabled()) {
|
|
27870
|
+
this._plugins.readonly.enable();
|
|
27871
|
+
}
|
|
27872
|
+
return;
|
|
27873
|
+
}
|
|
27874
|
+
let position = { x: this._offset, y: this._offset };
|
|
27875
|
+
if (this._isReadonlyEnabled()) {
|
|
27876
|
+
this._plugins.readonly.disable();
|
|
27877
|
+
}
|
|
27878
|
+
const _node = this._createNode(nodeType, data);
|
|
27879
|
+
if (this._diagram.shouldAddStart(nodeType)) {
|
|
27880
|
+
yield this.addStartNode(position);
|
|
27881
|
+
}
|
|
27882
|
+
if ((_a = this._config.node) === null || _a === void 0 ? void 0 : _a.isLinked) {
|
|
27883
|
+
const lastNode = yield this._linkToLastNode(_node);
|
|
27884
|
+
if (lastNode) {
|
|
27885
|
+
position = this._calculatePosition(_node, lastNode);
|
|
27886
|
+
}
|
|
27887
|
+
}
|
|
27888
|
+
yield this._diagram.addNode(_node);
|
|
27889
|
+
yield this._plugins.area.translate(_node.id, position);
|
|
27890
|
+
if ((_b = this._config) === null || _b === void 0 ? void 0 : _b.fitToView) {
|
|
27891
|
+
setTimeout(() => {
|
|
27892
|
+
this._diagram.fitToZoom();
|
|
27893
|
+
}, 300);
|
|
27894
|
+
}
|
|
27895
|
+
if (this._isReadonlyDisabled()) {
|
|
27896
|
+
this._plugins.readonly.enable();
|
|
27897
|
+
}
|
|
27898
|
+
});
|
|
27899
|
+
}
|
|
27900
|
+
removeEndNode() {
|
|
27901
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27902
|
+
const node = this._diagram.getNodesByType(NODE_TYPE.end)[0];
|
|
27903
|
+
if (node) {
|
|
27904
|
+
yield removeNodeAndConnections(node, this._diagram.editor);
|
|
27905
|
+
}
|
|
27906
|
+
});
|
|
27907
|
+
}
|
|
27908
|
+
/**
|
|
27909
|
+
*
|
|
27910
|
+
* @param _node
|
|
27911
|
+
* @param lastNode
|
|
27912
|
+
* @returns
|
|
27913
|
+
*/
|
|
27914
|
+
_calculatePosition(_node, lastNode) {
|
|
27915
|
+
const isEndNode = _node.type === NODE_TYPE.end;
|
|
27916
|
+
return {
|
|
27917
|
+
x: this._calculatePositionX(lastNode.node.type, lastNode.viewNode.position.x),
|
|
27918
|
+
y: this._calculatePositionY(isEndNode ? NODE_TYPE.end : lastNode.node.type, lastNode.viewNode.position.y),
|
|
27919
|
+
};
|
|
27920
|
+
}
|
|
27921
|
+
_createNode(nodeType, data, config) {
|
|
27922
|
+
return this._diagram.createNode(nodeType, Object.assign(Object.assign({ label: nodeType, type: nodeType, name: data.name, description: data.description, status: data.status }, (config ? config : {})), { content: data }));
|
|
27923
|
+
}
|
|
27924
|
+
addWrapNodesPipe(editor) {
|
|
27925
|
+
editor.addPipe((context) => __awaiter(this, void 0, void 0, function* () {
|
|
27926
|
+
if (context.type === 'nodecreate') {
|
|
27927
|
+
if (context.data.type === NODE_TYPE.end) {
|
|
27928
|
+
let node = this._diagram.getLastNode();
|
|
27929
|
+
node.directions.outputs = IN_OUT_DIRECTION.end;
|
|
27930
|
+
yield this._plugins.area.update('node', node.id);
|
|
27931
|
+
}
|
|
27932
|
+
else {
|
|
27933
|
+
return this._changeNodeSocketPosition(context);
|
|
27934
|
+
}
|
|
27935
|
+
}
|
|
27936
|
+
if (context.type === 'nodecreated' && context.data.type !== NODE_TYPE.end) {
|
|
27937
|
+
setTimeout(() => {
|
|
27938
|
+
this._updateNodePosition(context);
|
|
27939
|
+
});
|
|
27940
|
+
}
|
|
27941
|
+
return context;
|
|
27942
|
+
}));
|
|
27943
|
+
}
|
|
27944
|
+
_changeNodeSocketPosition(context) {
|
|
27945
|
+
const previousNode = this._diagram.getLastViewNode();
|
|
27946
|
+
if (previousNode && this._isNearEndBoundary(previousNode)) {
|
|
27947
|
+
context.data.directions.outputs = IN_OUT_DIRECTION.bottom;
|
|
27948
|
+
}
|
|
27949
|
+
if (previousNode && this._isOverEndBoundary(context.data, previousNode)) {
|
|
27950
|
+
context.data.directions.inputs = IN_OUT_DIRECTION.top;
|
|
27951
|
+
context.data.directions.outputs = IN_OUT_DIRECTION.end;
|
|
27952
|
+
}
|
|
27953
|
+
return Object.assign({}, context);
|
|
27954
|
+
}
|
|
27955
|
+
_linkToLastNode(_addedNode) {
|
|
27956
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27957
|
+
let node = this._diagram.getLastNode();
|
|
27958
|
+
let viewNode = this._diagram.getLastViewNode();
|
|
27959
|
+
if (node && viewNode) {
|
|
27960
|
+
yield this._diagram.addConnection(node, _addedNode);
|
|
27961
|
+
return { node, viewNode };
|
|
27962
|
+
}
|
|
27963
|
+
return null;
|
|
27964
|
+
});
|
|
27965
|
+
}
|
|
27966
|
+
/**
|
|
27967
|
+
*
|
|
27968
|
+
* @returns
|
|
27969
|
+
*/
|
|
27970
|
+
_isReadonlyDisabled() {
|
|
27971
|
+
return this._config.readonly && !this._plugins.readonly.enabled;
|
|
27972
|
+
}
|
|
27973
|
+
/**
|
|
27974
|
+
*
|
|
27975
|
+
* @returns
|
|
27976
|
+
*/
|
|
27977
|
+
_isReadonlyEnabled() {
|
|
27978
|
+
return this._config.readonly && this._plugins.readonly.enabled;
|
|
27979
|
+
}
|
|
27980
|
+
/**
|
|
27981
|
+
*
|
|
27982
|
+
* @param position
|
|
27983
|
+
*/
|
|
27984
|
+
addStartNode(position) {
|
|
27985
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27986
|
+
const startNode = this._diagram.createNode(NODE_TYPE.start, {
|
|
27987
|
+
type: NODE_TYPE.start,
|
|
27988
|
+
label: NODE_TYPE.start,
|
|
27989
|
+
name: 'start',
|
|
27990
|
+
});
|
|
27991
|
+
yield this._diagram.addNode(startNode);
|
|
27992
|
+
yield this._plugins.area.translate(startNode.id, position);
|
|
27993
|
+
});
|
|
27994
|
+
}
|
|
27995
|
+
/**
|
|
27996
|
+
*
|
|
27997
|
+
* @param nodeType
|
|
27998
|
+
* @param y
|
|
27999
|
+
* @returns
|
|
28000
|
+
*/
|
|
28001
|
+
_calculatePositionY(nodeType, y) {
|
|
28002
|
+
if (nodeType === NODE_TYPE.start) {
|
|
28003
|
+
return Math.abs(Math.floor(y - (this._defaultNodeHeight - this._defaultNodeCircleSize) / 2));
|
|
28004
|
+
}
|
|
28005
|
+
if (nodeType === NODE_TYPE.end) {
|
|
28006
|
+
return Math.abs(Math.floor(y + (this._defaultNodeHeight - this._defaultNodeCircleSize) / 2));
|
|
28007
|
+
}
|
|
28008
|
+
return y;
|
|
28009
|
+
}
|
|
28010
|
+
/**
|
|
28011
|
+
*
|
|
28012
|
+
* @param nodeType
|
|
28013
|
+
* @param lastNodePositionX
|
|
28014
|
+
* @returns
|
|
28015
|
+
*/
|
|
28016
|
+
_calculatePositionX(nodeType, lastNodePositionX) {
|
|
28017
|
+
const _nodeWidth = nodeType === NODE_TYPE.content
|
|
28018
|
+
? this._defaultNodeWidth
|
|
28019
|
+
: this._defaultNodeCircleSize;
|
|
28020
|
+
return lastNodePositionX + this._defaultNodeMargin + _nodeWidth;
|
|
28021
|
+
}
|
|
28022
|
+
/**
|
|
28023
|
+
*
|
|
28024
|
+
* @param node
|
|
28025
|
+
* @param previousNode
|
|
28026
|
+
* @returns
|
|
28027
|
+
*/
|
|
28028
|
+
_isOverEndBoundary(node, previousNode) {
|
|
28029
|
+
var _a;
|
|
28030
|
+
const _diagramWidth = Number((_a = this._diagramClientRect) === null || _a === void 0 ? void 0 : _a.width) - this._defaultNodeMargin;
|
|
28031
|
+
const _width = previousNode.position.x + (node.width + this._defaultNodeMargin) * 2;
|
|
28032
|
+
return _width >= _diagramWidth;
|
|
28033
|
+
}
|
|
28034
|
+
/**
|
|
28035
|
+
*
|
|
28036
|
+
* @param previousNode
|
|
28037
|
+
* @returns
|
|
28038
|
+
*/
|
|
28039
|
+
_isNearEndBoundary(previousNode) {
|
|
28040
|
+
var _a;
|
|
28041
|
+
const currentPosition = previousNode.position.x +
|
|
28042
|
+
this._defaultNodeWidth +
|
|
28043
|
+
this._defaultNodeMargin * 2 +
|
|
28044
|
+
this._offset;
|
|
28045
|
+
const wrapLine = Number((_a = this._diagramClientRect) === null || _a === void 0 ? void 0 : _a.width) - this._defaultNodeWidth * 2;
|
|
28046
|
+
return currentPosition >= wrapLine;
|
|
28047
|
+
}
|
|
28048
|
+
_updateNodePosition(context) {
|
|
28049
|
+
var _a, _b;
|
|
28050
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28051
|
+
const _previousNode = this._diagram.getLastNode();
|
|
28052
|
+
const _nodeViewPosition = (_a = this._plugins.area.nodeViews.get(context.data.id)) === null || _a === void 0 ? void 0 : _a.position;
|
|
28053
|
+
if (_previousNode && _nodeViewPosition) {
|
|
28054
|
+
const _diagramWidth = Number((_b = this._diagramClientRect) === null || _b === void 0 ? void 0 : _b.width);
|
|
28055
|
+
const _currentX = _nodeViewPosition.x + context.data.width;
|
|
28056
|
+
if (_currentX >= _diagramWidth) {
|
|
28057
|
+
this._plugins.readonly.disable();
|
|
28058
|
+
const _fNode = this._diagram.editor
|
|
28059
|
+
.getNodes()
|
|
28060
|
+
.find((nd) => nd.type !== NODE_TYPE.start);
|
|
28061
|
+
let x = this._offset;
|
|
28062
|
+
if (_fNode) {
|
|
28063
|
+
const _fViewNode = this._plugins.area.nodeViews.get(_fNode.id);
|
|
28064
|
+
x = (_fViewNode === null || _fViewNode === void 0 ? void 0 : _fViewNode.position.x) || this._offset;
|
|
28065
|
+
}
|
|
28066
|
+
yield this._plugins.area.translate(context.data.id, {
|
|
28067
|
+
x: x,
|
|
28068
|
+
y: _nodeViewPosition.y + this._defaultNodeMargin + context.data.height,
|
|
28069
|
+
});
|
|
28070
|
+
this._plugins.readonly.enable();
|
|
28071
|
+
}
|
|
28072
|
+
}
|
|
28073
|
+
return context;
|
|
28074
|
+
});
|
|
28075
|
+
}
|
|
28076
|
+
}
|
|
28077
|
+
WorkflowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: WorkflowService, deps: [{ token: DiagramService }, { token: DiagramPluginsService }, { token: MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28078
|
+
WorkflowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: WorkflowService });
|
|
28079
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: WorkflowService, decorators: [{
|
|
28080
|
+
type: Injectable
|
|
28081
|
+
}], ctorParameters: function () { return [{ type: DiagramService }, { type: DiagramPluginsService }, { type: MessageService }]; } });
|
|
28082
|
+
|
|
28083
|
+
class BaseNodeComponent extends NodeComponent {
|
|
28084
|
+
constructor(cdr, _messageService) {
|
|
28085
|
+
super(cdr);
|
|
28086
|
+
this._messageService = _messageService;
|
|
28087
|
+
this.nodeTypes = NODE_TYPE;
|
|
28088
|
+
this.directions = IN_OUT_DIRECTION;
|
|
28089
|
+
this.destroy$ = new Subject();
|
|
28090
|
+
this._cdr = cdr;
|
|
28091
|
+
this._messageService
|
|
28092
|
+
.onMessage(MESSAGE_TYPE.configUpdated)
|
|
28093
|
+
.pipe(takeUntil(this.destroy$))
|
|
28094
|
+
.subscribe((res) => {
|
|
28095
|
+
this._cdr.detectChanges();
|
|
28096
|
+
});
|
|
28097
|
+
}
|
|
28098
|
+
removeNode() {
|
|
28099
|
+
this.data.notify(NOTIFY_EVENT.remove, { nodeId: this.data.id });
|
|
28100
|
+
}
|
|
28101
|
+
ngOnDestroy() {
|
|
28102
|
+
this.destroy$.next();
|
|
28103
|
+
this.destroy$.complete();
|
|
28104
|
+
}
|
|
28105
|
+
}
|
|
28106
|
+
BaseNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseNodeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: MessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
28107
|
+
BaseNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BaseNodeComponent, selector: "ng-component", inputs: { data: "data" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
28108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseNodeComponent, decorators: [{
|
|
28109
|
+
type: Component,
|
|
28110
|
+
args: [{
|
|
28111
|
+
template: '',
|
|
28112
|
+
}]
|
|
28113
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: MessageService }]; }, propDecorators: { data: [{
|
|
28114
|
+
type: Input
|
|
28115
|
+
}] } });
|
|
28116
|
+
|
|
28117
|
+
class RemoveButtonComponent {
|
|
28118
|
+
constructor() {
|
|
28119
|
+
this.remove = new EventEmitter();
|
|
28120
|
+
}
|
|
28121
|
+
}
|
|
28122
|
+
RemoveButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RemoveButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28123
|
+
RemoveButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RemoveButtonComponent, selector: "node-remove-button", outputs: { remove: "remove" }, ngImport: i0, template: `
|
|
28124
|
+
<button
|
|
28125
|
+
mat-icon-button
|
|
28126
|
+
(click)="remove.emit()"
|
|
28127
|
+
(pointerdown)="$event.stopPropagation()"
|
|
28128
|
+
(dblclick)="$event.stopPropagation()"
|
|
28129
|
+
class="remove-icon"
|
|
28130
|
+
>
|
|
28131
|
+
<mat-icon>close</mat-icon>
|
|
28132
|
+
</button>
|
|
28133
|
+
`, isInline: true, styles: ["\n :host {\n --size: var(--remove-icon-size, 30px);\n position: var(--remove-icon-position, absolute);\n inset: var(--remove-icon-inset, 0 0 auto auto);\n opacity: var(--remove-icon-opacity, 0);\n background: var(--remove-icon-background, inherit);\n width: var(--size);\n height: var(--size);\n line-height: var(var(--remove-icon-size), calc(var(--size) - 6));\n border-radius: 50%;\n z-index: 2;\n .remove-icon {\n border: 1px solid currentColor;\n border-radius: 50%;\n width: var(--size);\n height: var(--size);\n line-height: var(--remove-icon-size, 30px);\n background: var(--remove-icon-background, inherit);\n }\n }\n "], components: [{ type: i1$8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
28134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RemoveButtonComponent, decorators: [{
|
|
28135
|
+
type: Component,
|
|
28136
|
+
args: [{
|
|
28137
|
+
selector: 'node-remove-button',
|
|
28138
|
+
template: `
|
|
28139
|
+
<button
|
|
28140
|
+
mat-icon-button
|
|
28141
|
+
(click)="remove.emit()"
|
|
28142
|
+
(pointerdown)="$event.stopPropagation()"
|
|
28143
|
+
(dblclick)="$event.stopPropagation()"
|
|
28144
|
+
class="remove-icon"
|
|
28145
|
+
>
|
|
28146
|
+
<mat-icon>close</mat-icon>
|
|
28147
|
+
</button>
|
|
28148
|
+
`,
|
|
28149
|
+
styles: [
|
|
28150
|
+
`
|
|
28151
|
+
:host {
|
|
28152
|
+
--size: var(--remove-icon-size, 30px);
|
|
28153
|
+
position: var(--remove-icon-position, absolute);
|
|
28154
|
+
inset: var(--remove-icon-inset, 0 0 auto auto);
|
|
28155
|
+
opacity: var(--remove-icon-opacity, 0);
|
|
28156
|
+
background: var(--remove-icon-background, inherit);
|
|
28157
|
+
width: var(--size);
|
|
28158
|
+
height: var(--size);
|
|
28159
|
+
line-height: var(var(--remove-icon-size), calc(var(--size) - 6));
|
|
28160
|
+
border-radius: 50%;
|
|
28161
|
+
z-index: 2;
|
|
28162
|
+
.remove-icon {
|
|
28163
|
+
border: 1px solid currentColor;
|
|
28164
|
+
border-radius: 50%;
|
|
28165
|
+
width: var(--size);
|
|
28166
|
+
height: var(--size);
|
|
28167
|
+
line-height: var(--remove-icon-size, 30px);
|
|
28168
|
+
background: var(--remove-icon-background, inherit);
|
|
28169
|
+
}
|
|
28170
|
+
}
|
|
28171
|
+
`,
|
|
28172
|
+
],
|
|
28173
|
+
}]
|
|
28174
|
+
}], propDecorators: { remove: [{
|
|
28175
|
+
type: Output
|
|
28176
|
+
}] } });
|
|
28177
|
+
|
|
28178
|
+
class NodeInputsComponent {
|
|
28179
|
+
}
|
|
28180
|
+
NodeInputsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NodeInputsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28181
|
+
NodeInputsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NodeInputsComponent, selector: "node-inputs", inputs: { direction: "direction", data: "data", seed: "seed", emit: "emit", sortByIndex: "sortByIndex" }, host: { properties: { "class": " 'da-node__inputs inputs-' + direction" } }, ngImport: i0, template: `
|
|
28182
|
+
<div
|
|
28183
|
+
*ngFor="let input of data.inputs | keyvalue : sortByIndex"
|
|
28184
|
+
class="da-node__inputs__socket"
|
|
28185
|
+
style=" height: var(--socket-size, 16px);"
|
|
28186
|
+
refComponent
|
|
28187
|
+
[data]="{
|
|
28188
|
+
type: 'socket',
|
|
28189
|
+
side: 'input',
|
|
28190
|
+
key: input.key,
|
|
28191
|
+
nodeId: data.id,
|
|
28192
|
+
payload: input.value?.socket,
|
|
28193
|
+
seed: seed
|
|
28194
|
+
}"
|
|
28195
|
+
[emit]="emit"
|
|
28196
|
+
></div>
|
|
28197
|
+
`, isInline: true, directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$8.RefDirective, selector: "[refComponent]", inputs: ["data", "emit"] }], pipes: { "keyvalue": i4.KeyValuePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
28198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NodeInputsComponent, decorators: [{
|
|
28199
|
+
type: Component,
|
|
28200
|
+
args: [{
|
|
28201
|
+
selector: 'node-inputs',
|
|
28202
|
+
encapsulation: ViewEncapsulation.None,
|
|
28203
|
+
host: {
|
|
28204
|
+
'[class]': " 'da-node__inputs inputs-' + direction",
|
|
28205
|
+
},
|
|
28206
|
+
template: `
|
|
28207
|
+
<div
|
|
28208
|
+
*ngFor="let input of data.inputs | keyvalue : sortByIndex"
|
|
28209
|
+
class="da-node__inputs__socket"
|
|
28210
|
+
style=" height: var(--socket-size, 16px);"
|
|
28211
|
+
refComponent
|
|
28212
|
+
[data]="{
|
|
28213
|
+
type: 'socket',
|
|
28214
|
+
side: 'input',
|
|
28215
|
+
key: input.key,
|
|
28216
|
+
nodeId: data.id,
|
|
28217
|
+
payload: input.value?.socket,
|
|
28218
|
+
seed: seed
|
|
28219
|
+
}"
|
|
28220
|
+
[emit]="emit"
|
|
28221
|
+
></div>
|
|
28222
|
+
`,
|
|
28223
|
+
}]
|
|
28224
|
+
}], propDecorators: { direction: [{
|
|
28225
|
+
type: Input
|
|
28226
|
+
}], data: [{
|
|
28227
|
+
type: Input
|
|
28228
|
+
}], seed: [{
|
|
28229
|
+
type: Input
|
|
28230
|
+
}], emit: [{
|
|
28231
|
+
type: Input
|
|
28232
|
+
}], sortByIndex: [{
|
|
28233
|
+
type: Input
|
|
28234
|
+
}] } });
|
|
28235
|
+
|
|
28236
|
+
class NodeOutputsComponent {
|
|
28237
|
+
}
|
|
28238
|
+
NodeOutputsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NodeOutputsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28239
|
+
NodeOutputsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NodeOutputsComponent, selector: "node-outputs", inputs: { direction: "direction", data: "data", seed: "seed", emit: "emit", sortByIndex: "sortByIndex" }, host: { properties: { "class": " 'da-node__outputs outputs-' + direction" } }, ngImport: i0, template: `<div
|
|
28240
|
+
class="da-node__outputs__socket"
|
|
28241
|
+
style=" height: var(--socket-size, 16px);"
|
|
28242
|
+
*ngFor="let output of data.outputs | keyvalue : sortByIndex"
|
|
28243
|
+
refComponent
|
|
28244
|
+
[data]="{
|
|
28245
|
+
type: 'socket',
|
|
28246
|
+
side: 'output',
|
|
28247
|
+
key: output.key,
|
|
28248
|
+
nodeId: data.id,
|
|
28249
|
+
payload: output.value?.socket,
|
|
28250
|
+
seed: seed
|
|
28251
|
+
}"
|
|
28252
|
+
[emit]="emit"
|
|
28253
|
+
></div>`, isInline: true, directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$8.RefDirective, selector: "[refComponent]", inputs: ["data", "emit"] }], pipes: { "keyvalue": i4.KeyValuePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
28254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NodeOutputsComponent, decorators: [{
|
|
28255
|
+
type: Component,
|
|
28256
|
+
args: [{
|
|
28257
|
+
selector: 'node-outputs',
|
|
28258
|
+
encapsulation: ViewEncapsulation.None,
|
|
28259
|
+
host: {
|
|
28260
|
+
'[class]': " 'da-node__outputs outputs-' + direction",
|
|
28261
|
+
},
|
|
28262
|
+
template: `<div
|
|
28263
|
+
class="da-node__outputs__socket"
|
|
28264
|
+
style=" height: var(--socket-size, 16px);"
|
|
28265
|
+
*ngFor="let output of data.outputs | keyvalue : sortByIndex"
|
|
28266
|
+
refComponent
|
|
28267
|
+
[data]="{
|
|
28268
|
+
type: 'socket',
|
|
28269
|
+
side: 'output',
|
|
28270
|
+
key: output.key,
|
|
28271
|
+
nodeId: data.id,
|
|
28272
|
+
payload: output.value?.socket,
|
|
28273
|
+
seed: seed
|
|
28274
|
+
}"
|
|
28275
|
+
[emit]="emit"
|
|
28276
|
+
></div>`,
|
|
28277
|
+
}]
|
|
28278
|
+
}], propDecorators: { direction: [{
|
|
28279
|
+
type: Input
|
|
28280
|
+
}], data: [{
|
|
28281
|
+
type: Input
|
|
28282
|
+
}], seed: [{
|
|
28283
|
+
type: Input
|
|
28284
|
+
}], emit: [{
|
|
28285
|
+
type: Input
|
|
28286
|
+
}], sortByIndex: [{
|
|
28287
|
+
type: Input
|
|
28288
|
+
}] } });
|
|
28289
|
+
|
|
28290
|
+
class CircleNodeComponent extends BaseNodeComponent {
|
|
28291
|
+
}
|
|
28292
|
+
CircleNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CircleNodeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
28293
|
+
CircleNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CircleNodeComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"da-node da-node--{{ data.type }} circle-node circle-node--{{ data.type }} {{\r\n data?.status ? ' da-node--' + data?.status : ''\r\n }} \"\r\n [style.--node-width]=\"data.width + 'px'\"\r\n [style.--node-height]=\"data.width + 'px'\"\r\n>\r\n <node-remove-button\r\n (remove)=\"removeNode()\"\r\n *ngIf=\"data.config?.canRemove\"\r\n ></node-remove-button>\r\n\r\n <div\r\n class=\"da-node__title circle-node__title\"\r\n [attr.tooltip]=\"data.content?.data?.tooltip\"\r\n [class.node-tooltip]=\"!!data.content?.data?.tooltip\"\r\n >\r\n {{ 'diagram.' + data.name | translate }}\r\n </div>\r\n\r\n <node-inputs\r\n [direction]=\"data.directions.inputs\"\r\n [data]=\"data\"\r\n [seed]=\"seed\"\r\n [emit]=\"emit\"\r\n [sortByIndex]=\"sortByIndex\"\r\n ></node-inputs>\r\n\r\n <node-outputs\r\n [direction]=\"data.directions.outputs\"\r\n [data]=\"data\"\r\n [seed]=\"seed\"\r\n [emit]=\"emit\"\r\n [sortByIndex]=\"sortByIndex\"\r\n ></node-outputs>\r\n</div>\r\n", styles: [".da-node{--width: var(--node-width);--height: var(--node-height);--socket-offset-negative: 0;--socket-position-start: var(--socket-offset-negative) auto;--socket-position-end: auto var(--socket-offset-negative);width:var(--width);height:var(--height);display:var(--node-display, flex);justify-content:var(--node-justify, center);align-items:var(--node-items, center);flex-direction:var(--node-direction, column);border:var(--node-border, 1px solid #234990);border-radius:var(--node-radius, 10px);color:var(--node-color, #234990);background:var(--node-background, #fff);box-shadow:var(--node-shadow, unset);cursor:var(--node-cursor, pointer)}.da-node--draft{--node-color: var(--status-draft-color, #555);--node-background: var( --status-draft-background, #f5f5f5 );--node-border: var(--status-draft-border, 1px solid #555);--node-shadow: var(--status-draft-shadow, unset)}.da-node--upcoming{--node-color: var(--status-upcoming-color, var(--Primary-100, #234990));--node-background: var( --status-upcoming-background, #fff );--node-border: var(--status-upcoming-border, 1px solid var(--node-color, #234990));--node-shadow: var(--status-upcoming-shadow, unset)}.da-node--inProgress{--node-color: var(--status-progress-color, var(--orange-color, #f29339));--node-background: var( --status-progress-background, var(--light-orange-color, #fdf4dc) );--node-border: var(--status-progress-border, 1px solid var(--orange-color, #f29339));--node-shadow: var(--status-progress-shadow, var(--node-shadow, inset 0 0 0 2px var(--node-background), inset 0 0 0 3px var(--orange-color, #f29339)))}.da-node--completed{--node-color: var(--status-completed-color, var(--green-color, #05cd99));--node-background: var( --status-completed-background, var(--light-green-color, #f0fff0) );--node-border: var(--status-completed-border, 1px solid var(--green-color, #05cd99));--node-shadow: var(--status-completed-shadow, unset)}.da-node--approved{--node-color: var(--status-completed-color, var(--green-color, #05cd99));--node-background: var( --status-completed-background, var(--light-green-color, #f0fff0) );--node-border: var(--status-completed-border, 1px solid var(--green-color, #05cd99));--node-shadow: var(--status-completed-shadow, unset)}.da-node--rejected{--node-color: var(--status-rejected-color, var(--red-color, #bf0b30));--node-background: var( --status-rejected-background, var(--light-red-color, #ffe0e7) );--node-border: var(--status-rejected-border, 1px solid var(--red-color, #bf0b30));--node-shadow: var(--status-rejected-shadow, unset)}.da-node__check-status{position:absolute;position:var(--check-icon-position, absolute);inset:var(--check-icon-inset, -6px -6px auto auto);color:var(--check-icon-color)}.da-node__check-status--completed{--check-icon-color: var(--status-completed-color)}.da-node__check-status--rejected{--check-icon-color: var(--status-rejected-color)}.da-node__title{text-align:center;font-weight:600}.da-node__description,.da-node__title{color:var(--node-text-color, #28282d);font-size:var(--node-text-font-size, .8rem);text-align:var(--node-text-align, center);padding-inline:var(--node-text-inline, .4rem)}.da-node__icon{position:absolute;inset-inline-start:var(--node-icon-inset-inline, 5px);inset-block-start:var(--node-icon-inset-block, 5px)}.da-node__inputs,.da-node__outputs{position:var(--input-output-position, absolute);inset-inline:var(--in-out-inset-inline);inset-block:var(--in-out-inset-block);height:var(--socket-size, 16px)}.da-node__inputs__socket,.da-node__outputs__socket{height:var(--socket-size, 16px)}.da-node__inputs.inputs-top{--in-out-inset-block: var(--socket-position-start)}.da-node__inputs.inputs-bottom{--in-out-inset-block: var(--socket-position-end)}.da-node__inputs.inputs-start{--in-out-inset-inline: var(--socket-position-start)}.da-node__inputs.inputs-end{--in-out-inset-inline: var(--socket-position-end)}.da-node__outputs.outputs-top{--in-out-inset-block: var(--socket-offset-negative)}.da-node__outputs.outputs-bottom{--in-out-inset-block: var(--socket-position-end)}.da-node__outputs.outputs-start{--in-out-inset-inline: var(--socket-position-start)}.da-node__outputs.outputs-end{--in-out-inset-inline: var(--socket-position-end)}.da-node:hover{--remove-icon-inset: -8px -8px auto auto;--remove-icon-opacity: 1}\n", ".circle-node{--node-radius: 50%}.circle-node__title.node-tooltip:after{content:attr(tooltip);position:absolute;left:50%;top:-6px;transform:translate(-50%) translateY(-100%);background:rgba(0,0,0,.7);text-align:center;color:#fff;padding:4px 2px;font-size:12px;min-width:100px;border-radius:5px;pointer-events:none;display:var(--tooltip-display, none)}.circle-node:hover{--tooltip-display: block}.da-node--end{border-width:3px}\n"], components: [{ type: RemoveButtonComponent, selector: "node-remove-button", outputs: ["remove"] }, { type: NodeInputsComponent, selector: "node-inputs", inputs: ["direction", "data", "seed", "emit", "sortByIndex"] }, { type: NodeOutputsComponent, selector: "node-outputs", inputs: ["direction", "data", "seed", "emit", "sortByIndex"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1$1.TranslatePipe } });
|
|
28294
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CircleNodeComponent, decorators: [{
|
|
28295
|
+
type: Component,
|
|
28296
|
+
args: [{
|
|
28297
|
+
templateUrl: './circle-node.component.html',
|
|
28298
|
+
styleUrls: ['../../styles/node.scss', './circle-node.component.scss'],
|
|
28299
|
+
}]
|
|
28300
|
+
}] });
|
|
28301
|
+
|
|
28302
|
+
class StatusIconComponent {
|
|
28303
|
+
getIcon() {
|
|
28304
|
+
switch (this.status) {
|
|
28305
|
+
case NODE_STATUS.completed:
|
|
28306
|
+
return 'check_circle';
|
|
28307
|
+
case NODE_STATUS.rejected:
|
|
28308
|
+
return 'cancel';
|
|
28309
|
+
default:
|
|
28310
|
+
return '';
|
|
28311
|
+
}
|
|
28312
|
+
}
|
|
28313
|
+
}
|
|
28314
|
+
StatusIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StatusIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28315
|
+
StatusIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StatusIconComponent, selector: "status-icon", inputs: { status: "status" }, host: { properties: { "class": "'da-node__check-status da-node__check-status--' + status" } }, ngImport: i0, template: ` <mat-icon>
|
|
28316
|
+
{{ getIcon() }}
|
|
28317
|
+
</mat-icon>`, isInline: true, components: [{ type: i2$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
28318
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StatusIconComponent, decorators: [{
|
|
28319
|
+
type: Component,
|
|
28320
|
+
args: [{
|
|
28321
|
+
selector: 'status-icon',
|
|
28322
|
+
template: ` <mat-icon>
|
|
28323
|
+
{{ getIcon() }}
|
|
28324
|
+
</mat-icon>`,
|
|
28325
|
+
encapsulation: ViewEncapsulation.None,
|
|
28326
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
28327
|
+
host: {
|
|
28328
|
+
'[class]': "'da-node__check-status da-node__check-status--' + status",
|
|
28329
|
+
},
|
|
28330
|
+
}]
|
|
28331
|
+
}], propDecorators: { status: [{
|
|
28332
|
+
type: Input
|
|
28333
|
+
}] } });
|
|
28334
|
+
|
|
28335
|
+
class NodeIconComponent {
|
|
28336
|
+
isIconTemplate(icon) {
|
|
28337
|
+
return icon instanceof TemplateRef;
|
|
28338
|
+
}
|
|
28339
|
+
}
|
|
28340
|
+
NodeIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NodeIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28341
|
+
NodeIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NodeIconComponent, selector: "node-icon", inputs: { icon: "icon" }, host: { classAttribute: "da-node__icon" }, ngImport: i0, template: `
|
|
28342
|
+
<mat-icon *ngIf="!isIconTemplate(icon)">{{ icon }}</mat-icon>
|
|
28343
|
+
<span *ngIf="isIconTemplate(icon)">
|
|
28344
|
+
<ng-container [ngTemplateOutlet]="icon"></ng-container>
|
|
28345
|
+
</span>
|
|
28346
|
+
`, isInline: true, components: [{ type: i2$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
28347
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NodeIconComponent, decorators: [{
|
|
28348
|
+
type: Component,
|
|
28349
|
+
args: [{
|
|
28350
|
+
selector: 'node-icon',
|
|
28351
|
+
template: `
|
|
28352
|
+
<mat-icon *ngIf="!isIconTemplate(icon)">{{ icon }}</mat-icon>
|
|
28353
|
+
<span *ngIf="isIconTemplate(icon)">
|
|
28354
|
+
<ng-container [ngTemplateOutlet]="icon"></ng-container>
|
|
28355
|
+
</span>
|
|
28356
|
+
`,
|
|
28357
|
+
encapsulation: ViewEncapsulation.None,
|
|
28358
|
+
host: {
|
|
28359
|
+
class: 'da-node__icon',
|
|
28360
|
+
},
|
|
28361
|
+
}]
|
|
28362
|
+
}], propDecorators: { icon: [{
|
|
28363
|
+
type: Input
|
|
28364
|
+
}] } });
|
|
28365
|
+
|
|
28366
|
+
class ContentNodeComponent extends BaseNodeComponent {
|
|
28367
|
+
}
|
|
28368
|
+
ContentNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ContentNodeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
28369
|
+
ContentNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ContentNodeComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"da-node da-node--{{ data.type }} {{\r\n data?.status ? ' da-node--' + data?.status : ''\r\n }} {{ data?.styleClass }}\"\r\n [style.--node-width]=\"data.width + 'px'\"\r\n [style.--node-height]=\"data.height + 'px'\"\r\n>\r\n <node-remove-button (remove)=\"removeNode()\" *ngIf=\"data?.config?.canRemove\">\r\n </node-remove-button>\r\n\r\n <status-icon [status]=\"data?.status\" *ngIf=\"data?.status\"></status-icon>\r\n\r\n <node-icon *ngIf=\"data.content?.icon\" [icon]=\"data.content?.icon\"></node-icon>\r\n\r\n <div class=\"da-node__title\">{{ data.name }}</div>\r\n <div class=\"da-node__description\" *ngIf=\"data.description\">\r\n {{ data.description }}\r\n </div>\r\n <node-inputs\r\n [direction]=\"data.directions.inputs\"\r\n [data]=\"data\"\r\n [seed]=\"seed\"\r\n [emit]=\"emit\"\r\n [sortByIndex]=\"sortByIndex\"\r\n ></node-inputs>\r\n\r\n <node-outputs\r\n [direction]=\"data.directions.outputs\"\r\n [data]=\"data\"\r\n [seed]=\"seed\"\r\n [emit]=\"emit\"\r\n [sortByIndex]=\"sortByIndex\"\r\n ></node-outputs>\r\n</div>\r\n", styles: [".da-node{--width: var(--node-width);--height: var(--node-height);--socket-offset-negative: 0;--socket-position-start: var(--socket-offset-negative) auto;--socket-position-end: auto var(--socket-offset-negative);width:var(--width);height:var(--height);display:var(--node-display, flex);justify-content:var(--node-justify, center);align-items:var(--node-items, center);flex-direction:var(--node-direction, column);border:var(--node-border, 1px solid #234990);border-radius:var(--node-radius, 10px);color:var(--node-color, #234990);background:var(--node-background, #fff);box-shadow:var(--node-shadow, unset);cursor:var(--node-cursor, pointer)}.da-node--draft{--node-color: var(--status-draft-color, #555);--node-background: var( --status-draft-background, #f5f5f5 );--node-border: var(--status-draft-border, 1px solid #555);--node-shadow: var(--status-draft-shadow, unset)}.da-node--upcoming{--node-color: var(--status-upcoming-color, var(--Primary-100, #234990));--node-background: var( --status-upcoming-background, #fff );--node-border: var(--status-upcoming-border, 1px solid var(--node-color, #234990));--node-shadow: var(--status-upcoming-shadow, unset)}.da-node--inProgress{--node-color: var(--status-progress-color, var(--orange-color, #f29339));--node-background: var( --status-progress-background, var(--light-orange-color, #fdf4dc) );--node-border: var(--status-progress-border, 1px solid var(--orange-color, #f29339));--node-shadow: var(--status-progress-shadow, var(--node-shadow, inset 0 0 0 2px var(--node-background), inset 0 0 0 3px var(--orange-color, #f29339)))}.da-node--completed{--node-color: var(--status-completed-color, var(--green-color, #05cd99));--node-background: var( --status-completed-background, var(--light-green-color, #f0fff0) );--node-border: var(--status-completed-border, 1px solid var(--green-color, #05cd99));--node-shadow: var(--status-completed-shadow, unset)}.da-node--approved{--node-color: var(--status-completed-color, var(--green-color, #05cd99));--node-background: var( --status-completed-background, var(--light-green-color, #f0fff0) );--node-border: var(--status-completed-border, 1px solid var(--green-color, #05cd99));--node-shadow: var(--status-completed-shadow, unset)}.da-node--rejected{--node-color: var(--status-rejected-color, var(--red-color, #bf0b30));--node-background: var( --status-rejected-background, var(--light-red-color, #ffe0e7) );--node-border: var(--status-rejected-border, 1px solid var(--red-color, #bf0b30));--node-shadow: var(--status-rejected-shadow, unset)}.da-node__check-status{position:absolute;position:var(--check-icon-position, absolute);inset:var(--check-icon-inset, -6px -6px auto auto);color:var(--check-icon-color)}.da-node__check-status--completed{--check-icon-color: var(--status-completed-color)}.da-node__check-status--rejected{--check-icon-color: var(--status-rejected-color)}.da-node__title{text-align:center;font-weight:600}.da-node__description,.da-node__title{color:var(--node-text-color, #28282d);font-size:var(--node-text-font-size, .8rem);text-align:var(--node-text-align, center);padding-inline:var(--node-text-inline, .4rem)}.da-node__icon{position:absolute;inset-inline-start:var(--node-icon-inset-inline, 5px);inset-block-start:var(--node-icon-inset-block, 5px)}.da-node__inputs,.da-node__outputs{position:var(--input-output-position, absolute);inset-inline:var(--in-out-inset-inline);inset-block:var(--in-out-inset-block);height:var(--socket-size, 16px)}.da-node__inputs__socket,.da-node__outputs__socket{height:var(--socket-size, 16px)}.da-node__inputs.inputs-top{--in-out-inset-block: var(--socket-position-start)}.da-node__inputs.inputs-bottom{--in-out-inset-block: var(--socket-position-end)}.da-node__inputs.inputs-start{--in-out-inset-inline: var(--socket-position-start)}.da-node__inputs.inputs-end{--in-out-inset-inline: var(--socket-position-end)}.da-node__outputs.outputs-top{--in-out-inset-block: var(--socket-offset-negative)}.da-node__outputs.outputs-bottom{--in-out-inset-block: var(--socket-position-end)}.da-node__outputs.outputs-start{--in-out-inset-inline: var(--socket-position-start)}.da-node__outputs.outputs-end{--in-out-inset-inline: var(--socket-position-end)}.da-node:hover{--remove-icon-inset: -8px -8px auto auto;--remove-icon-opacity: 1}\n"], components: [{ type: RemoveButtonComponent, selector: "node-remove-button", outputs: ["remove"] }, { type: StatusIconComponent, selector: "status-icon", inputs: ["status"] }, { type: NodeIconComponent, selector: "node-icon", inputs: ["icon"] }, { type: NodeInputsComponent, selector: "node-inputs", inputs: ["direction", "data", "seed", "emit", "sortByIndex"] }, { type: NodeOutputsComponent, selector: "node-outputs", inputs: ["direction", "data", "seed", "emit", "sortByIndex"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
28370
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ContentNodeComponent, decorators: [{
|
|
28371
|
+
type: Component,
|
|
28372
|
+
args: [{
|
|
28373
|
+
templateUrl: './content-node.component.html',
|
|
28374
|
+
styleUrls: ['../../styles/node.scss'],
|
|
28375
|
+
}]
|
|
28376
|
+
}] });
|
|
28377
|
+
|
|
28378
|
+
class CustomConnectionComponent extends ConnectionComponent {
|
|
28379
|
+
}
|
|
28380
|
+
CustomConnectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomConnectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
28381
|
+
CustomConnectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomConnectionComponent, selector: "connection", inputs: { data: "data" }, usesInheritance: true, ngImport: i0, template: `
|
|
28382
|
+
<svg
|
|
28383
|
+
data-testid="connection"
|
|
28384
|
+
style="z-index:-1"
|
|
28385
|
+
class="{{ data?.status ? 'connection-status-' + data?.status : '' }}"
|
|
28386
|
+
>
|
|
28387
|
+
<path [attr.d]="path" />
|
|
28388
|
+
</svg>
|
|
28389
|
+
`, isInline: true, styles: ["\n svg {\n overflow: visible;\n position: absolute;\n pointer-events: none;\n path {\n fill: none;\n stroke-width: 2px;\n stroke: var(--path-color, #1b3e7f);\n pointer-events: auto;\n }\n }\n "] });
|
|
28390
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomConnectionComponent, decorators: [{
|
|
28391
|
+
type: Component,
|
|
28392
|
+
args: [{
|
|
28393
|
+
selector: 'connection',
|
|
28394
|
+
styles: [
|
|
28395
|
+
`
|
|
28396
|
+
svg {
|
|
28397
|
+
overflow: visible;
|
|
28398
|
+
position: absolute;
|
|
28399
|
+
pointer-events: none;
|
|
28400
|
+
path {
|
|
28401
|
+
fill: none;
|
|
28402
|
+
stroke-width: 2px;
|
|
28403
|
+
stroke: var(--path-color, #1b3e7f);
|
|
28404
|
+
pointer-events: auto;
|
|
28405
|
+
}
|
|
28406
|
+
}
|
|
28407
|
+
`,
|
|
28408
|
+
],
|
|
28409
|
+
template: `
|
|
28410
|
+
<svg
|
|
28411
|
+
data-testid="connection"
|
|
28412
|
+
style="z-index:-1"
|
|
28413
|
+
class="{{ data?.status ? 'connection-status-' + data?.status : '' }}"
|
|
28414
|
+
>
|
|
28415
|
+
<path [attr.d]="path" />
|
|
28416
|
+
</svg>
|
|
28417
|
+
`,
|
|
28418
|
+
}]
|
|
28419
|
+
}], propDecorators: { data: [{
|
|
28420
|
+
type: Input
|
|
28421
|
+
}] } });
|
|
28422
|
+
|
|
28423
|
+
class CustomSocketComponent extends SocketComponent {
|
|
28424
|
+
}
|
|
28425
|
+
CustomSocketComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomSocketComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
28426
|
+
CustomSocketComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomSocketComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: ["\n :host {\n display: inline-block;\n cursor: pointer;\n border: 1px solid var(--primary-color, #1b3e7f);\n width: var(--socket-size, 16px);\n height: var(--socket-size, 16px);\n vertical-align: middle;\n background: white;\n z-index: 2;\n box-sizing: border-box;\n opacity: var(--socket-opacity, 0);\n border-radius: var(--socket-radius, 50%);\n &:hover {\n box-shadow: 0 0 0 1px var(--primary-color, #1b3e7f);\n }\n }\n "] });
|
|
28427
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomSocketComponent, decorators: [{
|
|
28428
|
+
type: Component,
|
|
28429
|
+
args: [{
|
|
28430
|
+
template: ``,
|
|
28431
|
+
styles: [
|
|
28432
|
+
`
|
|
28433
|
+
:host {
|
|
28434
|
+
display: inline-block;
|
|
28435
|
+
cursor: pointer;
|
|
28436
|
+
border: 1px solid var(--primary-color, #1b3e7f);
|
|
28437
|
+
width: var(--socket-size, 16px);
|
|
28438
|
+
height: var(--socket-size, 16px);
|
|
28439
|
+
vertical-align: middle;
|
|
28440
|
+
background: white;
|
|
28441
|
+
z-index: 2;
|
|
28442
|
+
box-sizing: border-box;
|
|
28443
|
+
opacity: var(--socket-opacity, 0);
|
|
28444
|
+
border-radius: var(--socket-radius, 50%);
|
|
28445
|
+
&:hover {
|
|
28446
|
+
box-shadow: 0 0 0 1px var(--primary-color, #1b3e7f);
|
|
28447
|
+
}
|
|
28448
|
+
}
|
|
28449
|
+
`,
|
|
28450
|
+
],
|
|
28451
|
+
}]
|
|
28452
|
+
}] });
|
|
28453
|
+
|
|
28454
|
+
class TemplateNodeComponent extends BaseNodeComponent {
|
|
28455
|
+
ngOnInit() { }
|
|
28456
|
+
get templateOutletContext() {
|
|
28457
|
+
const { content, description, name, status, id } = this.data;
|
|
28458
|
+
return {
|
|
28459
|
+
$implicit: {
|
|
28460
|
+
content: content,
|
|
28461
|
+
description,
|
|
28462
|
+
name,
|
|
28463
|
+
status,
|
|
28464
|
+
id,
|
|
28465
|
+
},
|
|
28466
|
+
};
|
|
28467
|
+
}
|
|
28468
|
+
}
|
|
28469
|
+
TemplateNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TemplateNodeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
28470
|
+
TemplateNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TemplateNodeComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"da-node da-node--{{ data.type }} {{\r\n data?.status ? ' da-node--' + data?.status : ''\r\n }} {{ data?.styleClass }}\"\r\n [style.--node-width]=\"data.width + 'px'\"\r\n [style.--node-height]=\"data.height + 'px'\"\r\n>\r\n <node-remove-button (remove)=\"removeNode()\" *ngIf=\"data?.config?.canRemove\">\r\n </node-remove-button>\r\n\r\n <node-icon\r\n *ngIf=\"data.content?.icon\"\r\n [icon]=\"data.content?.icon\"\r\n class=\"da-node__icon\"\r\n ></node-icon>\r\n\r\n <ng-container\r\n [ngTemplateOutlet]=\"data?.template || defaultTemplate\"\r\n [ngTemplateOutletContext]=\"templateOutletContext\"\r\n ></ng-container>\r\n\r\n <ng-template #defaultTemplate>\r\n <div class=\"da-node__title\">{{ data?.name }}</div>\r\n </ng-template>\r\n\r\n <node-inputs\r\n [direction]=\"data.directions.inputs\"\r\n [data]=\"data\"\r\n [seed]=\"seed\"\r\n [emit]=\"emit\"\r\n [sortByIndex]=\"sortByIndex\"\r\n ></node-inputs>\r\n\r\n <node-outputs\r\n [direction]=\"data.directions.outputs\"\r\n [data]=\"data\"\r\n [seed]=\"seed\"\r\n [emit]=\"emit\"\r\n [sortByIndex]=\"sortByIndex\"\r\n ></node-outputs>\r\n</div>\r\n", styles: [".da-node{--width: var(--node-width);--height: var(--node-height);--socket-offset-negative: 0;--socket-position-start: var(--socket-offset-negative) auto;--socket-position-end: auto var(--socket-offset-negative);width:var(--width);height:var(--height);display:var(--node-display, flex);justify-content:var(--node-justify, center);align-items:var(--node-items, center);flex-direction:var(--node-direction, column);border:var(--node-border, 1px solid #234990);border-radius:var(--node-radius, 10px);color:var(--node-color, #234990);background:var(--node-background, #fff);box-shadow:var(--node-shadow, unset);cursor:var(--node-cursor, pointer)}.da-node--draft{--node-color: var(--status-draft-color, #555);--node-background: var( --status-draft-background, #f5f5f5 );--node-border: var(--status-draft-border, 1px solid #555);--node-shadow: var(--status-draft-shadow, unset)}.da-node--upcoming{--node-color: var(--status-upcoming-color, var(--Primary-100, #234990));--node-background: var( --status-upcoming-background, #fff );--node-border: var(--status-upcoming-border, 1px solid var(--node-color, #234990));--node-shadow: var(--status-upcoming-shadow, unset)}.da-node--inProgress{--node-color: var(--status-progress-color, var(--orange-color, #f29339));--node-background: var( --status-progress-background, var(--light-orange-color, #fdf4dc) );--node-border: var(--status-progress-border, 1px solid var(--orange-color, #f29339));--node-shadow: var(--status-progress-shadow, var(--node-shadow, inset 0 0 0 2px var(--node-background), inset 0 0 0 3px var(--orange-color, #f29339)))}.da-node--completed{--node-color: var(--status-completed-color, var(--green-color, #05cd99));--node-background: var( --status-completed-background, var(--light-green-color, #f0fff0) );--node-border: var(--status-completed-border, 1px solid var(--green-color, #05cd99));--node-shadow: var(--status-completed-shadow, unset)}.da-node--approved{--node-color: var(--status-completed-color, var(--green-color, #05cd99));--node-background: var( --status-completed-background, var(--light-green-color, #f0fff0) );--node-border: var(--status-completed-border, 1px solid var(--green-color, #05cd99));--node-shadow: var(--status-completed-shadow, unset)}.da-node--rejected{--node-color: var(--status-rejected-color, var(--red-color, #bf0b30));--node-background: var( --status-rejected-background, var(--light-red-color, #ffe0e7) );--node-border: var(--status-rejected-border, 1px solid var(--red-color, #bf0b30));--node-shadow: var(--status-rejected-shadow, unset)}.da-node__check-status{position:absolute;position:var(--check-icon-position, absolute);inset:var(--check-icon-inset, -6px -6px auto auto);color:var(--check-icon-color)}.da-node__check-status--completed{--check-icon-color: var(--status-completed-color)}.da-node__check-status--rejected{--check-icon-color: var(--status-rejected-color)}.da-node__title{text-align:center;font-weight:600}.da-node__description,.da-node__title{color:var(--node-text-color, #28282d);font-size:var(--node-text-font-size, .8rem);text-align:var(--node-text-align, center);padding-inline:var(--node-text-inline, .4rem)}.da-node__icon{position:absolute;inset-inline-start:var(--node-icon-inset-inline, 5px);inset-block-start:var(--node-icon-inset-block, 5px)}.da-node__inputs,.da-node__outputs{position:var(--input-output-position, absolute);inset-inline:var(--in-out-inset-inline);inset-block:var(--in-out-inset-block);height:var(--socket-size, 16px)}.da-node__inputs__socket,.da-node__outputs__socket{height:var(--socket-size, 16px)}.da-node__inputs.inputs-top{--in-out-inset-block: var(--socket-position-start)}.da-node__inputs.inputs-bottom{--in-out-inset-block: var(--socket-position-end)}.da-node__inputs.inputs-start{--in-out-inset-inline: var(--socket-position-start)}.da-node__inputs.inputs-end{--in-out-inset-inline: var(--socket-position-end)}.da-node__outputs.outputs-top{--in-out-inset-block: var(--socket-offset-negative)}.da-node__outputs.outputs-bottom{--in-out-inset-block: var(--socket-position-end)}.da-node__outputs.outputs-start{--in-out-inset-inline: var(--socket-position-start)}.da-node__outputs.outputs-end{--in-out-inset-inline: var(--socket-position-end)}.da-node:hover{--remove-icon-inset: -8px -8px auto auto;--remove-icon-opacity: 1}\n", "\n :host {\n display: block;\n }\n "], components: [{ type: RemoveButtonComponent, selector: "node-remove-button", outputs: ["remove"] }, { type: NodeIconComponent, selector: "node-icon", inputs: ["icon"] }, { type: NodeInputsComponent, selector: "node-inputs", inputs: ["direction", "data", "seed", "emit", "sortByIndex"] }, { type: NodeOutputsComponent, selector: "node-outputs", inputs: ["direction", "data", "seed", "emit", "sortByIndex"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
28471
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TemplateNodeComponent, decorators: [{
|
|
28472
|
+
type: Component,
|
|
28473
|
+
args: [{
|
|
28474
|
+
templateUrl: './template-node.component.html',
|
|
28475
|
+
styleUrls: ['../../styles/node.scss'],
|
|
28476
|
+
changeDetection: ChangeDetectionStrategy.Default,
|
|
28477
|
+
styles: [
|
|
28478
|
+
`
|
|
28479
|
+
:host {
|
|
28480
|
+
display: block;
|
|
28481
|
+
}
|
|
28482
|
+
`,
|
|
28483
|
+
],
|
|
28484
|
+
}]
|
|
28485
|
+
}] });
|
|
28486
|
+
|
|
28487
|
+
class ZoomControlComponent {
|
|
28488
|
+
constructor(_plugins) {
|
|
28489
|
+
this._plugins = _plugins;
|
|
28490
|
+
this.delta = 0.1;
|
|
28491
|
+
}
|
|
28492
|
+
zoomOut() {
|
|
28493
|
+
const k = this._plugins.area.area.transform.k;
|
|
28494
|
+
this._plugins.area.area.zoom(k - this.delta);
|
|
28495
|
+
}
|
|
28496
|
+
zoomIn() {
|
|
28497
|
+
const k = this._plugins.area.area.transform.k;
|
|
28498
|
+
this._plugins.area.area.zoom(k + this.delta);
|
|
28499
|
+
}
|
|
28500
|
+
}
|
|
28501
|
+
ZoomControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ZoomControlComponent, deps: [{ token: DiagramPluginsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
28502
|
+
ZoomControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ZoomControlComponent, selector: "app-zoom-control", ngImport: i0, template: `
|
|
28503
|
+
<button mat-flat-button (click)="zoomOut()">
|
|
28504
|
+
<mat-icon>zoom_out</mat-icon>
|
|
28505
|
+
</button>
|
|
28506
|
+
<button mat-flat-button (click)="zoomIn()">
|
|
28507
|
+
<mat-icon>zoom_in</mat-icon>
|
|
28508
|
+
</button>
|
|
28509
|
+
`, isInline: true, styles: ["\n :host {\n position: var(--diagram-zoom-position, absolute);\n inset-inline: var(--diagram-zoom-inline, auto 5px);\n inset-block: var(--diagram-zoom-block, 5px auto);\n background: var(--diagram-zoom-background, #f8f8ff);\n border-radius: var(--diagram-zoom-radius, 4px);\n border: var(--diagram-zoom-border, 1px solid #dcdce4);\n display: var(--diagram-zoom-display, inline-flex);\n flex-direction: var(--diagram-zoom-direction, row);\n box-shadow: var(--diagram-zoom-shadow, 0 0 0 0 #eee);\n .mat-flat-button {\n background-color: transparent;\n min-width: 36px;\n }\n }\n "], components: [{ type: i1$8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
28510
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ZoomControlComponent, decorators: [{
|
|
28511
|
+
type: Component,
|
|
28512
|
+
args: [{
|
|
28513
|
+
selector: 'app-zoom-control',
|
|
28514
|
+
template: `
|
|
28515
|
+
<button mat-flat-button (click)="zoomOut()">
|
|
28516
|
+
<mat-icon>zoom_out</mat-icon>
|
|
28517
|
+
</button>
|
|
28518
|
+
<button mat-flat-button (click)="zoomIn()">
|
|
28519
|
+
<mat-icon>zoom_in</mat-icon>
|
|
28520
|
+
</button>
|
|
28521
|
+
`,
|
|
28522
|
+
styles: [
|
|
28523
|
+
`
|
|
28524
|
+
:host {
|
|
28525
|
+
position: var(--diagram-zoom-position, absolute);
|
|
28526
|
+
inset-inline: var(--diagram-zoom-inline, auto 5px);
|
|
28527
|
+
inset-block: var(--diagram-zoom-block, 5px auto);
|
|
28528
|
+
background: var(--diagram-zoom-background, #f8f8ff);
|
|
28529
|
+
border-radius: var(--diagram-zoom-radius, 4px);
|
|
28530
|
+
border: var(--diagram-zoom-border, 1px solid #dcdce4);
|
|
28531
|
+
display: var(--diagram-zoom-display, inline-flex);
|
|
28532
|
+
flex-direction: var(--diagram-zoom-direction, row);
|
|
28533
|
+
box-shadow: var(--diagram-zoom-shadow, 0 0 0 0 #eee);
|
|
28534
|
+
.mat-flat-button {
|
|
28535
|
+
background-color: transparent;
|
|
28536
|
+
min-width: 36px;
|
|
28537
|
+
}
|
|
28538
|
+
}
|
|
28539
|
+
`,
|
|
28540
|
+
],
|
|
28541
|
+
}]
|
|
28542
|
+
}], ctorParameters: function () { return [{ type: DiagramPluginsService }]; } });
|
|
28543
|
+
|
|
28544
|
+
class DiagramDirective {
|
|
28545
|
+
constructor(_elementRef, _renderer, _injector, _viewContainerRef, _resolver, _diagramService, _pluginsService) {
|
|
28546
|
+
this._elementRef = _elementRef;
|
|
28547
|
+
this._renderer = _renderer;
|
|
28548
|
+
this._injector = _injector;
|
|
28549
|
+
this._viewContainerRef = _viewContainerRef;
|
|
28550
|
+
this._resolver = _resolver;
|
|
28551
|
+
this._diagramService = _diagramService;
|
|
28552
|
+
this._pluginsService = _pluginsService;
|
|
28553
|
+
this.height = `${DIAGRAM_HEIGHT}px`;
|
|
28554
|
+
this.width = '100%';
|
|
28555
|
+
this.config = { readonly: { active: false } };
|
|
28556
|
+
this.zoomCtrl = true;
|
|
28557
|
+
this.onDiagramReady = new EventEmitter();
|
|
28558
|
+
}
|
|
28559
|
+
get clientRect() {
|
|
28560
|
+
return this._elementRef.nativeElement.getBoundingClientRect();
|
|
28561
|
+
}
|
|
28562
|
+
ngOnInit() {
|
|
28563
|
+
this._appendStyles();
|
|
28564
|
+
}
|
|
28565
|
+
_appendZoomComponent() {
|
|
28566
|
+
if (!this.zoomCtrl) {
|
|
28567
|
+
return;
|
|
28568
|
+
}
|
|
28569
|
+
const factory = this._resolver.resolveComponentFactory(ZoomControlComponent);
|
|
28570
|
+
this._viewContainerRef.createComponent(factory);
|
|
28571
|
+
}
|
|
28572
|
+
ngAfterViewInit() {
|
|
28573
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28574
|
+
this._appendZoomComponent();
|
|
28575
|
+
try {
|
|
28576
|
+
const editor = yield createDiagramEditor(this._elementRef.nativeElement, this._injector, this.config //TODO it's Should be merged with DIAGRAM_DEFAULT_OPTIONS
|
|
28577
|
+
);
|
|
28578
|
+
this._pluginsService.setPlugins(editor);
|
|
28579
|
+
this._diagramService.setEditor(editor);
|
|
28580
|
+
this.diagramEditor = editor;
|
|
28581
|
+
this.onDiagramReady.emit(editor);
|
|
28582
|
+
}
|
|
28583
|
+
catch (error) {
|
|
28584
|
+
console.log(error);
|
|
28585
|
+
}
|
|
28586
|
+
});
|
|
28587
|
+
}
|
|
28588
|
+
_appendStyles() {
|
|
28589
|
+
const _requiredStyles = {
|
|
28590
|
+
position: 'var(--diagram-position, relative)',
|
|
28591
|
+
width: `var(--diagram-width, ${this.width})`,
|
|
28592
|
+
height: `var(--diagram-height, ${this.height})`,
|
|
28593
|
+
direction: 'ltr',
|
|
28594
|
+
};
|
|
28595
|
+
Object.entries(_requiredStyles).forEach(([key, value]) => {
|
|
28596
|
+
this._renderer.setStyle(this._elementRef.nativeElement, key, value);
|
|
28597
|
+
});
|
|
28598
|
+
}
|
|
28599
|
+
}
|
|
28600
|
+
DiagramDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: DiagramService }, { token: DiagramPluginsService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
28601
|
+
DiagramDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: DiagramDirective, selector: "[appDiagram]", inputs: { height: "height", width: "width", config: "config", zoomCtrl: "zoomCtrl" }, outputs: { onDiagramReady: "onDiagramReady" }, exportAs: ["diagram"], ngImport: i0 });
|
|
28602
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramDirective, decorators: [{
|
|
28603
|
+
type: Directive,
|
|
28604
|
+
args: [{
|
|
28605
|
+
selector: '[appDiagram]',
|
|
28606
|
+
exportAs: 'diagram',
|
|
28607
|
+
}]
|
|
28608
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: DiagramService }, { type: DiagramPluginsService }]; }, propDecorators: { height: [{
|
|
28609
|
+
type: Input
|
|
28610
|
+
}], width: [{
|
|
28611
|
+
type: Input
|
|
28612
|
+
}], config: [{
|
|
28613
|
+
type: Input
|
|
28614
|
+
}], zoomCtrl: [{
|
|
28615
|
+
type: Input
|
|
28616
|
+
}], onDiagramReady: [{
|
|
28617
|
+
type: Output
|
|
28618
|
+
}] } });
|
|
28619
|
+
|
|
28620
|
+
class DiagramsModule {
|
|
28621
|
+
}
|
|
28622
|
+
DiagramsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
28623
|
+
DiagramsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramsModule, declarations: [CircleNodeComponent,
|
|
28624
|
+
ContentNodeComponent,
|
|
28625
|
+
CustomConnectionComponent,
|
|
28626
|
+
CustomSocketComponent,
|
|
28627
|
+
TemplateNodeComponent,
|
|
28628
|
+
DiagramDirective,
|
|
28629
|
+
RemoveButtonComponent,
|
|
28630
|
+
ZoomControlComponent,
|
|
28631
|
+
NodeIconComponent,
|
|
28632
|
+
StatusIconComponent,
|
|
28633
|
+
NodeInputsComponent,
|
|
28634
|
+
NodeOutputsComponent], imports: [CommonModule,
|
|
28635
|
+
ReteModule,
|
|
28636
|
+
MatButtonModule,
|
|
28637
|
+
MatIconModule,
|
|
28638
|
+
FormsModule,
|
|
28639
|
+
TranslateModule,
|
|
28640
|
+
MatTooltipModule], exports: [DiagramDirective, ZoomControlComponent] });
|
|
28641
|
+
DiagramsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramsModule, providers: [DiagramService, DiagramPluginsService, WorkflowService], imports: [[
|
|
28642
|
+
CommonModule,
|
|
28643
|
+
ReteModule,
|
|
28644
|
+
MatButtonModule,
|
|
28645
|
+
MatIconModule,
|
|
28646
|
+
FormsModule,
|
|
28647
|
+
TranslateModule,
|
|
28648
|
+
MatTooltipModule,
|
|
28649
|
+
]] });
|
|
28650
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramsModule, decorators: [{
|
|
28651
|
+
type: NgModule,
|
|
28652
|
+
args: [{
|
|
28653
|
+
declarations: [
|
|
28654
|
+
CircleNodeComponent,
|
|
28655
|
+
ContentNodeComponent,
|
|
28656
|
+
CustomConnectionComponent,
|
|
28657
|
+
CustomSocketComponent,
|
|
28658
|
+
TemplateNodeComponent,
|
|
28659
|
+
DiagramDirective,
|
|
28660
|
+
RemoveButtonComponent,
|
|
28661
|
+
ZoomControlComponent,
|
|
28662
|
+
NodeIconComponent,
|
|
28663
|
+
StatusIconComponent,
|
|
28664
|
+
NodeInputsComponent,
|
|
28665
|
+
NodeOutputsComponent,
|
|
28666
|
+
],
|
|
28667
|
+
imports: [
|
|
28668
|
+
CommonModule,
|
|
28669
|
+
ReteModule,
|
|
28670
|
+
MatButtonModule,
|
|
28671
|
+
MatIconModule,
|
|
28672
|
+
FormsModule,
|
|
28673
|
+
TranslateModule,
|
|
28674
|
+
MatTooltipModule,
|
|
28675
|
+
],
|
|
28676
|
+
exports: [DiagramDirective, ZoomControlComponent],
|
|
28677
|
+
providers: [DiagramService, DiagramPluginsService, WorkflowService],
|
|
28678
|
+
}]
|
|
28679
|
+
}] });
|
|
28680
|
+
|
|
27195
28681
|
const FILTER_DATES_TYPE = {
|
|
27196
28682
|
lastDay: 'from_now-24H_to_now',
|
|
27197
28683
|
lastWeek: 'from_now-7d_to_now',
|
|
@@ -29222,5 +30708,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
29222
30708
|
* Generated bundle index. Do not edit.
|
|
29223
30709
|
*/
|
|
29224
30710
|
|
|
29225
|
-
export { ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AvatarComponent, AvatarModule, BooleanViewerComponent, ButtonComponent, CallApiService, CardComponent, CardModule, ChartDataService, ClickOutsideDirective, ClipboardComponent, CommentApiService, CommentsDashletComponent, CommentsModule, ComponentRegisterService, ComponentTranslationModel, ConfirmCallerDialogComponent, ConfirmCallerModule, ConfirmDialogComponent, ConfirmationDialogComponent, ConfirmationDialogModule, ContentActionType, CopyComponent, CorrespondenceRelationComponent, CorrespondenceRelationModule, CorrespondenceRelationService, CorrespondenceTagsComponent, CreateDirectoryComponent, CreateEntityComponent, CreateEntityModule, CreateModalComponent, CreationTypeComponent, CtsTagsModule, CustomDocumentViewerComponent, CustomPpViewerComponent, CustomToastrModule, CustomToastrService, CutomeVocViewerComponent, DataViewerComponent, DateFormatterService, DateHelperService, DateViewerComponent, DeleteComponent, DepartmentApiService, DepartmentFormComponent, DepartmentManagementService, DepartmentViewerComponent, DialogMangmentService, DirectiveModule, DisplaySuitableIconComponent, DisplaySuitableIconModule, DocumentScanService, DocumentTemplatesConstants, DocumentTemplatesService, DocumentUploadComponent, DocumentsComponent, DocumentsConstants, DocumentsListComponent, DocumentsModule, DocumentsService, DragAndDropDirective, DropdownViewerComponent, DynamicChartComponent, DynamicChartModule, DynamicColumnComponent, DynamicFieldsRendererComponent, DynamicFieldsRendererModule, DynamicFilterComponent, DynamicFilterModule, DynamicFormBoolItemComponent, DynamicFormBuilderComponent, DynamicFormCheckboxItemComponent, DynamicFormComponent, DynamicFormDateItemComponent, DynamicFormDepartmentComponent, DynamicFormFieldComponent, DynamicFormHijriDateitemComponent, DynamicFormMapItemComponent, DynamicFormModule, DynamicFormOptionsComponent, DynamicFormSelectItemComponent, DynamicFormSelectTagComponent, DynamicFormSelectUserFilterComponent, DynamicFormSelectUsersComponent, DynamicFormService, DynamicFormSlideToggleitemComponent, DynamicFormTextItemComponent, DynamicFormTextareaComponent, DynamicFormViewerComponent, DynamicFormVocabularyItemComponent, DynamicSearchComponent, DynamicSearchModule, DynamicSingleChartComponent, DynamicTableComponent, DynamicTableModule, DynamicTableService, DynamicTabsComponent, DynamicTabsModule, DynamicViewModule, EXTENSION_JSONS, EnvManager, EvaluatorsService, ExtensionLoaderService, ExtensionService, FILTER_DATES_TYPE, FileGridInfiniteScrollDirective, FileManagerAbstract, FileManagerAdapter, FileManagerPaginationConfig, FileManagerService, FileMangerModule, FileSizePipe, FilterComponent, FilterModule, FolderModalComponent, FolderishType, FormBuilderService, GlobalAdminService, GlobalPdfTron, GregorianDatepickerComponent, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, IconService, InitializationService, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, ListViewerComponent, LoanRequestComponent, LocalStoragService, LocalizedDatePipe, MY_MOMENT_FORMATS, MainfolderService, MomentDateAdapter, MoveComponent, MultiValuePipe, MultipleDynamicFormViewerComponent, MutipleDynamicFormViewerModule, NOTIFICATIONS_LIST_OPTIONS, NOTIFICATION_ICON, NOTIFICATION_ITEM, NOTIFICATION_STATUS, NgxHijriGregorianDatepickerModule, NoDataComponent, NotificationIconDirective, NotificationItemComponent, NotificationItemDirective, NotificationSourceSelectComponent, NotificationStatusToggleComponent, NotificationToastComponent, NotificationsButtonComponent, NotificationsDateSelectComponent, NotificationsListComponent, NotificationsListContainerComponent, NotificationsModule, NotificationsService, NotificationsSettingsContainerComponent, NuxeoCoreModule, NuxeoDevelopmentFrameworkComponent, NuxeoDevelopmentFrameworkModule, NuxeoDevelopmentFrameworkService, NuxeoService, PAGINATION_MODE, PANEL_MODE, PaginationComponent, PaginationModule, PdfTronModule, PdftronComponent, PdftronService, PermissionService, PermissionsComponent, PermissionsDirective, PermissionsModule, PermissionsTemplateComponent, PipesModule, PublishDialogComponent, PublishingDocumentService, ReadMoreComponent, RecentlyViewedService, RenameComponent, RolesService, SUBSCRIPTION_STATE, SafeHtmlPipe, ScanComponent, ScanModalComponent, SearchAutocompleteComponent, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, ShareDialogComponent, SharedDocsService, SharedServicesModule, SidepanelComponent, SingleActivityComponent, SpinnerComponent, TRANSLATION_PROVIDER, TableComponent, TableModule, TagsApiService, TemplateModalComponent, TimeAgoPipe, ToastsModule, TransferDocComponent, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UpdateModalComponent, UploadFileService, UploadManagmentService, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService, VocabularyComponent, VocabularyModule, appInitializer, departmentCacheBuster$, extensionJsonsFactory, filterEnabled, getValue, mergeArrays, mergeObjects, minute$1 as minute, provideExtensionConfig, reduceEmptyMenus, reduceSeparators, sortByOrder };
|
|
30711
|
+
export { ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AvatarComponent, AvatarModule, BaseNodeClass, BooleanViewerComponent, ButtonComponent, CallApiService, CardComponent, CardModule, ChartDataService, CircleNode, CircleNodeComponent, ClickOutsideDirective, ClipboardComponent, CommentApiService, CommentsDashletComponent, CommentsModule, ComponentRegisterService, ComponentTranslationModel, ConfirmCallerDialogComponent, ConfirmCallerModule, ConfirmDialogComponent, ConfirmationDialogComponent, ConfirmationDialogModule, Connection, ContentActionType, ContentNode, ContentNodeComponent, CopyComponent, CorrespondenceRelationComponent, CorrespondenceRelationModule, CorrespondenceRelationService, CorrespondenceTagsComponent, CreateDirectoryComponent, CreateEntityComponent, CreateEntityModule, CreateModalComponent, CreationTypeComponent, CtsTagsModule, CustomConnectionComponent, CustomDocumentViewerComponent, CustomPpViewerComponent, CustomSocketComponent, CustomToastrModule, CustomToastrService, CutomeVocViewerComponent, DIAGRAM_DEFAULT_OPTIONS, DIAGRAM_HEIGHT, DataViewerComponent, DateFormatterService, DateHelperService, DateViewerComponent, DeleteComponent, DepartmentApiService, DepartmentFormComponent, DepartmentManagementService, DepartmentViewerComponent, DiagramDirective, DiagramPluginsService, DiagramService, DiagramsModule, DialogMangmentService, DirectiveModule, DisplaySuitableIconComponent, DisplaySuitableIconModule, DocumentScanService, DocumentTemplatesConstants, DocumentTemplatesService, DocumentUploadComponent, DocumentsComponent, DocumentsConstants, DocumentsListComponent, DocumentsModule, DocumentsService, DragAndDropDirective, DropdownViewerComponent, DynamicChartComponent, DynamicChartModule, DynamicColumnComponent, DynamicFieldsRendererComponent, DynamicFieldsRendererModule, DynamicFilterComponent, DynamicFilterModule, DynamicFormBoolItemComponent, DynamicFormBuilderComponent, DynamicFormCheckboxItemComponent, DynamicFormComponent, DynamicFormDateItemComponent, DynamicFormDepartmentComponent, DynamicFormFieldComponent, DynamicFormHijriDateitemComponent, DynamicFormMapItemComponent, DynamicFormModule, DynamicFormOptionsComponent, DynamicFormSelectItemComponent, DynamicFormSelectTagComponent, DynamicFormSelectUserFilterComponent, DynamicFormSelectUsersComponent, DynamicFormService, DynamicFormSlideToggleitemComponent, DynamicFormTextItemComponent, DynamicFormTextareaComponent, DynamicFormViewerComponent, DynamicFormVocabularyItemComponent, DynamicSearchComponent, DynamicSearchModule, DynamicSingleChartComponent, DynamicTableComponent, DynamicTableModule, DynamicTableService, DynamicTabsComponent, DynamicTabsModule, DynamicViewModule, EXTENSION_JSONS, EnvManager, EvaluatorsService, ExtensionLoaderService, ExtensionService, FILTER_DATES_TYPE, FileGridInfiniteScrollDirective, FileManagerAbstract, FileManagerAdapter, FileManagerPaginationConfig, FileManagerService, FileMangerModule, FileSizePipe, FilterComponent, FilterModule, FolderModalComponent, FolderishType, FormBuilderService, GlobalAdminService, GlobalPdfTron, GregorianDatepickerComponent, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, IN_OUT_DIRECTION, IconService, InitializationService, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, ListViewerComponent, LoanRequestComponent, LocalStoragService, LocalizedDatePipe, MESSAGE_TYPE, MY_MOMENT_FORMATS, MainfolderService, MessageService, MomentDateAdapter, MoveComponent, MultiValuePipe, MultipleDynamicFormViewerComponent, MutipleDynamicFormViewerModule, NODE_CIRCLE_SIZE, NODE_HEIGHT, NODE_MARGIN, NODE_STATUS, NODE_TYPE, NODE_WIDTH, NOTIFICATIONS_LIST_OPTIONS, NOTIFICATION_ICON, NOTIFICATION_ITEM, NOTIFICATION_STATUS, NOTIFY_EVENT, NgxHijriGregorianDatepickerModule, NoDataComponent, NodeIconComponent, NodeInputsComponent, NodeOutputsComponent, NotificationIconDirective, NotificationItemComponent, NotificationItemDirective, NotificationSourceSelectComponent, NotificationStatusToggleComponent, NotificationToastComponent, NotificationsButtonComponent, NotificationsDateSelectComponent, NotificationsListComponent, NotificationsListContainerComponent, NotificationsModule, NotificationsService, NotificationsSettingsContainerComponent, NuxeoCoreModule, NuxeoDevelopmentFrameworkComponent, NuxeoDevelopmentFrameworkModule, NuxeoDevelopmentFrameworkService, NuxeoService, PAGINATION_MODE, PANEL_MODE, PaginationComponent, PaginationModule, PdfTronModule, PdftronComponent, PdftronService, PermissionService, PermissionsComponent, PermissionsDirective, PermissionsModule, PermissionsTemplateComponent, PipesModule, PublishDialogComponent, PublishingDocumentService, ReadMoreComponent, RecentlyViewedService, RemoveButtonComponent, RenameComponent, RolesService, SOCKET_WIDTH, SUBSCRIPTION_STATE, SafeHtmlPipe, ScanComponent, ScanModalComponent, SearchAutocompleteComponent, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, ShareDialogComponent, SharedDocsService, SharedServicesModule, SidepanelComponent, SingleActivityComponent, Socket, SpinnerComponent, StatusIconComponent, TRANSLATION_PROVIDER, TableComponent, TableModule, TagsApiService, TemplateModalComponent, TemplateNode, TemplateNodeComponent, TimeAgoPipe, ToastsModule, TransferDocComponent, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UpdateModalComponent, UploadFileService, UploadManagmentService, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService, VocabularyComponent, VocabularyModule, WorkflowService, ZoomControlComponent, appInitializer, departmentCacheBuster$, extensionJsonsFactory, filterEnabled, getConnections, getValue, mergeArrays, mergeObjects, minute$1 as minute, provideExtensionConfig, reduceEmptyMenus, reduceSeparators, removeConnections, removeNode, removeNodeAndConnections, serializeControl, serializePort, sortByOrder };
|
|
29226
30712
|
//# sourceMappingURL=nuxeo-development-framework.js.map
|