nuxeo-development-framework 4.1.0 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +1025 -607
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +2 -2
  4. package/esm2015/lib/components/diagrams/components/circle-node/circle-node.component.js +6 -7
  5. package/esm2015/lib/components/diagrams/components/connection-label.component.js +92 -0
  6. package/esm2015/lib/components/diagrams/components/content-node/content-node.component.js +7 -8
  7. package/esm2015/lib/components/diagrams/components/custom-connection.component.js +68 -32
  8. package/esm2015/lib/components/diagrams/components/custom-socket.component.js +22 -19
  9. package/esm2015/lib/components/diagrams/components/gateway-node/gateway-node.component.js +18 -0
  10. package/esm2015/lib/components/diagrams/components/gateway-ports.component.js +118 -0
  11. package/esm2015/lib/components/diagrams/components/index.js +5 -1
  12. package/esm2015/lib/components/diagrams/components/node-inputs.component.js +34 -35
  13. package/esm2015/lib/components/diagrams/components/node-outputs.component.js +30 -31
  14. package/esm2015/lib/components/diagrams/components/node-ports.component.js +98 -0
  15. package/esm2015/lib/components/diagrams/components/remove-button.component.js +46 -43
  16. package/esm2015/lib/components/diagrams/components/template-node/template-node.component.js +6 -7
  17. package/esm2015/lib/components/diagrams/constants/node-type.js +2 -1
  18. package/esm2015/lib/components/diagrams/constants/sizes.js +2 -1
  19. package/esm2015/lib/components/diagrams/constants/status.js +4 -1
  20. package/esm2015/lib/components/diagrams/diagrams.module.js +14 -6
  21. package/esm2015/lib/components/diagrams/directive/diagram.directive.js +9 -6
  22. package/esm2015/lib/components/diagrams/editor/customize.js +16 -12
  23. package/esm2015/lib/components/diagrams/editor/editor.js +21 -19
  24. package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +32 -7
  25. package/esm2015/lib/components/diagrams/editor/path-plugin.js +10 -9
  26. package/esm2015/lib/components/diagrams/models/base-node.model.js +3 -2
  27. package/esm2015/lib/components/diagrams/models/connection.model.js +11 -4
  28. package/esm2015/lib/components/diagrams/models/gate-way.model.js +11 -0
  29. package/esm2015/lib/components/diagrams/models/index.js +2 -1
  30. package/esm2015/lib/components/diagrams/models/ports.model.js +14 -0
  31. package/esm2015/lib/components/diagrams/models/socket.model.js +5 -4
  32. package/esm2015/lib/components/diagrams/services/diagram.service.js +77 -29
  33. package/esm2015/lib/components/diagrams/services/workflow.service.js +14 -19
  34. package/esm2015/lib/components/diagrams/types/common.type.js +1 -1
  35. package/esm2015/lib/components/diagrams/types/connection-config.type.js +2 -0
  36. package/esm2015/lib/components/diagrams/types/connection-label.type.js +2 -0
  37. package/esm2015/lib/components/diagrams/types/diagram-config.type.js +1 -1
  38. package/esm2015/lib/components/diagrams/types/diagram-editor.type.js +1 -1
  39. package/esm2015/lib/components/diagrams/types/index.js +6 -2
  40. package/esm2015/lib/components/diagrams/types/node-definition.js +1 -1
  41. package/esm2015/lib/components/diagrams/types/path.type.js +1 -1
  42. package/esm2015/lib/components/diagrams/types/ports-config.type.js +2 -0
  43. package/esm2015/lib/components/diagrams/types/socket.type.js +2 -0
  44. package/esm2015/lib/components/diagrams/utilities/common.js +35 -0
  45. package/esm2015/lib/components/diagrams/utilities/index.js +3 -1
  46. package/esm2015/lib/components/diagrams/utilities/random.js +11 -0
  47. package/esm2015/lib/components/diagrams/utilities/remove.util.js +2 -2
  48. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +238 -200
  49. package/esm2015/lib/components/file-manger/file-manger.module.js +10 -6
  50. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +2 -2
  51. package/fesm2015/nuxeo-development-framework.js +1194 -640
  52. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  53. package/lib/components/diagrams/components/base-node.component.d.ts +1 -0
  54. package/lib/components/diagrams/components/connection-label.component.d.ts +19 -0
  55. package/lib/components/diagrams/components/custom-connection.component.d.ts +5 -0
  56. package/lib/components/diagrams/components/gateway-node/gateway-node.component.d.ts +6 -0
  57. package/lib/components/diagrams/components/gateway-ports.component.d.ts +12 -0
  58. package/lib/components/diagrams/components/index.d.ts +4 -0
  59. package/lib/components/diagrams/components/node-ports.component.d.ts +13 -0
  60. package/lib/components/diagrams/constants/node-type.d.ts +1 -0
  61. package/lib/components/diagrams/constants/sizes.d.ts +1 -0
  62. package/lib/components/diagrams/constants/status.d.ts +3 -0
  63. package/lib/components/diagrams/diagrams.module.d.ts +12 -8
  64. package/lib/components/diagrams/editor/overrides/connection-path.transformers.d.ts +2 -7
  65. package/lib/components/diagrams/models/base-node.model.d.ts +3 -2
  66. package/lib/components/diagrams/models/connection.model.d.ts +9 -1
  67. package/lib/components/diagrams/models/gate-way.model.d.ts +8 -0
  68. package/lib/components/diagrams/models/index.d.ts +1 -0
  69. package/lib/components/diagrams/models/ports.model.d.ts +11 -0
  70. package/lib/components/diagrams/models/socket.model.d.ts +3 -1
  71. package/lib/components/diagrams/services/diagram.service.d.ts +20 -9
  72. package/lib/components/diagrams/services/workflow.service.d.ts +0 -1
  73. package/lib/components/diagrams/types/common.type.d.ts +5 -0
  74. package/lib/components/diagrams/types/connection-config.type.d.ts +11 -0
  75. package/lib/components/diagrams/types/connection-label.type.d.ts +4 -0
  76. package/lib/components/diagrams/types/diagram-config.type.d.ts +6 -0
  77. package/lib/components/diagrams/types/diagram-editor.type.d.ts +3 -2
  78. package/lib/components/diagrams/types/index.d.ts +5 -1
  79. package/lib/components/diagrams/types/node-definition.d.ts +1 -0
  80. package/lib/components/diagrams/types/path.type.d.ts +1 -0
  81. package/lib/components/diagrams/types/ports-config.type.d.ts +11 -0
  82. package/lib/components/diagrams/types/socket.type.d.ts +5 -0
  83. package/lib/components/diagrams/utilities/common.d.ts +19 -0
  84. package/lib/components/diagrams/utilities/index.d.ts +2 -0
  85. package/lib/components/diagrams/utilities/random.d.ts +1 -0
  86. package/lib/components/diagrams/utilities/remove.util.d.ts +1 -1
  87. package/lib/components/file-manger/components/create-modal/create-modal.component.d.ts +13 -19
  88. package/lib/components/file-manger/file-manger.module.d.ts +2 -1
  89. package/package.json +1 -1
@@ -2441,7 +2441,7 @@
2441
2441
  return NdfNuxeoDialog;
2442
2442
  }(BaseComponent));
2443
2443
  NdfNuxeoDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfNuxeoDialog, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component });
2444
- NdfNuxeoDialog.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: { dialogTitle: "dialogTitle", subTitle: "subTitle", loaderMode: "loaderMode" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], viewQueries: [{ propertyName: "dialogBody", first: true, predicate: ["dialogBody"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<div SetDirRtl class=\"ndf-dialog-wrapper flex flex-col\">\r\n\t<div\r\n\t\tclass=\"dialog-header flex h-20 p-6 justify-between items-center w-full bg-vapor text-blue-munsell text-xl not-italic font-bold leading-7\"\r\n\t>\r\n\t\t<div class=\"flex flex-col\">\r\n\t\t\t<span>{{ data?.dialogConfig?.title || dialogTitle }}</span>\r\n\t\t\t<span class=\"text-base font-normal\"\r\n\t\t\t\t>{{ data?.dialogConfig?.subTitle || subTitle }}</span\r\n\t\t\t>\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\tclass=\"flex items-center justify-center rounded-full bg-anti-flash-white w-10 h-10\"\r\n\t\t\t(click)=\"executeAction()\"\r\n\t\t\tmatTooltip=\"{{'BUTTONS.CLOSE' | translate}}\"\r\n\t\t>\r\n\t\t\t<mat-icon class=\"icon-size-3.5\" [svgIcon]=\"'icons:cancel-icon'\">\r\n\t\t\t</mat-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<div\r\n\t\t#dialogBody\r\n\t\tclass=\"dialog-body flex flex-col gap-y-4 p-6 overflow-y-auto relative z-99\"\r\n\t\t[ngClass]=\"{'overflow-hidden': loading}\"\r\n\t>\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"data?.dialogConfig?.contentTemplate || contentTemplate\"\r\n\t\t></ng-container>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay flex w-full h-full items-center justify-center absolute left-0 bottom-0 right-0 bg-gray-300 opacity-40 z-999\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t></div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay flex w-full h-full items-center justify-center absolute left-0 bottom-0 right-0 z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'spinner'\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t>\r\n\t\t\t\t<mat-spinner\r\n\t\t\t\t\t[value]=\"90\"\r\n\t\t\t\t\t[strokeWidth]=\"4\"\r\n\t\t\t\t\toverlay=\"true\"\r\n\t\t\t\t\t[diameter]=\"40\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t>\r\n\t\t\t\t</mat-spinner>\r\n\t\t\t</div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"block w-full h-px absolute inset-0 z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'progressBar'\"\r\n\t\t\t>\r\n\t\t\t\t<mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</div>\r\n\t<div class=\"flex w-full justify-end p-6 pt-0 gap-x-4\">\r\n\t\t<button class=\"cancelation-button\" (click)=\"executeAction()\">\r\n\t\t\t{{\"BUTTONS.CANCEL\" | translate}}\r\n\t\t</button>\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"(data?.dialogConfig?.actionsTemplate || actionsTemplate); context: { dialog: this }\"\r\n\t\t></ng-container>\r\n\t</div>\r\n</div>\r\n", styles: ["::ng-deep .ndf-dialog .mat-dialog-container{overflow:hidden!important;border-radius:8px!important}.ndf-dialog-wrapper .dialog-body{height:auto;max-height:calc(100vh - 208px)}\n"], components: [{ type: i2__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: SetDirRtlDirective, selector: "[SetDirRtl]" }, { type: i2__namespace$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
2444
+ NdfNuxeoDialog.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: { dialogTitle: "dialogTitle", subTitle: "subTitle", loaderMode: "loaderMode" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], viewQueries: [{ propertyName: "dialogBody", first: true, predicate: ["dialogBody"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<div SetDirRtl class=\"ndf-dialog-wrapper flex flex-col h-full\">\r\n\t<div\r\n\t\tclass=\"dialog-header flex h-20 p-6 justify-between items-center w-full bg-vapor text-blue-munsell text-xl not-italic font-bold leading-7\"\r\n\t>\r\n\t\t<div class=\"flex flex-col\">\r\n\t\t\t<span>{{ data?.dialogConfig?.title || dialogTitle }}</span>\r\n\t\t\t<span class=\"text-base font-normal\"\r\n\t\t\t\t>{{ data?.dialogConfig?.subTitle || subTitle }}</span\r\n\t\t\t>\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\tclass=\"flex items-center justify-center rounded-full bg-anti-flash-white w-10 h-10\"\r\n\t\t\t(click)=\"executeAction()\"\r\n\t\t\tmatTooltip=\"{{'BUTTONS.CLOSE' | translate}}\"\r\n\t\t>\r\n\t\t\t<mat-icon class=\"icon-size-3.5\" [svgIcon]=\"'icons:cancel-icon'\">\r\n\t\t\t</mat-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<div\r\n\t\t#dialogBody\r\n\t\tclass=\"dialog-body flex flex-col gap-y-4 p-6 overflow-y-auto relative z-99\"\r\n\t\t[ngClass]=\"{'overflow-hidden': loading}\"\r\n\t>\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"data?.dialogConfig?.contentTemplate || contentTemplate\"\r\n\t\t></ng-container>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay flex w-full h-full items-center justify-center absolute left-0 bottom-0 right-0 bg-gray-300 opacity-40 z-999\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t></div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay flex w-full h-full items-center justify-center absolute left-0 bottom-0 right-0 z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'spinner'\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t>\r\n\t\t\t\t<mat-spinner\r\n\t\t\t\t\t[value]=\"90\"\r\n\t\t\t\t\t[strokeWidth]=\"4\"\r\n\t\t\t\t\toverlay=\"true\"\r\n\t\t\t\t\t[diameter]=\"40\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t>\r\n\t\t\t\t</mat-spinner>\r\n\t\t\t</div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"block w-full h-px absolute inset-0 z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'progressBar'\"\r\n\t\t\t>\r\n\t\t\t\t<mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</div>\r\n\t<div class=\"flex w-full justify-end p-6 pt-0 gap-x-4\">\r\n\t\t<button class=\"cancelation-button\" (click)=\"executeAction()\">\r\n\t\t\t{{\"BUTTONS.CANCEL\" | translate}}\r\n\t\t</button>\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"(data?.dialogConfig?.actionsTemplate || actionsTemplate); context: { dialog: this }\"\r\n\t\t></ng-container>\r\n\t</div>\r\n</div>\r\n", styles: ["::ng-deep .ndf-dialog .mat-dialog-container{overflow:hidden!important;border-radius:8px!important}.ndf-dialog-wrapper .dialog-body{height:100%;max-height:calc(100vh - 208px)}:host{height:100%;display:block}\n"], components: [{ type: i2__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: SetDirRtlDirective, selector: "[SetDirRtl]" }, { type: i2__namespace$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
2445
2445
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfNuxeoDialog, decorators: [{
2446
2446
  type: i0.Component,
2447
2447
  args: [{
@@ -6665,7 +6665,7 @@
6665
6665
  return CorrespondenceRelationListComponent;
6666
6666
  }());
6667
6667
  CorrespondenceRelationListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CorrespondenceRelationListComponent, deps: [{ token: CorrespondenceRelationService }, { token: i1__namespace$3.MatDialog }, { token: ViewerFilesService }, { token: DocumentsService }, { token: AdapterService }], target: i0__namespace.ɵɵFactoryTarget.Component });
6668
- CorrespondenceRelationListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CorrespondenceRelationListComponent, selector: "cts-correspondence-relation-list", inputs: { correspondence_id: "correspondence_id", reload: "reload" }, ngImport: i0__namespace, template: "<div class=\"relations-list\" *ngIf=\"relateddoc.length > 0\">\r\n <ng-container>\r\n <div *ngFor=\"let group of relateddoc; first as isFirst\">\r\n <mat-accordion class=\"example-headers-align\" multi>\r\n <mat-expansion-panel [expanded]=\"isFirst\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ group[0] }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <mat-list>\r\n <div class=\"mat-list-items\" *ngFor=\"let item of group[1]\">\r\n <cts-item-list\r\n [item]=\"item\"\r\n [title]=\"item.title\"\r\n [iconname]=\"'link'\"\r\n [actions]=\"menu_actions\"\r\n (actionclicked)=\"handleMenuItemClicked($event)\"\r\n (itemClicked)=\"showCorrespondenceInViewer(item)\"\r\n [moreclasses]=\"'link-relation'\"\r\n ></cts-item-list>\r\n </div>\r\n </mat-list>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </div>\r\n </ng-container>\r\n</div>\r\n<div class=\"nocontent\" *ngIf=\"relateddoc.length === 0\">\r\n <p>{{ \"correspondence-relation.nocontent\" | translate }}</p>\r\n</div>\r\n", styles: [".relations-list{border:1px solid #eee}.relations-list .mat-expansion-panel{box-shadow:none!important}.relations-list .mat-expansion-panel-header{border-bottom:1px solid #d9dce2;background-color:#f5f6f8;height:50px!important}.relations-list .mat-expansion-panel-header:hover{background-color:#f5f6f8!important}.relations-list .mat-expansion-panel-header:focus{background-color:#f5f6f8!important}.relations-list .mat-expansion-panel-header-title{font-weight:500}.relations-list .mat-accordion .mat-expansion-panel{border-radius:0!important}.relations-list .mat-expansion-panel-body{padding:0!important}.nocontent{color:gray;padding:10px;font-size:14px;border:1px solid #d9dce2}.nocontent p{margin:0;text-align:center}\n"], components: [{ type: i6__namespace$3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i6__namespace$3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight"] }, { type: i2__namespace$4.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: ItemListComponent, selector: "cts-item-list", inputs: ["item", "iconname", "title", "actions", "isselected", "moreclasses"], outputs: ["itemClicked", "actionclicked"] }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6__namespace$3.MatAccordion, selector: "mat-accordion", inputs: ["multi", "displayMode", "togglePosition", "hideToggle"], exportAs: ["matAccordion"] }, { type: i6__namespace$3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i6__namespace$3.MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }], pipes: { "translate": i1__namespace.TranslatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
6668
+ CorrespondenceRelationListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CorrespondenceRelationListComponent, selector: "cts-correspondence-relation-list", inputs: { correspondence_id: "correspondence_id", reload: "reload" }, ngImport: i0__namespace, template: "<div class=\"relations-list\" *ngIf=\"relateddoc.length > 0\">\r\n <ng-container>\r\n <div *ngFor=\"let group of relateddoc; first as isFirst\">\r\n <mat-accordion class=\"example-headers-align\" multi>\r\n <mat-expansion-panel [expanded]=\"isFirst\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{('vocabulary.VOC_CorrespondenceRelationsNames.' + group[0]) | translate }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <mat-list>\r\n <div class=\"mat-list-items\" *ngFor=\"let item of group[1]\">\r\n <cts-item-list\r\n [item]=\"item\"\r\n [title]=\"item.title\"\r\n [iconname]=\"'link'\"\r\n [actions]=\"menu_actions\"\r\n (actionclicked)=\"handleMenuItemClicked($event)\"\r\n (itemClicked)=\"showCorrespondenceInViewer(item)\"\r\n [moreclasses]=\"'link-relation'\"\r\n ></cts-item-list>\r\n </div>\r\n </mat-list>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </div>\r\n </ng-container>\r\n</div>\r\n<div class=\"nocontent\" *ngIf=\"relateddoc.length === 0\">\r\n <p>{{ \"correspondence-relation.nocontent\" | translate }}</p>\r\n</div>\r\n", styles: [".relations-list{border:1px solid #eee}.relations-list .mat-expansion-panel{box-shadow:none!important}.relations-list .mat-expansion-panel-header{border-bottom:1px solid #d9dce2;background-color:#f5f6f8;height:50px!important}.relations-list .mat-expansion-panel-header:hover{background-color:#f5f6f8!important}.relations-list .mat-expansion-panel-header:focus{background-color:#f5f6f8!important}.relations-list .mat-expansion-panel-header-title{font-weight:500}.relations-list .mat-accordion .mat-expansion-panel{border-radius:0!important}.relations-list .mat-expansion-panel-body{padding:0!important}.nocontent{color:gray;padding:10px;font-size:14px;border:1px solid #d9dce2}.nocontent p{margin:0;text-align:center}\n"], components: [{ type: i6__namespace$3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i6__namespace$3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight"] }, { type: i2__namespace$4.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: ItemListComponent, selector: "cts-item-list", inputs: ["item", "iconname", "title", "actions", "isselected", "moreclasses"], outputs: ["itemClicked", "actionclicked"] }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6__namespace$3.MatAccordion, selector: "mat-accordion", inputs: ["multi", "displayMode", "togglePosition", "hideToggle"], exportAs: ["matAccordion"] }, { type: i6__namespace$3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i6__namespace$3.MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }], pipes: { "translate": i1__namespace.TranslatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
6669
6669
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CorrespondenceRelationListComponent, decorators: [{
6670
6670
  type: i0.Component,
6671
6671
  args: [{
@@ -22340,62 +22340,171 @@
22340
22340
  args: ['fileInput']
22341
22341
  }] } });
22342
22342
 
22343
- var CreateModalComponent = /** @class */ (function () {
22344
- function CreateModalComponent(data, dialogRef, uploadMangmentService, dialogMangmentService, fileMangerService, tosterService, formBuilder, adapeter, fileManagerService, appConfService, dateHelperService, translationService, userService, nuxeoService, environment, dynamicFormService) {
22345
- var _this = this;
22346
- this.data = data;
22347
- this.dialogRef = dialogRef;
22348
- this.uploadMangmentService = uploadMangmentService;
22349
- this.dialogMangmentService = dialogMangmentService;
22350
- this.fileMangerService = fileMangerService;
22351
- this.tosterService = tosterService;
22352
- this.formBuilder = formBuilder;
22353
- this.adapeter = adapeter;
22354
- this.fileManagerService = fileManagerService;
22355
- this.appConfService = appConfService;
22356
- this.dateHelperService = dateHelperService;
22357
- this.translationService = translationService;
22358
- this.userService = userService;
22359
- this.nuxeoService = nuxeoService;
22360
- this.environment = environment;
22361
- this.dynamicFormService = dynamicFormService;
22362
- this.addingProperties = false;
22363
- this.payloadList = [];
22364
- this.createWhenFinishMode = false;
22365
- this.showRenderer = false; // used to force renderer to feel changes in forms and value when changing files
22343
+ var CreateModalComponent = /** @class */ (function (_super) {
22344
+ __extends(CreateModalComponent, _super);
22345
+ function CreateModalComponent(data, uploadMangmentService, dialogMangmentService, fileMangerService, tosterService, formBuilder, adapeter, fileManagerService, appConfService, dateHelperService, userService, environment, injector, dynamicFormService) {
22346
+ var _this = _super.call(this, injector) || this;
22347
+ _this.data = data;
22348
+ _this.uploadMangmentService = uploadMangmentService;
22349
+ _this.dialogMangmentService = dialogMangmentService;
22350
+ _this.fileMangerService = fileMangerService;
22351
+ _this.tosterService = tosterService;
22352
+ _this.formBuilder = formBuilder;
22353
+ _this.adapeter = adapeter;
22354
+ _this.fileManagerService = fileManagerService;
22355
+ _this.appConfService = appConfService;
22356
+ _this.dateHelperService = dateHelperService;
22357
+ _this.userService = userService;
22358
+ _this.environment = environment;
22359
+ _this.dynamicFormService = dynamicFormService;
22360
+ _this.addingProperties = false;
22361
+ _this.payloadList = [];
22362
+ _this.createWhenFinishMode = false;
22363
+ _this.showRenderer = false; // used to force renderer to feel changes in forms and value when changing files
22366
22364
  // uploadFinishSubscription: Subscription;
22367
- this.usingExtraFields = false; // flage to switch between static form types
22368
- this.isArabic = false;
22369
- this.showStaticForm = false;
22370
- this.disableCreateWhenFinishBtn = true;
22371
- this.creating = false;
22372
- this.displayNoteMessage = true;
22373
- this.myEnvironment = this.environment;
22374
- this.createWhenFinishMode = false;
22375
- this.addingProperties = this.uploadMangmentService.addingPropertiesMode;
22376
- this.fileType = this.dialogMangmentService.fileType; // object that was constructed inside subtypes service
22377
- this.source = this.dialogMangmentService.addingFrom;
22378
- this.fileManagerService.getFileSchemas(this.fileType.type).subscribe(function (schemas) {
22365
+ _this.usingExtraFields = false; // flage to switch between static form types
22366
+ _this.showStaticForm = false;
22367
+ _this.disableCreateWhenFinishBtn = true;
22368
+ _this.creating = false;
22369
+ _this.displayNoteMessage = true;
22370
+ _this.createWhenFinish = function () {
22371
+ _this.createWhenFinishMode = true;
22372
+ return _this.minimizDialog();
22373
+ };
22374
+ _this.startAddingProperties = function () {
22375
+ //if starting from filemnager then i have fixed file type for all attachmetn and single dynaimc form type
22376
+ if (_this.source === 'fileManger') {
22377
+ // this.dynamicFormService.getDynamicForm(this.fileType).subscribe(res => {
22378
+ _this.uploadMangmentService.uploadedFilesStatus.uploadedFiles.forEach(function (file) {
22379
+ file['fileType'] = _this.source === 'fileManger' ? _this.fileType : {};
22380
+ file['dynamicForm'] = _this.dialogMangmentService.storedDynamicForm;
22381
+ file['dynamicData'] = {};
22382
+ file['staticFormValid'] = _this.usingExtraFields ? false : true;
22383
+ file['staticData'] = _this.setStaticData(file.title ? file.title : file.name);
22384
+ file['generalValidationValid'] = true;
22385
+ });
22386
+ _this.uploadMangmentService.uploadedFilesStatus.allfiles.forEach(function (file) {
22387
+ file['fileType'] = _this.source === 'fileManger' ? _this.fileType : {};
22388
+ file['dynamicForm'] = _this.dialogMangmentService.storedDynamicForm;
22389
+ file['dynamicData'] = {};
22390
+ file['staticFormValid'] = _this.usingExtraFields ? false : true;
22391
+ file['staticData'] = _this.setStaticData(file.title ? file.title : file.name);
22392
+ file['generalValidationValid'] = true;
22393
+ });
22394
+ }
22395
+ _this.addingProperties = true;
22396
+ _this.uploadMangmentService.addingPropertiesMode = true;
22397
+ };
22398
+ _this.createDocument = function () {
22399
+ var _a, _b;
22400
+ _this.creating = true;
22401
+ _this.uploadMangmentService.failedFiles = [];
22402
+ _this.uploadMangmentService.GeneralFormValidation = _this.checkValidation();
22403
+ if (_this.uploadMangmentService.GeneralFormValidation) {
22404
+ var apiCalls_1 = [];
22405
+ if (((_a = _this.data) === null || _a === void 0 ? void 0 : _a.path.includes('/default-domain/workspaces/DMSWorkspaces')) ||
22406
+ ((_b = _this.data) === null || _b === void 0 ? void 0 : _b.path.includes('/default-domain/UserWorkspaces/'))) {
22407
+ _this.constructPayLoadToWorkSpace(_this.uploadMangmentService.uploadedFilesStatus.uploadedFiles);
22408
+ _this.payloadList.forEach(function (payload) {
22409
+ apiCalls_1.push(_this.fileMangerService.createFile(payload, _this.fileManagerService.selectedFolderId, 'DMS.CreateDocumentFromBlob'));
22410
+ });
22411
+ }
22412
+ else {
22413
+ _this.constructPayLoad(_this.uploadMangmentService.uploadedFilesStatus.uploadedFiles);
22414
+ _this.payloadList.forEach(function (payload) {
22415
+ apiCalls_1.push(_this.fileMangerService.createFile(payload, _this.fileManagerService.selectedFolderId));
22416
+ });
22417
+ }
22418
+ return rxjs.forkJoin(apiCalls_1).pipe(operators.tap(function (response) {
22419
+ _this.creating = false;
22420
+ response.forEach(function (singleRes) {
22421
+ if (singleRes['status'] && singleRes['status'] === 'failed') {
22422
+ _this.uploadMangmentService.failedFiles.push(singleRes['originFile']);
22423
+ }
22424
+ });
22425
+ if (_this.uploadMangmentService.failedFiles.length > 0) {
22426
+ _this.tosterService.show('error', 'TOASTER.ERROR', 'TOASTER.UPLOAD_ERROR');
22427
+ _this.uploadMangmentService.uploadedFilesStatus.uploadedFiles = [];
22428
+ _this.selectedFile = null;
22429
+ _this.uploadMangmentService.uploadedFilesStatus.allfiles = __spreadArray([], __read(_this.uploadMangmentService.failedFiles));
22430
+ }
22431
+ else {
22432
+ _this.fileMangerService.onRefreshingFileManger.next();
22433
+ _this.tosterService.show('success', 'TOASTER.SUCCESS', 'TOASTER.FILE_CREATED_SUCCE');
22434
+ _super.prototype.close.call(_this, false);
22435
+ _this.uploadMangmentService.resetStatus();
22436
+ }
22437
+ }, function (error) {
22438
+ _this.creating = false;
22439
+ }));
22440
+ }
22441
+ else {
22442
+ _this.creating = false;
22443
+ return rxjs.of(null);
22444
+ }
22445
+ };
22446
+ _this.tryAgainCreateDocument = function () {
22447
+ _this.uploadMangmentService.uploadFilesMangment(_this.uploadMangmentService.failedFiles);
22448
+ return rxjs.of(null);
22449
+ };
22450
+ _this.minimizDialog = function () {
22451
+ _super.prototype.close.call(_this, true);
22452
+ return rxjs.of(null);
22453
+ };
22454
+ _this.ApplyChangesToAll = function () {
22455
+ _this.uploadMangmentService.uploadedFilesStatus.uploadedFiles.forEach(function (file) {
22456
+ var title = file['staticData']
22457
+ ? file['staticData']['title']
22458
+ : file.name;
22459
+ file['fileType'] = _this.selectedFile.fileType;
22460
+ file['dynamicForm'] = _this.selectedFile.dynamicForm;
22461
+ file['dynamicData'] = _this.selectedFile.dynamicData;
22462
+ file['staticFormValid'] = _this.selectedFile.staticFormValid;
22463
+ file['staticData'] = Object.assign({}, _this.fileForm.value);
22464
+ file['staticData']['title'] = title;
22465
+ });
22466
+ _this.uploadMangmentService.uploadedFilesStatus.allfiles.forEach(function (file) {
22467
+ var title = file['staticData'] ? file['staticData']['title'] : file.name;
22468
+ file['fileType'] = _this.selectedFile.fileType;
22469
+ file['dynamicForm'] = _this.selectedFile.dynamicForm;
22470
+ file['dynamicData'] = _this.selectedFile.dynamicData;
22471
+ file['staticFormValid'] = _this.selectedFile.staticFormValid;
22472
+ file['staticData'] = Object.assign({}, _this.fileForm.value);
22473
+ file['staticData']['title'] = title;
22474
+ });
22475
+ return rxjs.of(null);
22476
+ };
22477
+ _this.myEnvironment = _this.environment;
22478
+ _this.createWhenFinishMode = false;
22479
+ _this.addingProperties = _this.uploadMangmentService.addingPropertiesMode;
22480
+ _this.fileType = _this.dialogMangmentService.fileType; // object that was constructed inside subtypes service
22481
+ _this.source = _this.dialogMangmentService.addingFrom;
22482
+ _this.fileManagerService
22483
+ .getFileSchemas(_this.fileType.type)
22484
+ .subscribe(function (schemas) {
22379
22485
  schemas.map(function (item) {
22380
- if (item.name === "generaldocument") {
22486
+ if (item.name === 'generaldocument') {
22381
22487
  _this.usingExtraFields = true;
22382
22488
  }
22383
22489
  });
22384
22490
  _this.initiatfileForm();
22385
22491
  _this.uploadMangmentService.gettingPropFromModal({
22386
- 'fileType': _this.source === 'fileManger' ? _this.fileType : {},
22387
- 'dynamicForm': _this.dialogMangmentService.storedDynamicForm,
22388
- 'dynamicData': {},
22389
- 'staticFormValid': _this.usingExtraFields ? false : true,
22390
- 'generalValidationValid': true,
22391
- 'usingExtraFields': _this.usingExtraFields,
22392
- 'path': _this.data.path
22492
+ fileType: _this.source === 'fileManger' ? _this.fileType : {},
22493
+ dynamicForm: _this.dialogMangmentService.storedDynamicForm,
22494
+ dynamicData: {},
22495
+ staticFormValid: _this.usingExtraFields ? false : true,
22496
+ generalValidationValid: true,
22497
+ usingExtraFields: _this.usingExtraFields,
22498
+ path: _this.data.path
22393
22499
  });
22394
22500
  });
22501
+ return _this;
22395
22502
  }
22396
22503
  CreateModalComponent.prototype.KeyUpEvent = function (event) {
22397
- if (this.addingProperties && this.uploadMangmentService.failedFiles.length === 0) {
22398
- if (this.uploadMangmentService.uploadedFilesStatus.uploadInProgress && !this.disableCreateWhenFinishBtn) {
22504
+ if (this.addingProperties &&
22505
+ this.uploadMangmentService.failedFiles.length === 0) {
22506
+ if (this.uploadMangmentService.uploadedFilesStatus.uploadInProgress &&
22507
+ !this.disableCreateWhenFinishBtn) {
22399
22508
  this.createWhenFinish();
22400
22509
  }
22401
22510
  else {
@@ -22405,17 +22514,16 @@
22405
22514
  };
22406
22515
  CreateModalComponent.prototype.ngOnInit = function () {
22407
22516
  var _this = this;
22408
- this.langSubscription = this.translationService.isArabic.subscribe(function (res) {
22409
- _this.isArabic = res;
22410
- });
22411
22517
  if (this.uploadMangmentService.uploadFinishSubscription) {
22412
22518
  this.uploadMangmentService.uploadFinishSubscription.unsubscribe();
22413
22519
  }
22414
- this.uploadMangmentService.uploadFinishSubscription = this.uploadMangmentService.onUploadFinish.subscribe(function (res) {
22415
- if (_this.createWhenFinishMode || _this.uploadMangmentService.failedFiles.length > 0) {
22416
- _this.createDocument();
22417
- }
22418
- });
22520
+ this.uploadMangmentService.uploadFinishSubscription =
22521
+ this.uploadMangmentService.onUploadFinish.subscribe(function (res) {
22522
+ if (_this.createWhenFinishMode ||
22523
+ _this.uploadMangmentService.failedFiles.length > 0) {
22524
+ _this.createDocument();
22525
+ }
22526
+ });
22419
22527
  };
22420
22528
  CreateModalComponent.prototype.initiatfileForm = function () {
22421
22529
  if (this.usingExtraFields) {
@@ -22441,44 +22549,16 @@
22441
22549
  description: ['']
22442
22550
  });
22443
22551
  }
22444
- this.staticFormFields = this.appConfService.myConfiguration.staticFormFields;
22552
+ this.staticFormFields =
22553
+ this.appConfService.myConfiguration.staticFormFields;
22445
22554
  };
22446
- CreateModalComponent.prototype.createWhenFinish = function () {
22447
- this.createWhenFinishMode = true;
22448
- this.minimizDialog();
22449
- };
22450
- CreateModalComponent.prototype.closeDialog = function () {
22555
+ CreateModalComponent.prototype.close = function () {
22451
22556
  this.uploadMangmentService.GeneralFormValidation = true;
22452
22557
  this.fileFormSubscription ? this.fileFormSubscription.unsubscribe() : '';
22453
22558
  this.addingProperties = false;
22454
22559
  this.uploadMangmentService.resetStatus();
22455
- this.dialogRef.close(false);
22456
- };
22457
- CreateModalComponent.prototype.startAddingProperties = function () {
22458
- var _this = this;
22459
- //if starting from filemnager then i have fixed file type for all attachmetn and single dynaimc form type
22460
- if (this.source === 'fileManger') {
22461
- // this.dynamicFormService.getDynamicForm(this.fileType).subscribe(res => {
22462
- this.uploadMangmentService.uploadedFilesStatus.uploadedFiles.map(function (file) {
22463
- file['fileType'] = _this.source === 'fileManger' ? _this.fileType : {};
22464
- file['dynamicForm'] = _this.dialogMangmentService.storedDynamicForm;
22465
- file['dynamicData'] = {};
22466
- file['staticFormValid'] = _this.usingExtraFields ? false : true;
22467
- file['staticData'] = _this.setStaticData(file.title ? file.title : file.name);
22468
- file['generalValidationValid'] = true;
22469
- });
22470
- this.uploadMangmentService.uploadedFilesStatus.allfiles.map(function (file) {
22471
- file['fileType'] = _this.source === 'fileManger' ? _this.fileType : {};
22472
- file['dynamicForm'] = _this.dialogMangmentService.storedDynamicForm;
22473
- file['dynamicData'] = {};
22474
- file['staticFormValid'] = _this.usingExtraFields ? false : true;
22475
- file['staticData'] = _this.setStaticData(file.title ? file.title : file.name);
22476
- file['generalValidationValid'] = true;
22477
- });
22478
- // })
22479
- }
22480
- this.addingProperties = true;
22481
- this.uploadMangmentService.addingPropertiesMode = true;
22560
+ _super.prototype.close.call(this);
22561
+ return rxjs.of(null);
22482
22562
  };
22483
22563
  CreateModalComponent.prototype.setStaticData = function (title) {
22484
22564
  if (this.usingExtraFields) {
@@ -22505,73 +22585,19 @@
22505
22585
  };
22506
22586
  }
22507
22587
  };
22508
- CreateModalComponent.prototype.createDocument = function () {
22509
- var _this = this;
22510
- var _a, _b;
22511
- this.creating = true;
22512
- this.uploadMangmentService.failedFiles = [];
22513
- this.uploadMangmentService.GeneralFormValidation = this.checkValidation();
22514
- if (this.uploadMangmentService.GeneralFormValidation) {
22515
- var apiCalls_1 = [];
22516
- if (((_a = this.data) === null || _a === void 0 ? void 0 : _a.path.includes('/default-domain/workspaces/DMSWorkspaces')) || ((_b = this.data) === null || _b === void 0 ? void 0 : _b.path.includes('/default-domain/UserWorkspaces/'))) {
22517
- this.constructPayLoadToWorkSpace(this.uploadMangmentService.uploadedFilesStatus.uploadedFiles);
22518
- this.payloadList.map(function (payload) {
22519
- apiCalls_1.push(_this.fileMangerService.createFile(payload, _this.fileManagerService.selectedFolderId, 'DMS.CreateDocumentFromBlob'));
22520
- });
22521
- }
22522
- else {
22523
- this.constructPayLoad(this.uploadMangmentService.uploadedFilesStatus.uploadedFiles);
22524
- this.payloadList.map(function (payload) {
22525
- apiCalls_1.push(_this.fileMangerService.createFile(payload, _this.fileManagerService.selectedFolderId));
22526
- });
22527
- }
22528
- rxjs.forkJoin(apiCalls_1).subscribe(function (response) {
22529
- //console.log(res);
22530
- _this.creating = false;
22531
- response.map(function (singleRes) {
22532
- if (singleRes['status'] && singleRes['status'] === 'failed') {
22533
- _this.uploadMangmentService.failedFiles.push(singleRes['originFile']);
22534
- }
22535
- });
22536
- if (_this.uploadMangmentService.failedFiles.length > 0) {
22537
- _this.tosterService.show('error', 'TOASTER.ERROR', 'TOASTER.UPLOAD_ERROR');
22538
- _this.uploadMangmentService.uploadedFilesStatus.uploadedFiles = [];
22539
- _this.selectedFile = null;
22540
- _this.uploadMangmentService.uploadedFilesStatus.allfiles = __spreadArray([], __read(_this.uploadMangmentService.failedFiles));
22541
- }
22542
- else {
22543
- _this.fileMangerService.onRefreshingFileManger.next();
22544
- _this.tosterService.show('success', 'TOASTER.SUCCESS', "TOASTER.FILE_CREATED_SUCCE");
22545
- _this.dialogRef.close(false);
22546
- _this.uploadMangmentService.resetStatus();
22547
- }
22548
- }, function (error) {
22549
- _this.creating = false;
22550
- // console.log(error);
22551
- // this.tosterService.show('error' , 'TOASTER.ERROR' , 'TOASTER.UPLOAD_ERROR');
22552
- // this.closeDialog();
22553
- });
22554
- }
22555
- else {
22556
- this.creating = false;
22557
- }
22558
- };
22559
22588
  CreateModalComponent.prototype.constructPayLoadToWorkSpace = function (files) {
22560
22589
  var _this = this;
22561
22590
  this.payloadList = [];
22562
22591
  files.map(function (file) {
22563
22592
  var param = {
22564
- "fileindex": 0,
22565
- "fileName": file.staticData.title,
22566
- "batchid": file.batch.blob['upload-batch'],
22567
- "description": _this.fileForm.controls.description.value
22593
+ fileindex: 0,
22594
+ fileName: file.staticData.title,
22595
+ batchid: file.batch.blob['upload-batch'],
22596
+ description: _this.fileForm.controls.description.value
22568
22597
  };
22569
22598
  _this.payloadList.push({ params: param, originFile: file });
22570
22599
  });
22571
22600
  };
22572
- CreateModalComponent.prototype.tryAgainCreateDocument = function () {
22573
- this.uploadMangmentService.uploadFilesMangment(this.uploadMangmentService.failedFiles);
22574
- };
22575
22601
  CreateModalComponent.prototype.constructPayLoad = function (files) {
22576
22602
  var _this = this;
22577
22603
  this.payloadList = [];
@@ -22579,18 +22605,18 @@
22579
22605
  var props = _this.dynamicFormService.constructDynamicFormPayload(file.dynamicData.data ? file.dynamicData.data : {}, file.dynamicForm);
22580
22606
  var staticFormData = _this.mappingStaticData(file.staticData);
22581
22607
  var param = {
22582
- "document": {
22583
- "type": file.fileType.type,
22584
- "name": file.staticData.title,
22585
- "properties": Object.assign(Object.assign(Object.assign({}, props), staticFormData), { "file:content": {
22586
- "upload-batch": file.batch.blob['upload-batch'],
22587
- "upload-fileId": file.batch.blob['upload-fileId'],
22588
- "mime-type": file.type
22608
+ document: {
22609
+ type: file.fileType.type,
22610
+ name: file.staticData.title,
22611
+ properties: Object.assign(Object.assign(Object.assign({}, props), staticFormData), { 'file:content': {
22612
+ 'upload-batch': file.batch.blob['upload-batch'],
22613
+ 'upload-fileId': file.batch.blob['upload-fileId'],
22614
+ 'mime-type': file.type
22589
22615
  } })
22590
22616
  }
22591
22617
  };
22592
22618
  if (file.fileType.documentCode) {
22593
- param["documentTypeCode"] = file.fileType.documentCode;
22619
+ param['documentTypeCode'] = file.fileType.documentCode;
22594
22620
  }
22595
22621
  _this.payloadList.push({ params: param, originFile: file });
22596
22622
  });
@@ -22599,13 +22625,14 @@
22599
22625
  if (data.gdocumentDate && data.gdocumentDate !== null) {
22600
22626
  moment__namespace.locale('en');
22601
22627
  data['hdocumentDate'] = this.dateHelperService.gregorianToHijri(data.gdocumentDate, 'iYYYY-iMM-iDD');
22602
- data.gdocumentDate = (moment__namespace(data.gdocumentDate).format("YYYY-MM-DDT00:00:00.000") + "Z");
22628
+ data.gdocumentDate =
22629
+ moment__namespace(data.gdocumentDate).format('YYYY-MM-DDT00:00:00.000') + 'Z';
22603
22630
  }
22604
22631
  return this.adapeter.adaptOut(data, this.staticFormFields);
22605
22632
  };
22606
22633
  CreateModalComponent.prototype.selectFile = function (file) {
22607
22634
  var _this = this;
22608
- console.log("file in select", file);
22635
+ console.log('file in select', file);
22609
22636
  this.showStaticForm = false;
22610
22637
  this.agencyNameFilter = undefined;
22611
22638
  this.countryNameFilter = undefined;
@@ -22617,8 +22644,13 @@
22617
22644
  this.showRenderer = false;
22618
22645
  // check if file has properties of adding properties or not then add it to him
22619
22646
  if (!file.hasOwnProperty('fileType')) {
22620
- this.dynamicFormService.getDynamicForm(this.fileType.documentCode ? this.fileType.documentCode : this.fileType.type).subscribe(function (res) {
22621
- file['fileType'] = _this.source === 'fileManger' ? _this.fileType : {};
22647
+ this.dynamicFormService
22648
+ .getDynamicForm(this.fileType.documentCode
22649
+ ? this.fileType.documentCode
22650
+ : this.fileType.type)
22651
+ .subscribe(function (res) {
22652
+ file['fileType'] =
22653
+ _this.source === 'fileManger' ? _this.fileType : {};
22622
22654
  file['dynamicForm'] = res;
22623
22655
  file['dynamicData'] = {};
22624
22656
  file['staticFormValid'] = _this.usingExtraFields ? false : true;
@@ -22630,7 +22662,8 @@
22630
22662
  }
22631
22663
  _this.fileForm.patchValue(_this.selectedFile['staticData']);
22632
22664
  _this.temporaryDyanmicData = {};
22633
- _this.temporaryDyanmicData = _this.selectedFile.dynamicData.data ? Object.assign({}, _this.selectedFile.dynamicData.data) : {};
22665
+ _this.temporaryDyanmicData = _this.selectedFile.dynamicData.data
22666
+ ? Object.assign({}, _this.selectedFile.dynamicData.data) : {};
22634
22667
  setTimeout(function () {
22635
22668
  _this.showRenderer = true;
22636
22669
  _this.showStaticForm = true;
@@ -22638,12 +22671,19 @@
22638
22671
  //console.log(file);
22639
22672
  if (!_this.fileFormSubscription) {
22640
22673
  setTimeout(function () {
22641
- _this.fileFormSubscription = _this.fileForm.valueChanges.subscribe(function (res) {
22642
- _this.selectedFile.staticFormValid = _this.fileForm ? _this.fileForm.valid : false;
22643
- _this.selectedFile.staticData = _this.fileForm ? _this.fileForm.value : {};
22644
- });
22674
+ _this.fileFormSubscription =
22675
+ _this.fileForm.valueChanges.subscribe(function (res) {
22676
+ _this.selectedFile.staticFormValid = _this.fileForm
22677
+ ? _this.fileForm.valid
22678
+ : false;
22679
+ _this.selectedFile.staticData = _this.fileForm
22680
+ ? _this.fileForm.value
22681
+ : {};
22682
+ });
22645
22683
  if (_this.fileForm.get('agencyCategoryCode')) {
22646
- _this.agencyCategCodeSubscription = _this.fileForm.get('agencyCategoryCode').valueChanges.subscribe(function (res) {
22684
+ _this.agencyCategCodeSubscription = _this.fileForm
22685
+ .get('agencyCategoryCode')
22686
+ .valueChanges.subscribe(function (res) {
22647
22687
  _this.fileForm.get('agencyName').setValue(null);
22648
22688
  _this.agencyNameFilter = {
22649
22689
  category: res
@@ -22651,7 +22691,9 @@
22651
22691
  });
22652
22692
  }
22653
22693
  if (_this.fileForm.get('countryCategoryCode')) {
22654
- _this.countryCategCodeSubscription = _this.fileForm.get('countryCategoryCode').valueChanges.subscribe(function (res) {
22694
+ _this.countryCategCodeSubscription = _this.fileForm
22695
+ .get('countryCategoryCode')
22696
+ .valueChanges.subscribe(function (res) {
22655
22697
  _this.fileForm.get('countryName').setValue(null);
22656
22698
  _this.countryNameFilter = {
22657
22699
  category: res
@@ -22679,7 +22721,9 @@
22679
22721
  };
22680
22722
  }
22681
22723
  this.temporaryDyanmicData = {};
22682
- this.temporaryDyanmicData = this.selectedFile.dynamicData.data ? this.selectedFile.dynamicData.data : {};
22724
+ this.temporaryDyanmicData = this.selectedFile.dynamicData.data
22725
+ ? this.selectedFile.dynamicData.data
22726
+ : {};
22683
22727
  setTimeout(function () {
22684
22728
  _this.showRenderer = true;
22685
22729
  _this.showStaticForm = true;
@@ -22687,11 +22731,17 @@
22687
22731
  if (!this.fileFormSubscription) {
22688
22732
  setTimeout(function () {
22689
22733
  _this.fileFormSubscription = _this.fileForm.valueChanges.subscribe(function (res) {
22690
- _this.selectedFile.staticFormValid = _this.fileForm ? _this.fileForm.valid : false;
22691
- _this.selectedFile.staticData = _this.fileForm ? _this.fileForm.value : {};
22734
+ _this.selectedFile.staticFormValid = _this.fileForm
22735
+ ? _this.fileForm.valid
22736
+ : false;
22737
+ _this.selectedFile.staticData = _this.fileForm
22738
+ ? _this.fileForm.value
22739
+ : {};
22692
22740
  });
22693
22741
  if (_this.fileForm.get('agencyCategoryCode')) {
22694
- _this.agencyCategCodeSubscription = _this.fileForm.get('agencyCategoryCode').valueChanges.subscribe(function (res) {
22742
+ _this.agencyCategCodeSubscription = _this.fileForm
22743
+ .get('agencyCategoryCode')
22744
+ .valueChanges.subscribe(function (res) {
22695
22745
  _this.fileForm.get('agencyName').setValue(null);
22696
22746
  _this.agencyNameFilter = {
22697
22747
  category: res
@@ -22699,7 +22749,9 @@
22699
22749
  });
22700
22750
  }
22701
22751
  if (_this.fileForm.get('countryCategoryCode')) {
22702
- _this.countryCategCodeSubscription = _this.fileForm.get('countryCategoryCode').valueChanges.subscribe(function (res) {
22752
+ _this.countryCategCodeSubscription = _this.fileForm
22753
+ .get('countryCategoryCode')
22754
+ .valueChanges.subscribe(function (res) {
22703
22755
  _this.fileForm.get('countryName').setValue(null);
22704
22756
  _this.countryNameFilter = {
22705
22757
  category: res
@@ -22721,9 +22773,6 @@
22721
22773
  this.selectedFile.dynamicData = Object.assign({}, dynamicData);
22722
22774
  }
22723
22775
  };
22724
- CreateModalComponent.prototype.minimizDialog = function () {
22725
- this.dialogRef.close(true);
22726
- };
22727
22776
  CreateModalComponent.prototype.removeItem = function (item, listofFiles) {
22728
22777
  var removeIndex = listofFiles.findIndex(function (file) { return file.name === item.name; });
22729
22778
  listofFiles.splice(removeIndex, 1);
@@ -22737,33 +22786,14 @@
22737
22786
  // this.selectedFile = null;
22738
22787
  }
22739
22788
  };
22740
- CreateModalComponent.prototype.ApplyChangesToAll = function () {
22741
- var _this = this;
22742
- this.uploadMangmentService.uploadedFilesStatus.uploadedFiles.map(function (file) {
22743
- var title = file['staticData'] ? file['staticData']['title'] : file.name;
22744
- file['fileType'] = _this.selectedFile.fileType;
22745
- file['dynamicForm'] = _this.selectedFile.dynamicForm;
22746
- file['dynamicData'] = _this.selectedFile.dynamicData;
22747
- file['staticFormValid'] = _this.selectedFile.staticFormValid;
22748
- file['staticData'] = Object.assign({}, _this.fileForm.value);
22749
- file['staticData']['title'] = title;
22750
- });
22751
- this.uploadMangmentService.uploadedFilesStatus.allfiles.map(function (file) {
22752
- var title = file['staticData'] ? file['staticData']['title'] : file.name;
22753
- file['fileType'] = _this.selectedFile.fileType;
22754
- file['dynamicForm'] = _this.selectedFile.dynamicForm;
22755
- file['dynamicData'] = _this.selectedFile.dynamicData;
22756
- file['staticFormValid'] = _this.selectedFile.staticFormValid;
22757
- file['staticData'] = Object.assign({}, _this.fileForm.value);
22758
- file['staticData']['title'] = title;
22759
- });
22760
- };
22761
22789
  CreateModalComponent.prototype.checkValidation = function () {
22762
22790
  var validation = true;
22763
- this.uploadMangmentService.uploadedFilesStatus.uploadedFiles.map(function (file) {
22791
+ this.uploadMangmentService.uploadedFilesStatus.uploadedFiles.forEach(function (file) {
22764
22792
  var _a, _b;
22765
- console.log("file", file);
22766
- if (!file.hasOwnProperty('fileType') || file['staticFormValid'] === false || ((_b = (_a = file.dynamicData) === null || _a === void 0 ? void 0 : _a.originalEvent) === null || _b === void 0 ? void 0 : _b.isValid) === false) {
22793
+ console.log('file', file);
22794
+ if (!file.hasOwnProperty('fileType') ||
22795
+ file['staticFormValid'] === false ||
22796
+ ((_b = (_a = file.dynamicData) === null || _a === void 0 ? void 0 : _a.originalEvent) === null || _b === void 0 ? void 0 : _b.isValid) === false) {
22767
22797
  file['generalValidationValid'] = false;
22768
22798
  validation = false;
22769
22799
  }
@@ -22773,7 +22803,8 @@
22773
22803
  });
22774
22804
  this.uploadMangmentService.uploadedFilesStatus.allfiles.map(function (file) {
22775
22805
  var _a, _b;
22776
- if (file['staticFormValid'] === false || ((_b = (_a = file.dynamicData) === null || _a === void 0 ? void 0 : _a.originalEvent) === null || _b === void 0 ? void 0 : _b.isValid) === false) {
22806
+ if (file['staticFormValid'] === false ||
22807
+ ((_b = (_a = file.dynamicData) === null || _a === void 0 ? void 0 : _a.originalEvent) === null || _b === void 0 ? void 0 : _b.isValid) === false) {
22777
22808
  file['generalValidationValid'] = false;
22778
22809
  validation = false;
22779
22810
  }
@@ -22785,14 +22816,17 @@
22785
22816
  };
22786
22817
  CreateModalComponent.prototype.ngOnDestroy = function () {
22787
22818
  this.fileFormSubscription ? this.fileFormSubscription.unsubscribe() : '';
22788
- this.langSubscription ? this.langSubscription.unsubscribe() : '';
22789
- this.countryCategCodeSubscription ? this.countryCategCodeSubscription.unsubscribe() : '';
22790
- this.agencyCategCodeSubscription ? this.agencyCategCodeSubscription.unsubscribe() : '';
22819
+ this.countryCategCodeSubscription
22820
+ ? this.countryCategCodeSubscription.unsubscribe()
22821
+ : '';
22822
+ this.agencyCategCodeSubscription
22823
+ ? this.agencyCategCodeSubscription.unsubscribe()
22824
+ : '';
22791
22825
  };
22792
22826
  return CreateModalComponent;
22793
- }());
22794
- CreateModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreateModalComponent, deps: [{ token: i1$4.MAT_DIALOG_DATA }, { token: i1__namespace$3.MatDialogRef }, { token: UploadManagmentService }, { token: DialogMangmentService }, { token: FileManagerService }, { token: CustomToastrService }, { token: i6__namespace.FormBuilder }, { token: AdapterService }, { token: FileManagerService }, { token: AppConfigService }, { token: DateHelperService }, { token: TranslationService }, { token: UserService }, { token: NuxeoService }, { token: 'environment' }, { token: DynamicFormService }], target: i0__namespace.ɵɵFactoryTarget.Component });
22795
- CreateModalComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreateModalComponent, selector: "app-create-modal", host: { listeners: { "document:keyup.enter": "KeyUpEvent($event)" } }, ngImport: i0__namespace, template: "<div class=\"relative w-full h-full\">\r\n <div class=\"iner-wrapper\" [ngClass]=\"{ 'd-flex': addingProperties }\">\r\n <div *ngIf=\"addingProperties\" class=\"properties-section p-3 overflow-x-hidden overflow-y-auto\">\r\n <div class=\"\" *ngIf=\"selectedFile && source === 'fileManger' && showStaticForm\">\r\n <div class=\"mb-5\">\r\n <div class=\"label-style\">\r\n {{ \"CREATE.FILE_TYPE\" | translate }}\r\n </div>\r\n <div class=\"text-base text-gray-900\">{{ isArabic ? fileType.arabicText : fileType.englishText }}\r\n </div>\r\n </div>\r\n <div class=\"file-fields mt-3\" SetRtl>\r\n <form [formGroup]=\"fileForm\">\r\n <!-- -----------------old static form ---------------------- -->\r\n <div>\r\n <div class=\"single-field mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"CREATE.TITLE\" | translate\r\n }}<span class=\"text-red-500\">*</span>\r\n </div>\r\n <input class=\"\r\n field-style\r\n \" formControlName=\"title\" placeholder=\" {{ 'CREATE.TITLE' | translate}}\" />\r\n </div>\r\n <div class=\"single-field mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"CREATE.DESCRIPTION\" | translate }}\r\n </div>\r\n <input class=\"field-style\" formControlName=\"description\"\r\n placeholder=\" {{ 'CREATE.DESCRIPTION' | translate}}\" />\r\n </div>\r\n </div>\r\n <!-- ---------------------------------- -->\r\n\r\n <!------------------ new statis form ---------------------------->\r\n <div *ngIf=\"usingExtraFields\">\r\n <app-dynamic-fields-renderer [form]=\"fileForm\" [agencyNameFilter]=\"agencyNameFilter\"\r\n [countryNameFilter]=\"countryNameFilter\"></app-dynamic-fields-renderer>\r\n </div>\r\n </form>\r\n\r\n <div class=\"dynamic-part\" *ngIf=\"showRenderer\">\r\n <app-dynamic-form [form]=\"selectedFile.dynamicForm\" [data]=\"temporaryDyanmicData\"\r\n (change)=\"ondynamicFormChange($event)\"></app-dynamic-form>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"\r\n w-full\r\n h-full\r\n p-3\r\n flex\r\n justify-center\r\n items-center\r\n text-lg text-gray-900\"\r\n *ngIf=\"!selectedFile\">\r\n {{ \"CREATE.SELECT_TOSTART_ADDING\" | translate }}\r\n </div>\r\n \r\n </div>\r\n <div class=\"attachment-tab-body overflow-hidden\" [ngClass]=\"{ 'attachment-iner-small-body': addingProperties }\">\r\n <app-attachments [multiple]=\"true\" (onSelectingItem)=\"selectFile($event)\"></app-attachments>\r\n </div>\r\n </div>\r\n <div class=\"w-full text-red-500 text-base text-start px-3\" *ngIf=\"!uploadMangmentService.GeneralFormValidation\">\r\n\r\n {{ \"CREATE.FILL_REQUIRED_FIELD\" | translate }}\r\n </div>\r\n <div class=\"actions-iner-wrapper w-full flex justify-between items-center absolute bottom-0\">\r\n <div class=\"flex\">\r\n <button *ngIf=\"\r\n (uploadMangmentService.uploadedFilesStatus\r\n .uploadInProgress ||\r\n uploadMangmentService.uploadedFilesStatus.uploadedFiles\r\n .length > 0) &&\r\n !addingProperties\r\n \" (click)=\"startAddingProperties()\" class=\"submission-button\">\r\n {{ \"BUTTONS.ADD_PROPERTIES\" | translate }}\r\n </button>\r\n <button *ngIf=\"\r\n addingProperties &&\r\n uploadMangmentService.uploadedFilesStatus.uploadedFiles\r\n .length +\r\n uploadMangmentService.uploadedFilesStatus.allfiles\r\n .length >\r\n 1\r\n \" (click)=\"ApplyChangesToAll()\" [disabled]=\"!selectedFile || !selectedFile.staticFormValid\" [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed':\r\n !selectedFile || !selectedFile.staticFormValid,\r\n 'cursor-pointer hover:text-white hover:bg-gray-900': !(\r\n !selectedFile || !selectedFile.staticFormValid\r\n )\r\n }\" class=\"submission-button mx-2\">\r\n {{ \"BUTTONS.APPLY_TO_ALL\" | translate }}\r\n </button>\r\n\r\n <ng-container *ngIf=\"\r\n addingProperties &&\r\n !uploadMangmentService.uploadedFilesStatus.uploadInProgress &&\r\n uploadMangmentService.failedFiles.length === 0\r\n \">\r\n <button (click)=\"createDocument()\" class=\"submission-button relative\" [disabled]=\"creating\">\r\n <span *ngIf=\"!creating; else loader\">{{ \"BUTTONS.CREATE\" | translate }}</span>\r\n </button>\r\n <ng-template #loader>\r\n <mat-spinner [value]=\"90\" [strokeWidth]=\"3\" overlay=\"true\" [diameter]=\"25\" color=\"warn\">\r\n </mat-spinner>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <button *ngIf=\"\r\n addingProperties &&\r\n !uploadMangmentService.uploadedFilesStatus.uploadInProgress &&\r\n uploadMangmentService.failedFiles.length > 0\r\n \" (click)=\"tryAgainCreateDocument()\" class=\"submission-button\">\r\n {{ \"BUTTONS.TRY_AGAIN\" | translate }}\r\n </button>\r\n\r\n <button [disabled]=\"!fileForm?.valid || disableCreateWhenFinishBtn\" *ngIf=\"\r\n addingProperties &&\r\n uploadMangmentService.uploadedFilesStatus.uploadInProgress\r\n \" (click)=\"createWhenFinish()\" class=\"submission-button w-44\">\r\n {{ \"BUTTONS.CREATE_WHEN_FINSH\" | translate }}\r\n </button>\r\n </div>\r\n <div class=\"flex\">\r\n <button class=\"cancelation-button mx-2\" (click)=\"minimizDialog()\" *ngIf=\"\r\n uploadMangmentService.uploadedFilesStatus\r\n .uploadInProgress ||\r\n uploadMangmentService.uploadedFilesStatus\r\n .numberOfUploadedFiles !== 0 ||\r\n addingProperties\r\n \">\r\n {{ \"BUTTONS.MINIMIZED\" | translate }}\r\n </button>\r\n <button class=\"cancelation-button\" (click)=\"closeDialog()\">\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>", styles: [".dynamic-part{margin-left:-15px;margin-right:-15px}.iner-wrapper{height:calc(100% - 70px)}.iner-wrapper .properties-section{width:calc(100% - 270px);height:calc(100% - 15px)}.iner-wrapper .attachment-tab-body{height:calc(100% - -20px);overflow-y:auto;overflow-x:hidden}.iner-wrapper .attachment-iner-small-body{width:350px}.rtl .actions-iner-wrapper{direction:ltr}.actions-iner-wrapper{direction:rtl}\n"], components: [{ type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: ["form", "agencyNameFilter", "countryNameFilter", "mode", "fields"] }, { type: DynamicFormComponent, selector: "app-dynamic-form", inputs: ["form", "data", "readOnly"], outputs: ["change"] }, { type: AttachmentsComponent, selector: "app-attachments", inputs: ["allowedTypes", "params", "path", "maxSize", "docParams", "multiple", "createDocument", "allowedMaxNumberOfFiles", "source"], outputs: ["uploadSuccess", "uploadError", "onSelectingItem", "itemRemoved"] }, { type: i8__namespace.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SetRtlDirective, selector: "[SetRtl]" }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
22827
+ }(BaseDialogComponent));
22828
+ CreateModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreateModalComponent, deps: [{ token: i1$4.MAT_DIALOG_DATA }, { token: UploadManagmentService }, { token: DialogMangmentService }, { token: FileManagerService }, { token: CustomToastrService }, { token: i6__namespace.FormBuilder }, { token: AdapterService }, { token: FileManagerService }, { token: AppConfigService }, { token: DateHelperService }, { token: UserService }, { token: 'environment' }, { token: i0__namespace.Injector }, { token: DynamicFormService }], target: i0__namespace.ɵɵFactoryTarget.Component });
22829
+ CreateModalComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreateModalComponent, selector: "app-create-modal", host: { listeners: { "document:keyup.enter": "KeyUpEvent($event)" } }, usesInheritance: true, ngImport: i0__namespace, template: "<ndf-nuxeo-dialog dialogTitle=\"{{ 'CREATE.createFile' | translate }}\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<div class=\"relative w-full h-full\">\r\n\t\t\t<div class=\"iner-wrapper\" [ngClass]=\"{ 'd-flex': addingProperties }\">\r\n\t\t\t\t<div\r\n\t\t\t\t\t*ngIf=\"addingProperties\"\r\n\t\t\t\t\tclass=\"properties-section p-3 overflow-x-hidden overflow-y-auto\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tclass=\"\"\r\n\t\t\t\t\t\t*ngIf=\"selectedFile && source === 'fileManger' && showStaticForm\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<div class=\"mb-5\">\r\n\t\t\t\t\t\t\t<div class=\"label-style\">\r\n\t\t\t\t\t\t\t\t{{ 'CREATE.FILE_TYPE' | translate }}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"text-base text-gray-900\">\r\n\t\t\t\t\t\t\t\t{{ isArabic ? fileType.arabicText : fileType.englishText }}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"file-fields mt-3\" SetRtl>\r\n\t\t\t\t\t\t\t<form [formGroup]=\"fileForm\">\r\n\t\t\t\t\t\t\t\t<!-- -----------------old static form ---------------------- -->\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<div class=\"single-field mb-3\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"label-style\">\r\n\t\t\t\t\t\t\t\t\t\t\t{{ 'CREATE.TITLE' | translate\r\n\t\t\t\t\t\t\t\t\t\t\t}}<span class=\"text-red-500\">*</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"field-style\"\r\n\t\t\t\t\t\t\t\t\t\t\tformControlName=\"title\"\r\n\t\t\t\t\t\t\t\t\t\t\tplaceholder=\" {{ 'CREATE.TITLE' | translate }}\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div class=\"single-field mb-3\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"label-style\">\r\n\t\t\t\t\t\t\t\t\t\t\t{{ 'CREATE.DESCRIPTION' | translate }}\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"field-style\"\r\n\t\t\t\t\t\t\t\t\t\t\tformControlName=\"description\"\r\n\t\t\t\t\t\t\t\t\t\t\tplaceholder=\" {{ 'CREATE.DESCRIPTION' | translate }}\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<!-- ---------------------------------- -->\r\n\r\n\t\t\t\t\t\t\t\t<!------------------ new statis form ---------------------------->\r\n\t\t\t\t\t\t\t\t<div *ngIf=\"usingExtraFields\">\r\n\t\t\t\t\t\t\t\t\t<app-dynamic-fields-renderer\r\n\t\t\t\t\t\t\t\t\t\t[form]=\"fileForm\"\r\n\t\t\t\t\t\t\t\t\t\t[agencyNameFilter]=\"agencyNameFilter\"\r\n\t\t\t\t\t\t\t\t\t\t[countryNameFilter]=\"countryNameFilter\"\r\n\t\t\t\t\t\t\t\t\t></app-dynamic-fields-renderer>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</form>\r\n\r\n\t\t\t\t\t\t\t<div class=\"dynamic-part\" *ngIf=\"showRenderer\">\r\n\t\t\t\t\t\t\t\t<app-dynamic-form\r\n\t\t\t\t\t\t\t\t\t[form]=\"selectedFile.dynamicForm\"\r\n\t\t\t\t\t\t\t\t\t[data]=\"temporaryDyanmicData\"\r\n\t\t\t\t\t\t\t\t\t(change)=\"ondynamicFormChange($event)\"\r\n\t\t\t\t\t\t\t\t></app-dynamic-form>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tclass=\"w-full h-full p-3 flex justify-center items-center text-lg text-gray-900\"\r\n\t\t\t\t\t\t*ngIf=\"!selectedFile\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ 'CREATE.SELECT_TOSTART_ADDING' | translate }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"attachment-tab-body overflow-hidden\"\r\n\t\t\t\t\t[ngClass]=\"{ 'attachment-iner-small-body': addingProperties }\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<app-attachments\r\n\t\t\t\t\t\t[multiple]=\"true\"\r\n\t\t\t\t\t\t(onSelectingItem)=\"selectFile($event)\"\r\n\t\t\t\t\t></app-attachments>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"w-full text-red-500 text-base text-start px-3\"\r\n\t\t\t\t*ngIf=\"!uploadMangmentService.GeneralFormValidation\"\r\n\t\t\t>\r\n\t\t\t\t{{ 'CREATE.FILL_REQUIRED_FIELD' | translate }}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<!-- WAS_IN_FLEX_DIV -->\r\n\t\t<button\r\n\t\t\t*ngIf=\"\r\n\t\t\t\t(uploadMangmentService.uploadedFilesStatus.uploadInProgress ||\r\n\t\t\t\t\tuploadMangmentService.uploadedFilesStatus.uploadedFiles.length > 0) &&\r\n\t\t\t\t!addingProperties\r\n\t\t\t\"\r\n\t\t\t(click)=\"dialog.executeAction(startAddingProperties)\"\r\n\t\t\tclass=\"submission-button\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.ADD_PROPERTIES' | translate }}\r\n\t\t</button>\r\n\t\t<button\r\n\t\t\t*ngIf=\"\r\n\t\t\t\taddingProperties &&\r\n\t\t\t\tuploadMangmentService.uploadedFilesStatus.uploadedFiles.length +\r\n\t\t\t\t\tuploadMangmentService.uploadedFilesStatus.allfiles.length >\r\n\t\t\t\t\t1\r\n\t\t\t\"\r\n\t\t\t(click)=\"dialog.executeAction(ApplyChangesToAll)\"\r\n\t\t\t[disabled]=\"!selectedFile || !selectedFile.staticFormValid\"\r\n\t\t\t[ngClass]=\"{\r\n\t\t\t\t'opacity-30 cursor-not-allowed':\r\n\t\t\t\t\t!selectedFile || !selectedFile.staticFormValid,\r\n\t\t\t\t'cursor-pointer hover:text-white hover:bg-gray-900': !(\r\n\t\t\t\t\t!selectedFile || !selectedFile.staticFormValid\r\n\t\t\t\t)\r\n\t\t\t}\"\r\n\t\t\tclass=\"submission-button mx-2\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.APPLY_TO_ALL' | translate }}\r\n\t\t</button>\r\n\t\t<!-- WAS_IN_FLEX_DIV -->\r\n\r\n\t\t<ng-container\r\n\t\t\t*ngIf=\"\r\n\t\t\t\taddingProperties &&\r\n\t\t\t\t!uploadMangmentService.uploadedFilesStatus.uploadInProgress &&\r\n\t\t\t\tuploadMangmentService.failedFiles.length === 0\r\n\t\t\t\"\r\n\t\t>\r\n\t\t\t<button\r\n\t\t\t\t(click)=\"dialog.executeAction(createDocument)\"\r\n\t\t\t\tclass=\"submission-button relative\"\r\n\t\t\t\t[disabled]=\"creating\"\r\n\t\t\t>\r\n\t\t\t\t<span *ngIf=\"!creating; else loader\">{{\r\n\t\t\t\t\t'BUTTONS.CREATE' | translate\r\n\t\t\t\t}}</span>\r\n\t\t\t</button>\r\n\t\t\t<ng-template #loader>\r\n\t\t\t\t<mat-spinner\r\n\t\t\t\t\t[value]=\"90\"\r\n\t\t\t\t\t[strokeWidth]=\"3\"\r\n\t\t\t\t\toverlay=\"true\"\r\n\t\t\t\t\t[diameter]=\"25\"\r\n\t\t\t\t\tcolor=\"warn\"\r\n\t\t\t\t>\r\n\t\t\t\t</mat-spinner>\r\n\t\t\t</ng-template>\r\n\t\t</ng-container>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"\r\n\t\t\t\taddingProperties &&\r\n\t\t\t\t!uploadMangmentService.uploadedFilesStatus.uploadInProgress &&\r\n\t\t\t\tuploadMangmentService.failedFiles.length > 0\r\n\t\t\t\"\r\n\t\t\t(click)=\"dialog.executeAction(tryAgainCreateDocument)\"\r\n\t\t\tclass=\"submission-button\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.TRY_AGAIN' | translate }}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t[disabled]=\"!fileForm?.valid || disableCreateWhenFinishBtn\"\r\n\t\t\t*ngIf=\"\r\n\t\t\t\taddingProperties &&\r\n\t\t\t\tuploadMangmentService.uploadedFilesStatus.uploadInProgress\r\n\t\t\t\"\r\n\t\t\t(click)=\"dialog.executeAction(createWhenFinish)\"\r\n\t\t\tclass=\"submission-button w-44\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.CREATE_WHEN_FINSH' | translate }}\r\n\t\t</button>\r\n\r\n\t\t<!-- WAS_IN_FLEX_DIV -->\r\n\t\t<button\r\n\t\t\tclass=\"cancelation-button mx-2\"\r\n\t\t\t(click)=\"dialog.executeAction(minimizDialog)\"\r\n\t\t\t*ngIf=\"\r\n\t\t\t\tuploadMangmentService.uploadedFilesStatus.uploadInProgress ||\r\n\t\t\t\tuploadMangmentService.uploadedFilesStatus.numberOfUploadedFiles !== 0 ||\r\n\t\t\t\taddingProperties\r\n\t\t\t\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.MINIMIZED' | translate }}\r\n\t\t</button>\r\n\t\t<!-- <button class=\"cancelation-button\" (click)=\" dialog.executeAction(closeDialog)\">\r\n{{ 'BUTTONS.CANCEL' | translate }}\r\n</button> -->\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [".dynamic-part{margin-left:-15px;margin-right:-15px}.iner-wrapper{height:calc(100% - 70px)}.iner-wrapper .properties-section{width:calc(100% - 270px);height:calc(100% - 15px)}.iner-wrapper .attachment-tab-body{height:calc(100% - -20px);overflow-y:auto;overflow-x:hidden}.iner-wrapper .attachment-iner-small-body{width:350px}.rtl .actions-iner-wrapper{direction:ltr}.actions-iner-wrapper{direction:rtl}:host{height:100%;display:block}\n"], components: [{ type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "loaderMode"] }, { type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: ["form", "agencyNameFilter", "countryNameFilter", "mode", "fields"] }, { type: DynamicFormComponent, selector: "app-dynamic-form", inputs: ["form", "data", "readOnly"], outputs: ["change"] }, { type: AttachmentsComponent, selector: "app-attachments", inputs: ["allowedTypes", "params", "path", "maxSize", "docParams", "multiple", "createDocument", "allowedMaxNumberOfFiles", "source"], outputs: ["uploadSuccess", "uploadError", "onSelectingItem", "itemRemoved"] }, { type: i8__namespace.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SetRtlDirective, selector: "[SetRtl]" }, { type: i6__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
22796
22830
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreateModalComponent, decorators: [{
22797
22831
  type: i0.Component,
22798
22832
  args: [{
@@ -22804,10 +22838,10 @@
22804
22838
  return [{ type: undefined, decorators: [{
22805
22839
  type: i0.Inject,
22806
22840
  args: [i1$4.MAT_DIALOG_DATA]
22807
- }] }, { type: i1__namespace$3.MatDialogRef }, { type: UploadManagmentService }, { type: DialogMangmentService }, { type: FileManagerService }, { type: CustomToastrService }, { type: i6__namespace.FormBuilder }, { type: AdapterService }, { type: FileManagerService }, { type: AppConfigService }, { type: DateHelperService }, { type: TranslationService }, { type: UserService }, { type: NuxeoService }, { type: undefined, decorators: [{
22841
+ }] }, { type: UploadManagmentService }, { type: DialogMangmentService }, { type: FileManagerService }, { type: CustomToastrService }, { type: i6__namespace.FormBuilder }, { type: AdapterService }, { type: FileManagerService }, { type: AppConfigService }, { type: DateHelperService }, { type: UserService }, { type: undefined, decorators: [{
22808
22842
  type: i0.Inject,
22809
22843
  args: ['environment']
22810
- }] }, { type: DynamicFormService }];
22844
+ }] }, { type: i0__namespace.Injector }, { type: DynamicFormService }];
22811
22845
  }, propDecorators: { KeyUpEvent: [{
22812
22846
  type: i0.HostListener,
22813
22847
  args: ['document:keyup.enter', ['$event']]
@@ -28504,7 +28538,8 @@
28504
28538
  i6.FormsModule,
28505
28539
  DisplaySuitableIconModule,
28506
28540
  i4$3.MatProgressBarModule,
28507
- i7$1.MatCheckboxModule], exports: [SidepanelComponent,
28541
+ i7$1.MatCheckboxModule,
28542
+ NuxeoDialogModule], exports: [SidepanelComponent,
28508
28543
  CopyComponent,
28509
28544
  DeleteComponent,
28510
28545
  MoveComponent,
@@ -28574,7 +28609,8 @@
28574
28609
  i6.FormsModule,
28575
28610
  DisplaySuitableIconModule,
28576
28611
  i4$3.MatProgressBarModule,
28577
- i7$1.MatCheckboxModule
28612
+ i7$1.MatCheckboxModule,
28613
+ NuxeoDialogModule
28578
28614
  ], i3$3.DxPopupModule,
28579
28615
  i3$3.DxScrollViewModule,
28580
28616
  i4$4.DxiToolbarItemModule,
@@ -28605,7 +28641,7 @@
28605
28641
  TemplateModalComponent,
28606
28642
  UpdateModalComponent,
28607
28643
  ClipboardComponent,
28608
- FileGridInfiniteScrollDirective,
28644
+ FileGridInfiniteScrollDirective
28609
28645
  ],
28610
28646
  imports: [
28611
28647
  i4.CommonModule,
@@ -28650,7 +28686,8 @@
28650
28686
  i6.FormsModule,
28651
28687
  DisplaySuitableIconModule,
28652
28688
  i4$3.MatProgressBarModule,
28653
- i7$1.MatCheckboxModule
28689
+ i7$1.MatCheckboxModule,
28690
+ NuxeoDialogModule
28654
28691
  ],
28655
28692
  exports: [
28656
28693
  SidepanelComponent,
@@ -28679,7 +28716,7 @@
28679
28716
  i3$3.DxFormModule,
28680
28717
  i3$3.DxTreeViewModule,
28681
28718
  ClipboardComponent,
28682
- FileGridInfiniteScrollDirective,
28719
+ FileGridInfiniteScrollDirective
28683
28720
  ]
28684
28721
  }]
28685
28722
  }] });
@@ -30252,6 +30289,7 @@
30252
30289
  start: 'start',
30253
30290
  content: 'content',
30254
30291
  template: 'template',
30292
+ gateway: 'gateway',
30255
30293
  end: 'end',
30256
30294
  };
30257
30295
 
@@ -30263,6 +30301,7 @@
30263
30301
  var NODE_WIDTH = 150;
30264
30302
  var NODE_HEIGHT = 118;
30265
30303
  var NODE_CIRCLE_SIZE = 72;
30304
+ var NODE_GATEWAY_SIZE = 60;
30266
30305
  var DIAGRAM_HEIGHT = 600;
30267
30306
  var SOCKET_WIDTH = 8;
30268
30307
 
@@ -30273,6 +30312,9 @@
30273
30312
  inProgress: 'inProgress',
30274
30313
  upcoming: 'upcoming',
30275
30314
  approved: 'approved',
30315
+ suspended: 'suspended',
30316
+ ready: 'ready',
30317
+ canceled: 'canceled'
30276
30318
  };
30277
30319
 
30278
30320
  var DiagramPluginsService = /** @class */ (function () {
@@ -30305,7 +30347,7 @@
30305
30347
  _this.height = NODE_HEIGHT;
30306
30348
  _this.directions = {
30307
30349
  inputs: IN_OUT_DIRECTION.start,
30308
- outputs: IN_OUT_DIRECTION.end,
30350
+ outputs: IN_OUT_DIRECTION.end
30309
30351
  };
30310
30352
  _this.name = config === null || config === void 0 ? void 0 : config.name;
30311
30353
  _this.directions = (config === null || config === void 0 ? void 0 : config.directions) || _this.directions;
@@ -30317,6 +30359,7 @@
30317
30359
  _this.content = config === null || config === void 0 ? void 0 : config.content;
30318
30360
  _this.config = config === null || config === void 0 ? void 0 : config.config;
30319
30361
  _this.styleClass = config === null || config === void 0 ? void 0 : config.styleClass;
30362
+ _this.options = config === null || config === void 0 ? void 0 : config.options;
30320
30363
  return _this;
30321
30364
  }
30322
30365
  return BaseNodeClass;
@@ -30333,123 +30376,406 @@
30333
30376
  return CircleNode;
30334
30377
  }(BaseNodeClass));
30335
30378
 
30336
- var Connection = /** @class */ (function (_super) {
30337
- __extends(Connection, _super);
30338
- function Connection() {
30339
- var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
30340
- _this.renderType = 'default';
30341
- return _this;
30342
- }
30343
- return Connection;
30344
- }(rete.ClassicPreset.Connection));
30345
-
30346
- var ContentNode = /** @class */ (function (_super) {
30347
- __extends(ContentNode, _super);
30348
- function ContentNode(config) {
30349
- return _super.call(this, config) || this;
30350
- }
30351
- return ContentNode;
30352
- }(BaseNodeClass));
30353
-
30354
- var Socket = /** @class */ (function (_super) {
30355
- __extends(Socket, _super);
30356
- function Socket(name, renderType) {
30357
- if (renderType === void 0) { renderType = 'default'; }
30358
- var _this = _super.call(this, name) || this;
30359
- _this.renderType = renderType;
30360
- return _this;
30379
+ var DiagramUtils = /** @class */ (function () {
30380
+ function DiagramUtils() {
30361
30381
  }
30362
- return Socket;
30363
- }(rete.ClassicPreset.Socket));
30382
+ DiagramUtils.createInputId = function (id, type) {
30383
+ if (type === void 0) { type = 'primary'; }
30384
+ return id + "-" + type + "-input";
30385
+ };
30386
+ DiagramUtils.createOutputId = function (id, type) {
30387
+ if (type === void 0) { type = 'primary'; }
30388
+ return id + "-" + type + "-output";
30389
+ };
30390
+ DiagramUtils.createInputClass = function (type) {
30391
+ if (type === void 0) { type = 'primary'; }
30392
+ return "input-" + type + "-port";
30393
+ };
30394
+ DiagramUtils.createOutputClass = function (type) {
30395
+ if (type === void 0) { type = 'primary'; }
30396
+ return "output-" + type + "-port";
30397
+ };
30398
+ DiagramUtils.createOutputsConfig = function (id, types) {
30399
+ return types.map(function (type) {
30400
+ return {
30401
+ id: DiagramUtils.createOutputId(id, type),
30402
+ config: {
30403
+ styleClass: DiagramUtils.createOutputClass(type)
30404
+ }
30405
+ };
30406
+ });
30407
+ };
30408
+ DiagramUtils.createInputsConfig = function (id, types) {
30409
+ return types.map(function (type) {
30410
+ return {
30411
+ id: DiagramUtils.createInputId(id, type),
30412
+ config: {
30413
+ styleClass: DiagramUtils.createInputClass(type)
30414
+ }
30415
+ };
30416
+ });
30417
+ };
30418
+ return DiagramUtils;
30419
+ }());
30364
30420
 
30365
- var TemplateNode = /** @class */ (function (_super) {
30366
- __extends(TemplateNode, _super);
30367
- function TemplateNode(config) {
30368
- var _this = _super.call(this, config) || this;
30369
- _this.type = NODE_TYPE.template;
30370
- if (config.template) {
30371
- _this.template = config.template;
30372
- }
30373
- return _this;
30374
- }
30375
- return TemplateNode;
30376
- }(BaseNodeClass));
30421
+ function getRandomNumber(x, y, step, min, max) {
30422
+ if (step === void 0) { step = 1; }
30423
+ if (min === void 0) { min = 0; }
30424
+ if (max === void 0) { max = 1000; }
30425
+ // Create a deterministic seed based on x and y
30426
+ var seed = Math.abs(x * 31 + y * 17) % 100000;
30427
+ // Generate a pseudo-random number based on the seed
30428
+ var seededRandom = ((seed * 9301 + 49297) % 233280) / 233280;
30429
+ // Calculate range
30430
+ var range = Math.floor((max - min) / step) + 1;
30431
+ // Return the adjusted number
30432
+ return min + Math.floor(seededRandom * range) * step;
30433
+ }
30377
30434
 
30378
30435
  /**
30379
30436
  *
30380
- * @param config
30437
+ * @param node
30381
30438
  * @returns
30382
30439
  */
30383
- var customizeSocket = function (config) { return function (data) {
30384
- var payload = data.payload;
30385
- if (payload.renderType === 'custom' || config.socketType === 'custom') {
30386
- return CustomSocketComponent;
30387
- }
30388
- return i2$8.SocketComponent;
30389
- }; };
30440
+ var removeNode = function (data, editor) { return __awaiter(void 0, void 0, void 0, function () {
30441
+ var nodes, node, nodeConfig, _a;
30442
+ return __generator(this, function (_b) {
30443
+ switch (_b.label) {
30444
+ case 0:
30445
+ if (!data || !editor) {
30446
+ console.log('Node not found.');
30447
+ return [2 /*return*/];
30448
+ }
30449
+ nodes = editor.getNodes();
30450
+ node = editor.getNode(data.nodeId);
30451
+ if (!node) {
30452
+ console.log('Node not found.');
30453
+ return [2 /*return*/];
30454
+ }
30455
+ if (node.type === NODE_TYPE.start && nodes.length > 1) {
30456
+ return [2 /*return*/];
30457
+ }
30458
+ nodeConfig = node.config;
30459
+ if (!(nodeConfig === null || nodeConfig === void 0 ? void 0 : nodeConfig.isLinked)) return [3 /*break*/, 2];
30460
+ return [4 /*yield*/, removeNodeAndReplaceConnections(node, editor)];
30461
+ case 1:
30462
+ _a = _b.sent();
30463
+ return [3 /*break*/, 4];
30464
+ case 2: return [4 /*yield*/, removeNodeAndConnections(node, editor)];
30465
+ case 3:
30466
+ _a = _b.sent();
30467
+ _b.label = 4;
30468
+ case 4: return [2 /*return*/, _a];
30469
+ }
30470
+ });
30471
+ }); };
30390
30472
  /**
30391
30473
  *
30392
- * @param config
30474
+ * @param node
30393
30475
  * @param editor
30394
- * @returns
30395
30476
  */
30396
- var customizeNode = function (config, editor) { return function (data) {
30397
- var _a;
30398
- var node = data.payload;
30399
- (_a = node.config) !== null && _a !== void 0 ? _a : (node.config = config['node']);
30400
- return initAngularComponentByType(node.type);
30401
- }; };
30477
+ var removeNodeAndConnections = function (node, editor) { return __awaiter(void 0, void 0, void 0, function () {
30478
+ return __generator(this, function (_a) {
30479
+ switch (_a.label) {
30480
+ case 0:
30481
+ removeConnections(node, editor);
30482
+ return [4 /*yield*/, editor.removeNode(node.id)];
30483
+ case 1:
30484
+ _a.sent();
30485
+ return [2 /*return*/];
30486
+ }
30487
+ });
30488
+ }); };
30402
30489
  /**
30403
30490
  *
30404
- * @param config
30405
- * @returns
30491
+ * @param node
30492
+ * @param editor
30406
30493
  */
30407
- var customizeConnection = function (config) { return function (data) {
30408
- var payload = data.payload;
30409
- if (payload.renderType === 'custom' || config.connectionType == 'custom') {
30494
+ var removeNodeAndReplaceConnections = function (node, editor) { return __awaiter(void 0, void 0, void 0, function () {
30495
+ var outputs, inputs;
30496
+ return __generator(this, function (_a) {
30497
+ switch (_a.label) {
30498
+ case 0:
30499
+ outputs = getConnections(editor, function (connection) { return connection.source == node.id; });
30500
+ inputs = getConnections(editor, function (connection) { return connection.target == node.id; });
30501
+ if (!(!!inputs.length && !!outputs.length)) return [3 /*break*/, 2];
30502
+ return [4 /*yield*/, _updateConnections(outputs, inputs, editor)];
30503
+ case 1:
30504
+ _a.sent();
30505
+ return [3 /*break*/, 3];
30506
+ case 2:
30507
+ removeConnections(node, editor);
30508
+ _a.label = 3;
30509
+ case 3: return [4 /*yield*/, editor.removeNode(node.id)];
30510
+ case 4:
30511
+ _a.sent();
30512
+ return [2 /*return*/];
30513
+ }
30514
+ });
30515
+ }); };
30516
+ /**
30517
+ *
30518
+ * @param node
30519
+ * @param editor
30520
+ */
30521
+ var removeConnections = function (node, editor) {
30522
+ var connections = getConnections(editor, function (connection) { return connection.source === node.id || connection.target === node.id; });
30523
+ if (connections.length) {
30524
+ connections.forEach(function (connection) {
30525
+ editor.removeConnection(connection.id);
30526
+ });
30527
+ }
30528
+ };
30529
+ /**
30530
+ *
30531
+ * @param editor
30532
+ * @param predicate
30533
+ * @returns
30534
+ */
30535
+ var getConnections = function (editor, predicate) {
30536
+ return editor.getConnections().filter(predicate);
30537
+ };
30538
+ /**
30539
+ *
30540
+ * @param outputs
30541
+ * @param inputs
30542
+ * @param editor
30543
+ */
30544
+ var _updateConnections = function (outputs, inputs, editor) { return __awaiter(void 0, void 0, void 0, function () {
30545
+ var source, target, sourceNode, targetNode, connection;
30546
+ return __generator(this, function (_a) {
30547
+ switch (_a.label) {
30548
+ case 0:
30549
+ source = inputs[0].source;
30550
+ target = outputs[0].target;
30551
+ sourceNode = editor.getNode(source);
30552
+ targetNode = editor.getNode(target);
30553
+ __spreadArray(__spreadArray([], __read(outputs)), __read(inputs)).forEach(function (connection) { return __awaiter(void 0, void 0, void 0, function () {
30554
+ return __generator(this, function (_a) {
30555
+ switch (_a.label) {
30556
+ case 0: return [4 /*yield*/, editor.removeConnection(connection.id)];
30557
+ case 1:
30558
+ _a.sent();
30559
+ return [2 /*return*/];
30560
+ }
30561
+ });
30562
+ }); });
30563
+ if (!sourceNode || !targetNode) {
30564
+ return [2 /*return*/];
30565
+ }
30566
+ connection = new Connection(sourceNode, targetNode);
30567
+ return [4 /*yield*/, editor.addConnection(connection)];
30568
+ case 1:
30569
+ _a.sent();
30570
+ return [2 /*return*/];
30571
+ }
30572
+ });
30573
+ }); };
30574
+
30575
+ function serializePort(port) {
30576
+ return {
30577
+ id: port.id,
30578
+ label: port.label,
30579
+ socket: {
30580
+ name: port.socket.name,
30581
+ },
30582
+ };
30583
+ }
30584
+ function serializeControl(control) {
30585
+ if (control instanceof rete.ClassicPreset.InputControl) {
30586
+ return {
30587
+ __type: 'ClassicPreset.InputControl',
30588
+ id: control.id,
30589
+ readonly: control.readonly,
30590
+ type: control.type,
30591
+ value: control.value,
30592
+ };
30593
+ }
30594
+ return null;
30595
+ }
30596
+
30597
+ var Connection = /** @class */ (function (_super) {
30598
+ __extends(Connection, _super);
30599
+ function Connection(source, target, config) {
30600
+ var _this = _super.call(this, source, (config === null || config === void 0 ? void 0 : config.sourceOutput) || DiagramUtils.createOutputId(source.id), target, (config === null || config === void 0 ? void 0 : config.targetInput) || DiagramUtils.createInputId(target.id)) || this;
30601
+ _this.status = (config === null || config === void 0 ? void 0 : config.status) || target.status;
30602
+ _this.styleClass = config === null || config === void 0 ? void 0 : config.styleClass;
30603
+ _this.label = config === null || config === void 0 ? void 0 : config.label;
30604
+ _this.renderType = (config === null || config === void 0 ? void 0 : config.renderType) || 'default';
30605
+ _this.sourceNode = source;
30606
+ _this.targetNode = target;
30607
+ _this.direction = config === null || config === void 0 ? void 0 : config.direction;
30608
+ return _this;
30609
+ }
30610
+ return Connection;
30611
+ }(rete.ClassicPreset.Connection));
30612
+
30613
+ var ContentNode = /** @class */ (function (_super) {
30614
+ __extends(ContentNode, _super);
30615
+ function ContentNode(config) {
30616
+ return _super.call(this, config) || this;
30617
+ }
30618
+ return ContentNode;
30619
+ }(BaseNodeClass));
30620
+
30621
+ var OutputPort = /** @class */ (function (_super) {
30622
+ __extends(OutputPort, _super);
30623
+ function OutputPort(config) {
30624
+ var _this = _super.call(this, config.socket, config === null || config === void 0 ? void 0 : config.label, (config === null || config === void 0 ? void 0 : config.multipleConnections) !== false) || this;
30625
+ _this.styleClass = config === null || config === void 0 ? void 0 : config.styleClass;
30626
+ return _this;
30627
+ }
30628
+ return OutputPort;
30629
+ }(rete.ClassicPreset.Output));
30630
+ var InputPort = /** @class */ (function (_super) {
30631
+ __extends(InputPort, _super);
30632
+ function InputPort(config) {
30633
+ var _this = _super.call(this, config.socket, config === null || config === void 0 ? void 0 : config.label, (config === null || config === void 0 ? void 0 : config.multipleConnections) !== false) || this;
30634
+ _this.styleClass = config === null || config === void 0 ? void 0 : config.styleClass;
30635
+ return _this;
30636
+ }
30637
+ return InputPort;
30638
+ }(rete.ClassicPreset.Input));
30639
+
30640
+ var Socket = /** @class */ (function (_super) {
30641
+ __extends(Socket, _super);
30642
+ function Socket(config) {
30643
+ var _this = _super.call(this, config.name) || this;
30644
+ _this.renderType = (config === null || config === void 0 ? void 0 : config.renderType) || 'default';
30645
+ _this.styleClass = config === null || config === void 0 ? void 0 : config.styleClass;
30646
+ return _this;
30647
+ }
30648
+ return Socket;
30649
+ }(rete.ClassicPreset.Socket));
30650
+
30651
+ var TemplateNode = /** @class */ (function (_super) {
30652
+ __extends(TemplateNode, _super);
30653
+ function TemplateNode(config) {
30654
+ var _this = _super.call(this, config) || this;
30655
+ _this.type = NODE_TYPE.template;
30656
+ if (config.template) {
30657
+ _this.template = config.template;
30658
+ }
30659
+ return _this;
30660
+ }
30661
+ return TemplateNode;
30662
+ }(BaseNodeClass));
30663
+
30664
+ var GateWayNode = /** @class */ (function (_super) {
30665
+ __extends(GateWayNode, _super);
30666
+ function GateWayNode(config) {
30667
+ var _this = _super.call(this, config) || this;
30668
+ _this.type = NODE_TYPE.gateway;
30669
+ _this.width = NODE_GATEWAY_SIZE;
30670
+ _this.height = NODE_GATEWAY_SIZE;
30671
+ return _this;
30672
+ }
30673
+ return GateWayNode;
30674
+ }(BaseNodeClass));
30675
+
30676
+ /**
30677
+ *
30678
+ * @param config
30679
+ * @returns
30680
+ */
30681
+ var customizeSocket = function (config) { return function (data) {
30682
+ var payload = data.payload;
30683
+ if (payload.renderType === 'custom' || config.socketType === 'custom') {
30684
+ return CustomSocketComponent;
30685
+ }
30686
+ return i2$8.SocketComponent;
30687
+ }; };
30688
+ /**
30689
+ *
30690
+ * @param config
30691
+ * @param editor
30692
+ * @returns
30693
+ */
30694
+ var customizeNode = function (config, editor) { return function (data) {
30695
+ var _a;
30696
+ var node = data.payload;
30697
+ (_a = node.config) !== null && _a !== void 0 ? _a : (node.config = config['node']);
30698
+ return initAngularComponentByType(node.type);
30699
+ }; };
30700
+ /**
30701
+ *
30702
+ * @param config
30703
+ * @returns
30704
+ */
30705
+ var customizeConnection = function (config) { return function (data) {
30706
+ var payload = data.payload;
30707
+ if (payload.renderType === 'custom' || config.connectionType == 'custom') {
30410
30708
  return CustomConnectionComponent;
30411
30709
  }
30412
30710
  return i2$8.ConnectionComponent;
30413
30711
  }; };
30414
30712
  var initNodeByType = function (type, config) {
30415
- var _nodes = {
30416
- start: CircleNode,
30417
- content: ContentNode,
30418
- template: TemplateNode,
30419
- end: CircleNode,
30420
- };
30713
+ var _b;
30714
+ var _nodes = (_b = {},
30715
+ _b[NODE_TYPE.start] = CircleNode,
30716
+ _b[NODE_TYPE.content] = ContentNode,
30717
+ _b[NODE_TYPE.template] = TemplateNode,
30718
+ _b[NODE_TYPE.end] = CircleNode,
30719
+ _b[NODE_TYPE.gateway] = GateWayNode,
30720
+ _b);
30421
30721
  return new _nodes[type](config) || new ContentNode(config);
30422
30722
  };
30423
30723
  var initAngularComponentByType = function (type) {
30424
- var _components = {
30425
- content: ContentNodeComponent,
30426
- start: CircleNodeComponent,
30427
- end: CircleNodeComponent,
30428
- template: TemplateNodeComponent,
30429
- };
30724
+ var _b;
30725
+ var _components = (_b = {},
30726
+ _b[NODE_TYPE.content] = ContentNodeComponent,
30727
+ _b[NODE_TYPE.start] = CircleNodeComponent,
30728
+ _b[NODE_TYPE.end] = CircleNodeComponent,
30729
+ _b[NODE_TYPE.template] = TemplateNodeComponent,
30730
+ _b[NODE_TYPE.gateway] = GatewayNodeComponent,
30731
+ _b);
30430
30732
  return _components[type] || i2$8.NodeComponent;
30431
30733
  };
30432
30734
 
30433
30735
  var createSegmentedPath = function (connection, options) {
30434
- var _a = options || {}, _b = _a.multiPoints, multiPoints = _b === void 0 ? true : _b, _c = _a.offset, offset = _c === void 0 ? 0 : _c;
30736
+ var _a;
30737
+ var _b = ((_a = options === null || options === void 0 ? void 0 : options.transform) === null || _a === void 0 ? void 0 : _a.options) || {}, _c = _b.multiPoints, multiPoints = _c === void 0 ? true : _c, _d = _b.offset, offset = _d === void 0 ? 0 : _d;
30738
+ var isVertical = !!(options === null || options === void 0 ? void 0 : options.vertical);
30739
+ var direction = connection.direction;
30435
30740
  return function (points) {
30436
30741
  if (points.length !== 2) {
30437
30742
  throw new Error('Exactly two points are required to create a linear path.');
30438
30743
  }
30439
- var _a = __read(points, 2), start = _a[0], end = _a[1];
30744
+ var _b = __read(points, 2), start = _b[0], end = _b[1];
30745
+ if (!isVertical) {
30746
+ switch (direction) {
30747
+ case 'down': {
30748
+ var offset_1 = getRandomNumber(start.x, start.y, 10, 50, 150);
30749
+ var _points = [
30750
+ { x: start.x, y: start.y + offset_1 },
30751
+ { x: end.x, y: end.y + offset_1 }
30752
+ ];
30753
+ return __spreadArray(__spreadArray([start], __read(_points)), [end]);
30754
+ }
30755
+ case 'backward': {
30756
+ var _points = [{ x: end.x, y: start.y }];
30757
+ return __spreadArray(__spreadArray([start], __read(_points)), [end]);
30758
+ }
30759
+ case 'forward': {
30760
+ if (end.y < start.y) {
30761
+ var _points = [{ x: start.x, y: end.y }];
30762
+ return __spreadArray(__spreadArray([start], __read(_points)), [end]);
30763
+ }
30764
+ break;
30765
+ }
30766
+ }
30767
+ }
30440
30768
  if (multiPoints) {
30441
30769
  var midpointY = (end.y - start.y) / 2 + start.y;
30442
30770
  var intermediatePoints = [
30443
30771
  { x: start.x, y: midpointY - offset },
30444
- { x: end.x, y: midpointY + offset },
30445
- ];
30446
- // Use bezier curves between points to smooth corners
30447
- return [
30448
- Object.assign(Object.assign({}, start), { controlOut: { x: start.x, y: midpointY - offset } }),
30449
- intermediatePoints[0],
30450
- intermediatePoints[1],
30451
- Object.assign(Object.assign({}, end), { controlIn: { x: end.x, y: midpointY + offset } }),
30772
+ { x: end.x, y: midpointY + offset }
30452
30773
  ];
30774
+ return __spreadArray(__spreadArray([
30775
+ Object.assign(Object.assign({}, start), { controlOut: { x: start.x, y: midpointY - offset } })
30776
+ ], __read(intermediatePoints)), [
30777
+ Object.assign(Object.assign({}, end), { controlIn: { x: end.x, y: midpointY + offset } })
30778
+ ]);
30453
30779
  }
30454
30780
  return [start, end];
30455
30781
  };
@@ -30459,14 +30785,15 @@
30459
30785
  curve: function (c) { var _a; return (_a = (c.curve || (config === null || config === void 0 ? void 0 : config.curve))) !== null && _a !== void 0 ? _a : d3Shape.curveLinear; },
30460
30786
  transformer: function (c) {
30461
30787
  var _a, _b, _c;
30462
- return ((_a = config === null || config === void 0 ? void 0 : config.transform) === null || _a === void 0 ? void 0 : _a.active)
30463
- ? createSegmentedPath(c, (_b = config === null || config === void 0 ? void 0 : config.transform) === null || _b === void 0 ? void 0 : _b.options)
30464
- : reteConnectionPathPlugin.Transformers.classic({
30465
- vertical: !!(config === null || config === void 0 ? void 0 : config.vertical),
30466
- curvature: (_c = config === null || config === void 0 ? void 0 : config.curvature) !== null && _c !== void 0 ? _c : 0.3,
30467
- });
30788
+ if ((_a = config === null || config === void 0 ? void 0 : config.transform) === null || _a === void 0 ? void 0 : _a.active) {
30789
+ return (((_b = c === null || c === void 0 ? void 0 : c.createSegmentedPath) === null || _b === void 0 ? void 0 : _b.call(c, c, config)) || createSegmentedPath(c, config));
30790
+ }
30791
+ return reteConnectionPathPlugin.Transformers.classic({
30792
+ vertical: !!(config === null || config === void 0 ? void 0 : config.vertical),
30793
+ curvature: (_c = config === null || config === void 0 ? void 0 : config.curvature) !== null && _c !== void 0 ? _c : 0.3
30794
+ });
30468
30795
  },
30469
- arrow: function (connection) { return (!(config === null || config === void 0 ? void 0 : config.arrow) ? false : config === null || config === void 0 ? void 0 : config.arrow); },
30796
+ arrow: function (connection) { return (!(config === null || config === void 0 ? void 0 : config.arrow) ? false : config === null || config === void 0 ? void 0 : config.arrow); }
30470
30797
  }); };
30471
30798
 
30472
30799
  var socketPositionWatcher = function (offset, isVertical, editor) {
@@ -30481,9 +30808,9 @@
30481
30808
  };
30482
30809
 
30483
30810
  var createDiagramEditor = function (container, injector, config) { return __awaiter(void 0, void 0, void 0, function () {
30484
- var _a, _b, _c, _d, _e, _f, _g, socket, editor, area, connection, pathPlugin, angularRender, readonly, arrange, reroute, minimap, selector, accumulating, _scaling_1;
30485
- return __generator(this, function (_h) {
30486
- socket = new Socket('', config === null || config === void 0 ? void 0 : config.socketType);
30811
+ var _a, _b, _c, _d, _e, _f, _g, _h, socket, editor, area, connection, pathPlugin, angularRender, readonly, arrange, reroute, minimap, selector, accumulating, _scaling_1;
30812
+ return __generator(this, function (_j) {
30813
+ socket = new Socket({ name: '', renderType: config === null || config === void 0 ? void 0 : config.socketType });
30487
30814
  editor = new rete.NodeEditor();
30488
30815
  area = new reteAreaPlugin.AreaPlugin(container);
30489
30816
  connection = new reteConnectionPlugin.ConnectionPlugin();
@@ -30499,31 +30826,33 @@
30499
30826
  reteConnectionReroutePlugin.RerouteExtensions.selectablePins(reroute, selector, accumulating);
30500
30827
  //#endregion
30501
30828
  //#region PRESETS
30502
- arrange.addPreset(reteAutoArrangePlugin.Presets.classic.setup());
30829
+ arrange.addPreset(((_b = config === null || config === void 0 ? void 0 : config.presets) === null || _b === void 0 ? void 0 : _b.arrange)
30830
+ ? config === null || config === void 0 ? void 0 : config.presets.arrange(editor)
30831
+ : reteAutoArrangePlugin.Presets.classic.setup());
30503
30832
  angularRender.addPreset(i2$8.Presets.classic.setup({
30504
- socketPositionWatcher: socketPositionWatcher(0, (_b = config === null || config === void 0 ? void 0 : config.path) === null || _b === void 0 ? void 0 : _b.vertical, editor),
30833
+ socketPositionWatcher: socketPositionWatcher(0, (_c = config === null || config === void 0 ? void 0 : config.path) === null || _c === void 0 ? void 0 : _c.vertical, editor),
30505
30834
  customize: {
30506
30835
  node: customizeNode(config, editor),
30507
30836
  connection: customizeConnection(config),
30508
- socket: customizeSocket(config),
30509
- },
30837
+ socket: customizeSocket(config)
30838
+ }
30510
30839
  }));
30511
- angularRender.addPreset(i2$8.Presets.minimap.setup({ size: ((_c = config === null || config === void 0 ? void 0 : config.minimap) === null || _c === void 0 ? void 0 : _c.size) || 150 }));
30840
+ angularRender.addPreset(i2$8.Presets.minimap.setup({ size: ((_d = config === null || config === void 0 ? void 0 : config.minimap) === null || _d === void 0 ? void 0 : _d.size) || 150 }));
30512
30841
  connection.addPreset(reteConnectionPlugin.Presets.classic.setup());
30513
- if ((_d = config === null || config === void 0 ? void 0 : config.area) === null || _d === void 0 ? void 0 : _d.restrict) {
30842
+ if ((_e = config === null || config === void 0 ? void 0 : config.area) === null || _e === void 0 ? void 0 : _e.restrict) {
30514
30843
  _scaling_1 = (config === null || config === void 0 ? void 0 : config.area.scaling) || { min: 0.5, max: 1.5 };
30515
30844
  reteAreaPlugin.AreaExtensions.restrictor(area, {
30516
- scaling: function () { return _scaling_1; },
30845
+ scaling: function () { return _scaling_1; }
30517
30846
  });
30518
30847
  }
30519
30848
  //#endregion
30520
30849
  //#region USE
30521
- if ((_e = config === null || config === void 0 ? void 0 : config.readonly) === null || _e === void 0 ? void 0 : _e.active) {
30850
+ if ((_f = config === null || config === void 0 ? void 0 : config.readonly) === null || _f === void 0 ? void 0 : _f.active) {
30522
30851
  editor.use(readonly.root);
30523
30852
  area.use(readonly.area);
30524
30853
  }
30525
30854
  editor.use(area);
30526
- if (!((_f = config === null || config === void 0 ? void 0 : config.readonly) === null || _f === void 0 ? void 0 : _f.active)) {
30855
+ if (!((_g = config === null || config === void 0 ? void 0 : config.readonly) === null || _g === void 0 ? void 0 : _g.active)) {
30527
30856
  // Don't use the connection plugin in readonly mode
30528
30857
  area.use(connection);
30529
30858
  }
@@ -30536,7 +30865,7 @@
30536
30865
  //@ts-ignore
30537
30866
  angularRender.use(reroute);
30538
30867
  }
30539
- if ((_g = config === null || config === void 0 ? void 0 : config.minimap) === null || _g === void 0 ? void 0 : _g.active) {
30868
+ if ((_h = config === null || config === void 0 ? void 0 : config.minimap) === null || _h === void 0 ? void 0 : _h.active) {
30540
30869
  area.use(minimap);
30541
30870
  }
30542
30871
  // Render Diagram
@@ -30550,179 +30879,17 @@
30550
30879
  connection: connection,
30551
30880
  arrange: arrange,
30552
30881
  reroute: reroute,
30553
- readonly: readonly,
30882
+ readonly: readonly
30554
30883
  },
30555
30884
  destroy: function () { return area.destroy(); },
30556
30885
  layout: function (props) { return arrange.layout(props); },
30557
30886
  fitToZoom: function () {
30558
30887
  reteAreaPlugin.AreaExtensions.zoomAt(area, editor.getNodes());
30559
- },
30560
- }];
30561
- });
30562
- }); };
30563
-
30564
- /**
30565
- *
30566
- * @param node
30567
- * @returns
30568
- */
30569
- var removeNode = function (data, editor) { return __awaiter(void 0, void 0, void 0, function () {
30570
- var nodes, node, nodeConfig, _a;
30571
- return __generator(this, function (_b) {
30572
- switch (_b.label) {
30573
- case 0:
30574
- if (!data || !editor) {
30575
- console.log('Node not found.');
30576
- return [2 /*return*/];
30577
30888
  }
30578
- nodes = editor.getNodes();
30579
- node = editor.getNode(data.nodeId);
30580
- if (!node) {
30581
- console.log('Node not found.');
30582
- return [2 /*return*/];
30583
- }
30584
- if (node.type === NODE_TYPE.start && nodes.length > 1) {
30585
- return [2 /*return*/];
30586
- }
30587
- nodeConfig = node.config;
30588
- if (!(nodeConfig === null || nodeConfig === void 0 ? void 0 : nodeConfig.isLinked)) return [3 /*break*/, 2];
30589
- return [4 /*yield*/, removeNodeAndReplaceConnections(node, editor)];
30590
- case 1:
30591
- _a = _b.sent();
30592
- return [3 /*break*/, 4];
30593
- case 2: return [4 /*yield*/, removeNodeAndConnections(node, editor)];
30594
- case 3:
30595
- _a = _b.sent();
30596
- _b.label = 4;
30597
- case 4: return [2 /*return*/, _a];
30598
- }
30599
- });
30600
- }); };
30601
- /**
30602
- *
30603
- * @param node
30604
- * @param editor
30605
- */
30606
- var removeNodeAndConnections = function (node, editor) { return __awaiter(void 0, void 0, void 0, function () {
30607
- return __generator(this, function (_a) {
30608
- switch (_a.label) {
30609
- case 0:
30610
- removeConnections(node, editor);
30611
- return [4 /*yield*/, editor.removeNode(node.id)];
30612
- case 1:
30613
- _a.sent();
30614
- return [2 /*return*/];
30615
- }
30616
- });
30617
- }); };
30618
- /**
30619
- *
30620
- * @param node
30621
- * @param editor
30622
- */
30623
- var removeNodeAndReplaceConnections = function (node, editor) { return __awaiter(void 0, void 0, void 0, function () {
30624
- var outputs, inputs;
30625
- return __generator(this, function (_a) {
30626
- switch (_a.label) {
30627
- case 0:
30628
- outputs = getConnections(editor, function (connection) { return connection.source == node.id; });
30629
- inputs = getConnections(editor, function (connection) { return connection.target == node.id; });
30630
- if (!(!!inputs.length && !!outputs.length)) return [3 /*break*/, 2];
30631
- return [4 /*yield*/, _updateConnections(outputs, inputs, editor)];
30632
- case 1:
30633
- _a.sent();
30634
- return [3 /*break*/, 3];
30635
- case 2:
30636
- removeConnections(node, editor);
30637
- _a.label = 3;
30638
- case 3: return [4 /*yield*/, editor.removeNode(node.id)];
30639
- case 4:
30640
- _a.sent();
30641
- return [2 /*return*/];
30642
- }
30643
- });
30644
- }); };
30645
- /**
30646
- *
30647
- * @param node
30648
- * @param editor
30649
- */
30650
- var removeConnections = function (node, editor) {
30651
- var connections = getConnections(editor, function (connection) { return connection.source === node.id || connection.target === node.id; });
30652
- if (connections.length) {
30653
- connections.forEach(function (connection) {
30654
- editor.removeConnection(connection.id);
30655
- });
30656
- }
30657
- };
30658
- /**
30659
- *
30660
- * @param editor
30661
- * @param predicate
30662
- * @returns
30663
- */
30664
- var getConnections = function (editor, predicate) {
30665
- return editor.getConnections().filter(predicate);
30666
- };
30667
- /**
30668
- *
30669
- * @param outputs
30670
- * @param inputs
30671
- * @param editor
30672
- */
30673
- var _updateConnections = function (outputs, inputs, editor) { return __awaiter(void 0, void 0, void 0, function () {
30674
- var source, target, sourceNode, targetNode, connection;
30675
- return __generator(this, function (_a) {
30676
- switch (_a.label) {
30677
- case 0:
30678
- source = inputs[0].source;
30679
- target = outputs[0].target;
30680
- sourceNode = editor.getNode(source);
30681
- targetNode = editor.getNode(target);
30682
- __spreadArray(__spreadArray([], __read(outputs)), __read(inputs)).forEach(function (connection) { return __awaiter(void 0, void 0, void 0, function () {
30683
- return __generator(this, function (_a) {
30684
- switch (_a.label) {
30685
- case 0: return [4 /*yield*/, editor.removeConnection(connection.id)];
30686
- case 1:
30687
- _a.sent();
30688
- return [2 /*return*/];
30689
- }
30690
- });
30691
- }); });
30692
- if (!sourceNode || !targetNode) {
30693
- return [2 /*return*/];
30694
- }
30695
- connection = new Connection(sourceNode, sourceNode.id + "-output", targetNode, targetNode.id + "-input");
30696
- return [4 /*yield*/, editor.addConnection(connection)];
30697
- case 1:
30698
- _a.sent();
30699
- return [2 /*return*/];
30700
- }
30889
+ }];
30701
30890
  });
30702
30891
  }); };
30703
30892
 
30704
- function serializePort(port) {
30705
- return {
30706
- id: port.id,
30707
- label: port.label,
30708
- socket: {
30709
- name: port.socket.name,
30710
- },
30711
- };
30712
- }
30713
- function serializeControl(control) {
30714
- if (control instanceof rete.ClassicPreset.InputControl) {
30715
- return {
30716
- __type: 'ClassicPreset.InputControl',
30717
- id: control.id,
30718
- readonly: control.readonly,
30719
- type: control.type,
30720
- value: control.value,
30721
- };
30722
- }
30723
- return null;
30724
- }
30725
-
30726
30893
  var DiagramService = /** @class */ (function () {
30727
30894
  /**
30728
30895
  *
@@ -30739,6 +30906,9 @@
30739
30906
  this.destroy = editor.destroy;
30740
30907
  this.fitToZoom = editor.fitToZoom;
30741
30908
  };
30909
+ DiagramService.prototype.diagramClientRect = function () {
30910
+ return this.plugins.area.container.getBoundingClientRect();
30911
+ };
30742
30912
  DiagramService.prototype.getContentNodes = function () {
30743
30913
  return this.editor
30744
30914
  .getNodes()
@@ -30768,13 +30938,32 @@
30768
30938
  });
30769
30939
  };
30770
30940
  DiagramService.prototype.createNode = function (type, config) {
30941
+ var _this = this;
30771
30942
  if (type === void 0) { type = NODE_TYPE.content; }
30772
30943
  var _node = initNodeByType(type, config);
30773
30944
  if (config.type !== NODE_TYPE.start) {
30774
- this.createInputs(_node);
30945
+ this.createInput(_node, DiagramUtils.createInputId(_node.id), {
30946
+ styleClass: DiagramUtils.createInputClass()
30947
+ });
30775
30948
  }
30776
30949
  if (config.type !== NODE_TYPE.end) {
30777
- this.createOutputs(_node);
30950
+ this.createOutput(_node, DiagramUtils.createOutputId(_node.id), {
30951
+ styleClass: DiagramUtils.createOutputClass()
30952
+ });
30953
+ }
30954
+ if (config.type === NODE_TYPE.gateway) {
30955
+ this._creteGatewayOutput(_node);
30956
+ }
30957
+ if ([NODE_TYPE.content, NODE_TYPE.template].includes(config.type)) {
30958
+ var contentPorts = ['secondary', 'tertiary', 'quaternary'];
30959
+ DiagramUtils.createInputsConfig(_node.id, contentPorts).forEach(function (_b) {
30960
+ var id = _b.id, config = _b.config;
30961
+ return _this.createInput(_node, id, config);
30962
+ });
30963
+ DiagramUtils.createOutputsConfig(_node.id, contentPorts).forEach(function (_b) {
30964
+ var id = _b.id, config = _b.config;
30965
+ return _this.createOutput(_node, id, config);
30966
+ });
30778
30967
  }
30779
30968
  _node.notify = this.notifyListener(_node);
30780
30969
  return _node;
@@ -30787,6 +30976,18 @@
30787
30976
  var _isExist = _nodes.some(function (nd) { return nd.type === NODE_TYPE.start; });
30788
30977
  return !_isExist;
30789
30978
  };
30979
+ DiagramService.prototype.getNode = function (id) {
30980
+ return this.editor.getNode(id);
30981
+ };
30982
+ DiagramService.prototype.getNodes = function () {
30983
+ return this.editor.getNodes();
30984
+ };
30985
+ DiagramService.prototype.getConnections = function () {
30986
+ return this.editor.getConnections();
30987
+ };
30988
+ DiagramService.prototype.getConnection = function (id) {
30989
+ return this.editor.getConnection(id);
30990
+ };
30790
30991
  DiagramService.prototype.getLastNode = function () {
30791
30992
  var nodes = this.editor.getNodes();
30792
30993
  return nodes.length ? nodes[nodes.length - 1] : null;
@@ -30794,23 +30995,35 @@
30794
30995
  DiagramService.prototype.getNodesByType = function (type) {
30795
30996
  return this.editor.getNodes().filter(function (nd) { return nd.type === type; });
30796
30997
  };
30998
+ DiagramService.prototype.getViewNodes = function () {
30999
+ return Array.from(this.plugins.area.nodeViews.values());
31000
+ };
30797
31001
  DiagramService.prototype.getLastViewNode = function () {
30798
- var nodes = Array.from(this.plugins.area.nodeViews.values());
31002
+ var nodes = this.getViewNodes();
30799
31003
  return nodes.length ? nodes[nodes.length - 1] : null;
30800
31004
  };
30801
- DiagramService.prototype.createInputs = function (node) {
30802
- node.addInput(node.id + "-input", new rete.ClassicPreset.Input(this.socket));
31005
+ DiagramService.prototype.getViewNode = function (id) {
31006
+ return this.plugins.area.nodeViews.get(id);
31007
+ };
31008
+ DiagramService.prototype.getViewNodePosition = function (id) {
31009
+ var node = this.getViewNode(id);
31010
+ return node ? node.position : null;
31011
+ };
31012
+ DiagramService.prototype.createInput = function (node, id, config) {
31013
+ if (id === void 0) { id = node.id + "-input"; }
31014
+ node.addInput(id, new InputPort(Object.assign({ socket: this.socket }, config)));
30803
31015
  return node;
30804
31016
  };
30805
- DiagramService.prototype.createOutputs = function (node) {
30806
- node.addOutput(node.id + "-output", new rete.ClassicPreset.Output(this.socket, '', false));
31017
+ DiagramService.prototype.createOutput = function (node, id, config) {
31018
+ if (id === void 0) { id = node.id + "-output"; }
31019
+ node.addOutput(id, new OutputPort(Object.assign({ socket: this.socket }, config)));
30807
31020
  return node;
30808
31021
  };
30809
- DiagramService.prototype.addConnection = function (sourceNode, targetNode) {
31022
+ DiagramService.prototype.addConnection = function (sourceNode, targetNode, config) {
30810
31023
  return __awaiter(this, void 0, void 0, function () {
30811
31024
  return __generator(this, function (_b) {
30812
31025
  switch (_b.label) {
30813
- case 0: return [4 /*yield*/, this.editor.addConnection(this.createConnection(sourceNode, targetNode))];
31026
+ case 0: return [4 /*yield*/, this.editor.addConnection(this.createConnection(sourceNode, targetNode, config))];
30814
31027
  case 1:
30815
31028
  _b.sent();
30816
31029
  return [2 /*return*/];
@@ -30818,10 +31031,8 @@
30818
31031
  });
30819
31032
  });
30820
31033
  };
30821
- DiagramService.prototype.createConnection = function (sourceNode, targetNode) {
30822
- var connection = new Connection(sourceNode, sourceNode.id + "-output", targetNode, targetNode.id + "-input");
30823
- connection.status = targetNode.status;
30824
- return connection;
31034
+ DiagramService.prototype.createConnection = function (sourceNode, targetNode, config) {
31035
+ return new Connection(sourceNode, targetNode, config);
30825
31036
  };
30826
31037
  DiagramService.prototype.appendConnection = function (connection) {
30827
31038
  return __awaiter(this, void 0, void 0, function () {
@@ -30862,6 +31073,45 @@
30862
31073
  return (_a = _actions[eventType]) === null || _a === void 0 ? void 0 : _a.call(_actions, payload);
30863
31074
  };
30864
31075
  };
31076
+ DiagramService.prototype.translateView = function () {
31077
+ return __awaiter(this, void 0, void 0, function () {
31078
+ var _b, container, area, rect, k, delta, ox, oy;
31079
+ return __generator(this, function (_c) {
31080
+ _b = this.plugins.area, container = _b.container, area = _b.area;
31081
+ rect = container.getBoundingClientRect();
31082
+ k = area.transform.k;
31083
+ delta = -0.2;
31084
+ ox = Math.max(0, (rect.left - container.clientWidth / 2) * k);
31085
+ oy = Math.max(0, (rect.top - container.clientHeight / 2) * k);
31086
+ area.zoom(Math.max(0.1, k * (1 + delta)), ox * delta, oy * delta);
31087
+ return [2 /*return*/];
31088
+ });
31089
+ });
31090
+ };
31091
+ DiagramService.prototype.removeEndNode = function () {
31092
+ return __awaiter(this, void 0, void 0, function () {
31093
+ var node;
31094
+ return __generator(this, function (_b) {
31095
+ switch (_b.label) {
31096
+ case 0:
31097
+ node = this.getNodesByType(NODE_TYPE.end)[0];
31098
+ if (!node) return [3 /*break*/, 2];
31099
+ return [4 /*yield*/, removeNodeAndConnections(node, this.editor)];
31100
+ case 1:
31101
+ _b.sent();
31102
+ _b.label = 2;
31103
+ case 2: return [2 /*return*/];
31104
+ }
31105
+ });
31106
+ });
31107
+ };
31108
+ DiagramService.prototype._creteGatewayOutput = function (_node) {
31109
+ var _this = this;
31110
+ DiagramUtils.createOutputsConfig(_node.id, [
31111
+ 'secondary',
31112
+ 'tertiary'
31113
+ ]).forEach(function (input) { return _this.createOutput(_node, input.id, input === null || input === void 0 ? void 0 : input.config); });
31114
+ };
30865
31115
  DiagramService.prototype._removeNode = function (data) {
30866
31116
  return __awaiter(this, void 0, void 0, function () {
30867
31117
  var node, viewNode, config, index, position, direction, nodes, _node, _dir, _position;
@@ -30915,21 +31165,6 @@
30915
31165
  });
30916
31166
  });
30917
31167
  };
30918
- DiagramService.prototype.translateView = function () {
30919
- return __awaiter(this, void 0, void 0, function () {
30920
- var _b, container, area, rect, k, delta, ox, oy;
30921
- return __generator(this, function (_c) {
30922
- _b = this.plugins.area, container = _b.container, area = _b.area;
30923
- rect = container.getBoundingClientRect();
30924
- k = area.transform.k;
30925
- delta = -0.2;
30926
- ox = Math.max(0, (rect.left - container.clientWidth / 2) * k);
30927
- oy = Math.max(0, (rect.top - container.clientHeight / 2) * k);
30928
- area.zoom(Math.max(0.1, k * (1 + delta)), ox * delta, oy * delta);
30929
- return [2 /*return*/];
30930
- });
30931
- });
30932
- };
30933
31168
  return DiagramService;
30934
31169
  }());
30935
31170
  DiagramService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DiagramService, deps: [{ token: DiagramPluginsService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
@@ -30970,13 +31205,6 @@
30970
31205
  this._defaultNodeMargin = NODE_MARGIN;
30971
31206
  this._offset = 60;
30972
31207
  }
30973
- Object.defineProperty(WorkflowService.prototype, "_diagramClientRect", {
30974
- get: function () {
30975
- return this._plugins.area.container.getBoundingClientRect();
30976
- },
30977
- enumerable: false,
30978
- configurable: true
30979
- });
30980
31208
  WorkflowService.prototype.setConfig = function (_config) {
30981
31209
  this._config = _config;
30982
31210
  this._message.sendMessage(MESSAGE_TYPE.configUpdated, _config);
@@ -31035,17 +31263,12 @@
31035
31263
  };
31036
31264
  WorkflowService.prototype.removeEndNode = function () {
31037
31265
  return __awaiter(this, void 0, void 0, function () {
31038
- var node;
31039
31266
  return __generator(this, function (_c) {
31040
31267
  switch (_c.label) {
31041
- case 0:
31042
- node = this._diagram.getNodesByType(NODE_TYPE.end)[0];
31043
- if (!node) return [3 /*break*/, 2];
31044
- return [4 /*yield*/, removeNodeAndConnections(node, this._diagram.editor)];
31268
+ case 0: return [4 /*yield*/, this._diagram.removeEndNode()];
31045
31269
  case 1:
31046
31270
  _c.sent();
31047
- _c.label = 2;
31048
- case 2: return [2 /*return*/];
31271
+ return [2 /*return*/];
31049
31272
  }
31050
31273
  });
31051
31274
  });
@@ -31060,7 +31283,7 @@
31060
31283
  var isEndNode = _node.type === NODE_TYPE.end;
31061
31284
  return {
31062
31285
  x: this._calculatePositionX(lastNode.node.type, lastNode.viewNode.position.x),
31063
- y: this._calculatePositionY(isEndNode ? NODE_TYPE.end : lastNode.node.type, lastNode.viewNode.position.y),
31286
+ y: this._calculatePositionY(isEndNode ? NODE_TYPE.end : lastNode.node.type, lastNode.viewNode.position.y)
31064
31287
  };
31065
31288
  };
31066
31289
  WorkflowService.prototype._createNode = function (nodeType, data, config) {
@@ -31084,7 +31307,8 @@
31084
31307
  return [3 /*break*/, 3];
31085
31308
  case 2: return [2 /*return*/, this._changeNodeSocketPosition(context)];
31086
31309
  case 3:
31087
- if (context.type === 'nodecreated' && context.data.type !== NODE_TYPE.end) {
31310
+ if (context.type === 'nodecreated' &&
31311
+ context.data.type !== NODE_TYPE.end) {
31088
31312
  setTimeout(function () {
31089
31313
  _this._updateNodePosition(context);
31090
31314
  });
@@ -31105,7 +31329,7 @@
31105
31329
  }
31106
31330
  return Object.assign({}, context);
31107
31331
  };
31108
- WorkflowService.prototype._linkToLastNode = function (_addedNode) {
31332
+ WorkflowService.prototype._linkToLastNode = function (_addedNode, connectionConfig) {
31109
31333
  return __awaiter(this, void 0, void 0, function () {
31110
31334
  var node, viewNode;
31111
31335
  return __generator(this, function (_c) {
@@ -31114,7 +31338,7 @@
31114
31338
  node = this._diagram.getLastNode();
31115
31339
  viewNode = this._diagram.getLastViewNode();
31116
31340
  if (!(node && viewNode)) return [3 /*break*/, 2];
31117
- return [4 /*yield*/, this._diagram.addConnection(node, _addedNode)];
31341
+ return [4 /*yield*/, this._diagram.addConnection(node, _addedNode, connectionConfig)];
31118
31342
  case 1:
31119
31343
  _c.sent();
31120
31344
  return [2 /*return*/, { node: node, viewNode: viewNode }];
@@ -31150,7 +31374,7 @@
31150
31374
  startNode = this._diagram.createNode(NODE_TYPE.start, {
31151
31375
  type: NODE_TYPE.start,
31152
31376
  label: NODE_TYPE.start,
31153
- name: 'start',
31377
+ name: 'start'
31154
31378
  });
31155
31379
  return [4 /*yield*/, this._diagram.addNode(startNode)];
31156
31380
  case 1:
@@ -31198,7 +31422,7 @@
31198
31422
  */
31199
31423
  WorkflowService.prototype._isOverEndBoundary = function (node, previousNode) {
31200
31424
  var _a;
31201
- var _diagramWidth = Number((_a = this._diagramClientRect) === null || _a === void 0 ? void 0 : _a.width) - this._defaultNodeMargin;
31425
+ var _diagramWidth = Number((_a = this._diagram.diagramClientRect()) === null || _a === void 0 ? void 0 : _a.width) - this._defaultNodeMargin;
31202
31426
  var _width = previousNode.position.x + (node.width + this._defaultNodeMargin) * 2;
31203
31427
  return _width >= _diagramWidth;
31204
31428
  };
@@ -31213,7 +31437,8 @@
31213
31437
  this._defaultNodeWidth +
31214
31438
  this._defaultNodeMargin * 2 +
31215
31439
  this._offset;
31216
- var wrapLine = Number((_a = this._diagramClientRect) === null || _a === void 0 ? void 0 : _a.width) - this._defaultNodeWidth * 2;
31440
+ var wrapLine = Number((_a = this._diagram.diagramClientRect()) === null || _a === void 0 ? void 0 : _a.width) -
31441
+ this._defaultNodeWidth * 2;
31217
31442
  return currentPosition >= wrapLine;
31218
31443
  };
31219
31444
  WorkflowService.prototype._updateNodePosition = function (context) {
@@ -31226,7 +31451,7 @@
31226
31451
  _previousNode = this._diagram.getLastNode();
31227
31452
  _nodeViewPosition = (_a = this._plugins.area.nodeViews.get(context.data.id)) === null || _a === void 0 ? void 0 : _a.position;
31228
31453
  if (!(_previousNode && _nodeViewPosition)) return [3 /*break*/, 2];
31229
- _diagramWidth = Number((_b = this._diagramClientRect) === null || _b === void 0 ? void 0 : _b.width);
31454
+ _diagramWidth = Number((_b = this._diagram.diagramClientRect()) === null || _b === void 0 ? void 0 : _b.width);
31230
31455
  _currentX = _nodeViewPosition.x + context.data.width;
31231
31456
  if (!(_currentX >= _diagramWidth)) return [3 /*break*/, 2];
31232
31457
  this._plugins.readonly.disable();
@@ -31240,7 +31465,7 @@
31240
31465
  }
31241
31466
  return [4 /*yield*/, this._plugins.area.translate(context.data.id, {
31242
31467
  x: x,
31243
- y: _nodeViewPosition.y + this._defaultNodeMargin + context.data.height,
31468
+ y: _nodeViewPosition.y + this._defaultNodeMargin + context.data.height
31244
31469
  })];
31245
31470
  case 1:
31246
31471
  _c.sent();
@@ -31296,45 +31521,28 @@
31296
31521
  type: i0.Input
31297
31522
  }] } });
31298
31523
 
31299
- var RemoveButtonComponent = /** @class */ (function () {
31300
- function RemoveButtonComponent() {
31301
- this.remove = new i0.EventEmitter();
31302
- }
31303
- return RemoveButtonComponent;
31304
- }());
31305
- RemoveButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RemoveButtonComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
31306
- RemoveButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RemoveButtonComponent, selector: "node-remove-button", outputs: { remove: "remove" }, ngImport: i0__namespace, template: "\n <button\n mat-icon-button\n (click)=\"remove.emit()\"\n (pointerdown)=\"$event.stopPropagation()\"\n (dblclick)=\"$event.stopPropagation()\"\n class=\"remove-icon\"\n >\n <mat-icon>close</mat-icon>\n </button>\n ", 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__namespace$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__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
31307
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RemoveButtonComponent, decorators: [{
31308
- type: i0.Component,
31309
- args: [{
31310
- selector: 'node-remove-button',
31311
- template: "\n <button\n mat-icon-button\n (click)=\"remove.emit()\"\n (pointerdown)=\"$event.stopPropagation()\"\n (dblclick)=\"$event.stopPropagation()\"\n class=\"remove-icon\"\n >\n <mat-icon>close</mat-icon>\n </button>\n ",
31312
- styles: [
31313
- "\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 ",
31314
- ],
31315
- }]
31316
- }], propDecorators: { remove: [{
31317
- type: i0.Output
31318
- }] } });
31319
-
31320
- var NodeInputsComponent = /** @class */ (function () {
31321
- function NodeInputsComponent() {
31524
+ var NodePortsComponent = /** @class */ (function () {
31525
+ function NodePortsComponent() {
31322
31526
  }
31323
- return NodeInputsComponent;
31527
+ return NodePortsComponent;
31324
31528
  }());
31325
- NodeInputsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeInputsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
31326
- NodeInputsComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <div\n *ngFor=\"let input of data.inputs | keyvalue : sortByIndex\"\n class=\"da-node__inputs__socket\"\n style=\" height: var(--socket-size, 16px);\"\n refComponent\n [data]=\"{\n type: 'socket',\n side: 'input',\n key: input.key,\n nodeId: data.id,\n payload: input.value?.socket,\n seed: seed\n }\"\n [emit]=\"emit\"\n ></div>\n ", isInline: true, directives: [{ type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$8.RefDirective, selector: "[refComponent]", inputs: ["data", "emit"] }], pipes: { "keyvalue": i4__namespace$1.KeyValuePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
31327
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeInputsComponent, decorators: [{
31529
+ NodePortsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodePortsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
31530
+ NodePortsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NodePortsComponent, selector: "node-ports", inputs: { inputsDirection: "inputsDirection", outputsDirection: "outputsDirection", data: "data", seed: "seed", emit: "emit", sortByIndex: "sortByIndex" }, host: { properties: { "class": "'node-ports--inputs--' + inputsDirection + ' ' + 'node-ports--outputs--' + outputsDirection " }, classAttribute: "node-ports" }, ngImport: i0__namespace, template: "\n\t\t<div\n\t\t\t*ngFor=\"let input of data.inputs | keyvalue : sortByIndex\"\n\t\t\tclass=\"node-port node-port--input {{ input.value.styleClass }}\"\n\t\t\trefComponent\n\t\t\t[title]=\"input.value.styleClass\"\n\t\t\t[data]=\"{\n\t\t\t\ttype: 'socket',\n\t\t\t\tside: 'input',\n\t\t\t\tkey: input.key,\n\t\t\t\tnodeId: data.id,\n\t\t\t\tpayload: input.value?.socket,\n\t\t\t\tseed: seed\n\t\t\t}\"\n\t\t\t[emit]=\"emit\"\n\t\t></div>\n\n\t\t<div\n\t\t\t*ngFor=\"let output of data.outputs | keyvalue : sortByIndex\"\n\t\t\tclass=\"node-port node-port--output {{ output.value.styleClass }}\"\n\t\t\trefComponent\n\t\t\t[title]=\"output.value.styleClass\"\n\t\t\t[data]=\"{\n\t\t\t\ttype: 'socket',\n\t\t\t\tside: 'output',\n\t\t\t\tkey: output.key,\n\t\t\t\tnodeId: data.id,\n\t\t\t\tpayload: output.value?.socket,\n\t\t\t\tseed: seed\n\t\t\t}\"\n\t\t\t[emit]=\"emit\"\n\t\t></div>\n\t", isInline: true, styles: [".node-ports{--port-size: 16px;position:absolute;width:100%;height:100%}.node-port{position:absolute;inset-inline:var(--port-inset-inline);inset-block:var(--port-inset-block);display:inline-block;width:var(--port-size);height:var(--port-size)}.node-ports--inputs--start .input-primary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--start .input-secondary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: 0 auto}.node-ports--inputs--start .input-tertiary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--start .input-quaternary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: auto 0}.node-ports--inputs--end .input-primary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--end .input-secondary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: auto 0}.node-ports--inputs--end .input-tertiary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--end .input-quaternary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: 0 auto}.node-ports--inputs--top .input-primary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: 0 auto}.node-ports--inputs--top .input-secondary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--top .input-tertiary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: auto 0}.node-ports--inputs--top .input-quaternary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--bottom .input-primary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: auto 0}.node-ports--inputs--bottom .input-secondary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--bottom .input-tertiary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: 0 auto}.node-ports--inputs--bottom .input-quaternary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--outputs--top .output-primary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: 0 auto}.node-ports--outputs--top .output-secondary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--top .output-tertiary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: auto 0}.node-ports--outputs--top .output-quaternary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--bottom .output-primary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: auto 0}.node-ports--outputs--bottom .output-secondary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--bottom .output-tertiary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: 0 auto}.node-ports--outputs--bottom .output-quaternary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--start .output-primary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--start .output-secondary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: 0 auto}.node-ports--outputs--start .output-tertiary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--start .output-quaternary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: auto 0}.node-ports--outputs--end .output-primary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--end .output-secondary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: auto 0}.node-ports--outputs--end .output-tertiary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--end .output-quaternary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: 0 auto}\n"], directives: [{ type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$8.RefDirective, selector: "[refComponent]", inputs: ["data", "emit"] }], pipes: { "keyvalue": i4__namespace$1.KeyValuePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
31531
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodePortsComponent, decorators: [{
31328
31532
  type: i0.Component,
31329
31533
  args: [{
31330
- selector: 'node-inputs',
31534
+ selector: 'node-ports',
31331
31535
  encapsulation: i0.ViewEncapsulation.None,
31536
+ styleUrls: ['../styles/ports.scss'],
31332
31537
  host: {
31333
- '[class]': " 'da-node__inputs inputs-' + direction",
31538
+ class: 'node-ports',
31539
+ '[class]': "'node-ports--inputs--' + inputsDirection + ' ' + 'node-ports--outputs--' + outputsDirection "
31334
31540
  },
31335
- template: "\n <div\n *ngFor=\"let input of data.inputs | keyvalue : sortByIndex\"\n class=\"da-node__inputs__socket\"\n style=\" height: var(--socket-size, 16px);\"\n refComponent\n [data]=\"{\n type: 'socket',\n side: 'input',\n key: input.key,\n nodeId: data.id,\n payload: input.value?.socket,\n seed: seed\n }\"\n [emit]=\"emit\"\n ></div>\n ",
31541
+ template: "\n\t\t<div\n\t\t\t*ngFor=\"let input of data.inputs | keyvalue : sortByIndex\"\n\t\t\tclass=\"node-port node-port--input {{ input.value.styleClass }}\"\n\t\t\trefComponent\n\t\t\t[title]=\"input.value.styleClass\"\n\t\t\t[data]=\"{\n\t\t\t\ttype: 'socket',\n\t\t\t\tside: 'input',\n\t\t\t\tkey: input.key,\n\t\t\t\tnodeId: data.id,\n\t\t\t\tpayload: input.value?.socket,\n\t\t\t\tseed: seed\n\t\t\t}\"\n\t\t\t[emit]=\"emit\"\n\t\t></div>\n\n\t\t<div\n\t\t\t*ngFor=\"let output of data.outputs | keyvalue : sortByIndex\"\n\t\t\tclass=\"node-port node-port--output {{ output.value.styleClass }}\"\n\t\t\trefComponent\n\t\t\t[title]=\"output.value.styleClass\"\n\t\t\t[data]=\"{\n\t\t\t\ttype: 'socket',\n\t\t\t\tside: 'output',\n\t\t\t\tkey: output.key,\n\t\t\t\tnodeId: data.id,\n\t\t\t\tpayload: output.value?.socket,\n\t\t\t\tseed: seed\n\t\t\t}\"\n\t\t\t[emit]=\"emit\"\n\t\t></div>\n\t"
31336
31542
  }]
31337
- }], propDecorators: { direction: [{
31543
+ }], propDecorators: { inputsDirection: [{
31544
+ type: i0.Input
31545
+ }], outputsDirection: [{
31338
31546
  type: i0.Input
31339
31547
  }], data: [{
31340
31548
  type: i0.Input
@@ -31346,33 +31554,25 @@
31346
31554
  type: i0.Input
31347
31555
  }] } });
31348
31556
 
31349
- var NodeOutputsComponent = /** @class */ (function () {
31350
- function NodeOutputsComponent() {
31557
+ var RemoveButtonComponent = /** @class */ (function () {
31558
+ function RemoveButtonComponent() {
31559
+ this.remove = new i0.EventEmitter();
31351
31560
  }
31352
- return NodeOutputsComponent;
31561
+ return RemoveButtonComponent;
31353
31562
  }());
31354
- NodeOutputsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeOutputsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
31355
- NodeOutputsComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "<div\n class=\"da-node__outputs__socket\"\n style=\" height: var(--socket-size, 16px);\"\n *ngFor=\"let output of data.outputs | keyvalue : sortByIndex\"\n refComponent\n [data]=\"{\n type: 'socket',\n side: 'output',\n key: output.key,\n nodeId: data.id,\n payload: output.value?.socket,\n seed: seed\n }\"\n [emit]=\"emit\"\n ></div>", isInline: true, directives: [{ type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$8.RefDirective, selector: "[refComponent]", inputs: ["data", "emit"] }], pipes: { "keyvalue": i4__namespace$1.KeyValuePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
31356
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeOutputsComponent, decorators: [{
31563
+ RemoveButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RemoveButtonComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
31564
+ RemoveButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RemoveButtonComponent, selector: "node-remove-button", outputs: { remove: "remove" }, ngImport: i0__namespace, template: "\n\t\t<button\n\t\t\tmat-icon-button\n\t\t\t(click)=\"remove.emit()\"\n\t\t\t(pointerdown)=\"$event.stopPropagation()\"\n\t\t\t(dblclick)=\"$event.stopPropagation()\"\n\t\t\tclass=\"remove-icon\"\n\t\t>\n\t\t\t<mat-icon>close</mat-icon>\n\t\t</button>\n\t", isInline: true, styles: ["\n\t\t\t:host {\n\t\t\t\t--size: var(--remove-icon-size, 30px);\n\t\t\t\tposition: var(--remove-icon-position, absolute);\n\t\t\t\tinset: var(--remove-icon-inset, 0 0 auto auto);\n\t\t\t\topacity: var(--remove-icon-opacity, 0);\n\t\t\t\tbackground: var(--remove-icon-background, #fff);\n\t\t\t\twidth: var(--size);\n\t\t\t\theight: var(--size);\n\t\t\t\tline-height: var(var(--remove-icon-size), calc(var(--size) - 6));\n\t\t\t\tborder-radius: var(--remove-icon-radius, 50%);\n\t\t\t\tz-index: 2;\n\t\t\t\t.remove-icon {\n\t\t\t\t\tborder: 1px solid currentColor;\n\t\t\t\t\tborder-radius: var(--remove-icon-radius, 50%);\n\t\t\t\t\twidth: var(--size);\n\t\t\t\t\theight: var(--size);\n\t\t\t\t\tline-height: var(--remove-icon-size, 24px);\n\t\t\t\t\tbackground: var(--remove-icon-background, #fff);\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t}\n\t\t\t}\n\t\t"], components: [{ type: i1__namespace$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__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
31565
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RemoveButtonComponent, decorators: [{
31357
31566
  type: i0.Component,
31358
31567
  args: [{
31359
- selector: 'node-outputs',
31360
- encapsulation: i0.ViewEncapsulation.None,
31361
- host: {
31362
- '[class]': " 'da-node__outputs outputs-' + direction",
31363
- },
31364
- template: "<div\n class=\"da-node__outputs__socket\"\n style=\" height: var(--socket-size, 16px);\"\n *ngFor=\"let output of data.outputs | keyvalue : sortByIndex\"\n refComponent\n [data]=\"{\n type: 'socket',\n side: 'output',\n key: output.key,\n nodeId: data.id,\n payload: output.value?.socket,\n seed: seed\n }\"\n [emit]=\"emit\"\n ></div>",
31568
+ selector: 'node-remove-button',
31569
+ template: "\n\t\t<button\n\t\t\tmat-icon-button\n\t\t\t(click)=\"remove.emit()\"\n\t\t\t(pointerdown)=\"$event.stopPropagation()\"\n\t\t\t(dblclick)=\"$event.stopPropagation()\"\n\t\t\tclass=\"remove-icon\"\n\t\t>\n\t\t\t<mat-icon>close</mat-icon>\n\t\t</button>\n\t",
31570
+ styles: [
31571
+ "\n\t\t\t:host {\n\t\t\t\t--size: var(--remove-icon-size, 30px);\n\t\t\t\tposition: var(--remove-icon-position, absolute);\n\t\t\t\tinset: var(--remove-icon-inset, 0 0 auto auto);\n\t\t\t\topacity: var(--remove-icon-opacity, 0);\n\t\t\t\tbackground: var(--remove-icon-background, #fff);\n\t\t\t\twidth: var(--size);\n\t\t\t\theight: var(--size);\n\t\t\t\tline-height: var(var(--remove-icon-size), calc(var(--size) - 6));\n\t\t\t\tborder-radius: var(--remove-icon-radius, 50%);\n\t\t\t\tz-index: 2;\n\t\t\t\t.remove-icon {\n\t\t\t\t\tborder: 1px solid currentColor;\n\t\t\t\t\tborder-radius: var(--remove-icon-radius, 50%);\n\t\t\t\t\twidth: var(--size);\n\t\t\t\t\theight: var(--size);\n\t\t\t\t\tline-height: var(--remove-icon-size, 24px);\n\t\t\t\t\tbackground: var(--remove-icon-background, #fff);\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t}\n\t\t\t}\n\t\t"
31572
+ ]
31365
31573
  }]
31366
- }], propDecorators: { direction: [{
31367
- type: i0.Input
31368
- }], data: [{
31369
- type: i0.Input
31370
- }], seed: [{
31371
- type: i0.Input
31372
- }], emit: [{
31373
- type: i0.Input
31374
- }], sortByIndex: [{
31375
- type: i0.Input
31574
+ }], propDecorators: { remove: [{
31575
+ type: i0.Output
31376
31576
  }] } });
31377
31577
 
31378
31578
  var CircleNodeComponent = /** @class */ (function (_super) {
@@ -31383,7 +31583,7 @@
31383
31583
  return CircleNodeComponent;
31384
31584
  }(BaseNodeComponent));
31385
31585
  CircleNodeComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CircleNodeComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
31386
- CircleNodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CircleNodeComponent, selector: "ng-component", usesInheritance: true, ngImport: i0__namespace, 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__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
31586
+ CircleNodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CircleNodeComponent, selector: "ng-component", usesInheritance: true, ngImport: i0__namespace, template: "<div\r\n\tclass=\"da-node da-node--{{ data.type }} circle-node circle-node--{{\r\n\t\tdata.type\r\n\t}} {{ data?.status ? ' da-node--' + data?.status : '' }} \"\r\n\t[style.--node-width]=\"data.width + 'px'\"\r\n\t[style.--node-height]=\"data.width + 'px'\"\r\n>\r\n\t<node-ports\r\n\t\t[inputsDirection]=\"data.directions.inputs\"\r\n\t\t[outputsDirection]=\"data.directions.outputs\"\r\n\t\t[data]=\"data\"\r\n\t\t[seed]=\"seed\"\r\n\t\t[emit]=\"emit\"\r\n\t\t[sortByIndex]=\"sortByIndex\"\r\n\t></node-ports>\r\n\r\n\t<div class=\"da-node__content circle-node__content\">\r\n\t\t<node-remove-button\r\n\t\t\t(remove)=\"removeNode()\"\r\n\t\t\t*ngIf=\"data.config?.canRemove\"\r\n\t\t></node-remove-button>\r\n\r\n\t\t<div\r\n\t\t\tclass=\"da-node__title circle-node__title\"\r\n\t\t\t[attr.tooltip]=\"data.content?.data?.tooltip\"\r\n\t\t\t[class.node-tooltip]=\"!!data.content?.data?.tooltip\"\r\n\t\t>\r\n\t\t\t{{ 'diagram.' + data.name | translate }}\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".da-node{--socket-size: 16px;--width: var(--node-width);--height: var(--node-height);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);z-index:var(--node-z-index, 1)}.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--ready{--node-color: var( --status-ready-color, var(--Primary-100, #234990) );--node-background: var( --status-ready-background, #fff );--node-border: var( --status-ready-border, 1px solid var(--node-color, #234990) );--node-shadow: var( --status-ready-shadow, unset )}.da-node--suspended{--node-color: var( --status-suspended-color, var(--orange-color, #f29339) );--node-background: var( --status-suspended-background, var(--light-orange-color, #fdf4dc) );--node-border: var( --status-suspended-border, 1px solid var(--orange-color, #f29339) );--node-shadow: var( --status-suspended-shadow, var(--node-shadow, inset 0 0 0 2px var(--node-background), inset 0 0 0 3px var(--orange-color, #f29339)) )}.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--canceled{--node-color: var( --status-canceled-color, var(--red-color, #bf0b30) );--node-background: var( --status-canceled-background, var(--light-red-color, #ffe0e7) );--node-border: var( --status-canceled-border, 1px solid var(--red-color, #bf0b30) );--node-shadow: var( --status-canceled-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__content{width:calc(100% - var(--socket-size));height:calc(100% - var(--socket-size));display:var(--node-display, flex);justify-content:var(--node-justify, center);align-items:var(--node-items, center);flex-direction:var(--node-direction, column);z-index:var(--node-z-index, 1)}.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: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: NodePortsComponent, selector: "node-ports", inputs: ["inputsDirection", "outputsDirection", "data", "seed", "emit", "sortByIndex"] }, { type: RemoveButtonComponent, selector: "node-remove-button", outputs: ["remove"] }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1__namespace.TranslatePipe } });
31387
31587
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CircleNodeComponent, decorators: [{
31388
31588
  type: i0.Component,
31389
31589
  args: [{
@@ -31392,6 +31592,65 @@
31392
31592
  }]
31393
31593
  }] });
31394
31594
 
31595
+ var ConnectionLabelComponent = /** @class */ (function () {
31596
+ function ConnectionLabelComponent(_zone) {
31597
+ var _this = this;
31598
+ this._zone = _zone;
31599
+ this.transformStyle = '';
31600
+ this.observer = new MutationObserver(function () {
31601
+ _this.calculatePosition();
31602
+ });
31603
+ }
31604
+ ConnectionLabelComponent.prototype.ngAfterViewInit = function () {
31605
+ var _this = this;
31606
+ if (!this.path) {
31607
+ return;
31608
+ }
31609
+ this._zone.runOutsideAngular(function () {
31610
+ _this.observer.observe(_this.path, {
31611
+ attributes: true
31612
+ });
31613
+ });
31614
+ };
31615
+ ConnectionLabelComponent.prototype.ngOnDestroy = function () {
31616
+ this.observer.disconnect();
31617
+ };
31618
+ ConnectionLabelComponent.prototype.calculatePosition = function () {
31619
+ var positionPoint = this._getPositionPoint();
31620
+ this.labelContainer.nativeElement.style.transform = "translate(" + positionPoint.x + "px, " + positionPoint.y + "px)";
31621
+ };
31622
+ ConnectionLabelComponent.prototype._getPositionPoint = function () {
31623
+ var pathLength = this.path.getTotalLength();
31624
+ var textWidth = 12 * ("" + this.text).length;
31625
+ return this.position === 'center'
31626
+ ? this.path.getPointAtLength(pathLength / 2)
31627
+ : this.path.getPointAtLength((this.position === 'start' ? 0 : pathLength) +
31628
+ (this.position === 'end' ? -1 : 1) * (textWidth / 2 + 20));
31629
+ };
31630
+ return ConnectionLabelComponent;
31631
+ }());
31632
+ ConnectionLabelComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConnectionLabelComponent, deps: [{ token: i0__namespace.NgZone }], target: i0__namespace.ɵɵFactoryTarget.Component });
31633
+ ConnectionLabelComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ConnectionLabelComponent, selector: "app-connection-label", inputs: { path: "path", position: "position", text: "text" }, viewQueries: [{ propertyName: "labelContainer", first: true, predicate: ["labelContainer"], descendants: true, static: true }], ngImport: i0__namespace, template: " <div\n\t\t#labelContainer\n\t\t[ngStyle]=\"{\n\t\t\tposition: 'absolute',\n\t\t\ttop: '0',\n\t\t\tleft: '0',\n\t\t\tzIndex: ' var(--label-z-index, -1)'\n\t\t}\"\n\t>\n\t\t<div [ngClass]=\"{ 'label-text': !!text }\">{{ text }}</div>\n\t</div>", isInline: true, styles: ["\n\t\t\t.label-text {\n\t\t\t\tposition: absolute;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t\tbackground: var(--c-label-background, #fff);\n\t\t\t\tcolor: var(--c-label-color, #333);\n\t\t\t\tborder-radius: var(--c-label-radius, 2em);\n\t\t\t\tpadding: var(--c-label-padding, 0.2em 0.6em);\n\t\t\t\tfont-size: var(--c-label-size, 0.7rem);\n\t\t\t\tborder: var(--c-label-border, 1px solid var(--path-color, #1b3e7f));\n\t\t\t\tz-index: var(--c-label-z-index, 0);\n\t\t\t\twhite-space: pre;\n\t\t\t}\n\t\t"], directives: [{ type: i4__namespace$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
31634
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ConnectionLabelComponent, decorators: [{
31635
+ type: i0.Component,
31636
+ args: [{
31637
+ selector: 'app-connection-label',
31638
+ template: " <div\n\t\t#labelContainer\n\t\t[ngStyle]=\"{\n\t\t\tposition: 'absolute',\n\t\t\ttop: '0',\n\t\t\tleft: '0',\n\t\t\tzIndex: ' var(--label-z-index, -1)'\n\t\t}\"\n\t>\n\t\t<div [ngClass]=\"{ 'label-text': !!text }\">{{ text }}</div>\n\t</div>",
31639
+ styles: [
31640
+ "\n\t\t\t.label-text {\n\t\t\t\tposition: absolute;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t\tbackground: var(--c-label-background, #fff);\n\t\t\t\tcolor: var(--c-label-color, #333);\n\t\t\t\tborder-radius: var(--c-label-radius, 2em);\n\t\t\t\tpadding: var(--c-label-padding, 0.2em 0.6em);\n\t\t\t\tfont-size: var(--c-label-size, 0.7rem);\n\t\t\t\tborder: var(--c-label-border, 1px solid var(--path-color, #1b3e7f));\n\t\t\t\tz-index: var(--c-label-z-index, 0);\n\t\t\t\twhite-space: pre;\n\t\t\t}\n\t\t"
31641
+ ]
31642
+ }]
31643
+ }], ctorParameters: function () { return [{ type: i0__namespace.NgZone }]; }, propDecorators: { path: [{
31644
+ type: i0.Input
31645
+ }], position: [{
31646
+ type: i0.Input
31647
+ }], text: [{
31648
+ type: i0.Input
31649
+ }], labelContainer: [{
31650
+ type: i0.ViewChild,
31651
+ args: ['labelContainer', { static: true }]
31652
+ }] } });
31653
+
31395
31654
  var StatusIconComponent = /** @class */ (function () {
31396
31655
  function StatusIconComponent() {
31397
31656
  }
@@ -31456,7 +31715,7 @@
31456
31715
  return ContentNodeComponent;
31457
31716
  }(BaseNodeComponent));
31458
31717
  ContentNodeComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ContentNodeComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
31459
- ContentNodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ContentNodeComponent, selector: "ng-component", usesInheritance: true, ngImport: i0__namespace, 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__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
31718
+ ContentNodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ContentNodeComponent, selector: "ng-component", usesInheritance: true, ngImport: i0__namespace, template: "<div\r\n\tclass=\"da-node da-node--{{ data.type }} {{\r\n\t\tdata?.status ? ' da-node--' + data?.status : ''\r\n\t}} {{ data?.styleClass }}\"\r\n\t[style.--node-width]=\"data.width + 'px'\"\r\n\t[style.--node-height]=\"data.height + 'px'\"\r\n>\r\n\t<node-ports\r\n\t\t[inputsDirection]=\"data.directions.inputs\"\r\n\t\t[outputsDirection]=\"data.directions.outputs\"\r\n\t\t[data]=\"data\"\r\n\t\t[seed]=\"seed\"\r\n\t\t[emit]=\"emit\"\r\n\t\t[sortByIndex]=\"sortByIndex\"\r\n\t></node-ports>\r\n\r\n\t<div class=\"da-node__content\">\r\n\t\t<node-remove-button (remove)=\"removeNode()\" *ngIf=\"data?.config?.canRemove\">\r\n\t\t</node-remove-button>\r\n\t\t<status-icon [status]=\"data?.status\" *ngIf=\"data?.status\"></status-icon>\r\n\r\n\t\t<node-icon\r\n\t\t\t*ngIf=\"data.content?.icon\"\r\n\t\t\t[icon]=\"data.content?.icon\"\r\n\t\t></node-icon>\r\n\r\n\t\t<div class=\"da-node__title\">{{ data.name }}</div>\r\n\t\t<div class=\"da-node__description\" *ngIf=\"data.description\">\r\n\t\t\t{{ data.description }}\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".da-node{--socket-size: 16px;--width: var(--node-width);--height: var(--node-height);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);z-index:var(--node-z-index, 1)}.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--ready{--node-color: var( --status-ready-color, var(--Primary-100, #234990) );--node-background: var( --status-ready-background, #fff );--node-border: var( --status-ready-border, 1px solid var(--node-color, #234990) );--node-shadow: var( --status-ready-shadow, unset )}.da-node--suspended{--node-color: var( --status-suspended-color, var(--orange-color, #f29339) );--node-background: var( --status-suspended-background, var(--light-orange-color, #fdf4dc) );--node-border: var( --status-suspended-border, 1px solid var(--orange-color, #f29339) );--node-shadow: var( --status-suspended-shadow, var(--node-shadow, inset 0 0 0 2px var(--node-background), inset 0 0 0 3px var(--orange-color, #f29339)) )}.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--canceled{--node-color: var( --status-canceled-color, var(--red-color, #bf0b30) );--node-background: var( --status-canceled-background, var(--light-red-color, #ffe0e7) );--node-border: var( --status-canceled-border, 1px solid var(--red-color, #bf0b30) );--node-shadow: var( --status-canceled-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__content{width:calc(100% - var(--socket-size));height:calc(100% - var(--socket-size));display:var(--node-display, flex);justify-content:var(--node-justify, center);align-items:var(--node-items, center);flex-direction:var(--node-direction, column);z-index:var(--node-z-index, 1)}.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:hover{--remove-icon-inset: -8px -8px auto auto;--remove-icon-opacity: 1}\n"], components: [{ type: NodePortsComponent, selector: "node-ports", inputs: ["inputsDirection", "outputsDirection", "data", "seed", "emit", "sortByIndex"] }, { type: RemoveButtonComponent, selector: "node-remove-button", outputs: ["remove"] }, { type: StatusIconComponent, selector: "status-icon", inputs: ["status"] }, { type: NodeIconComponent, selector: "node-icon", inputs: ["icon"] }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
31460
31719
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ContentNodeComponent, decorators: [{
31461
31720
  type: i0.Component,
31462
31721
  args: [{
@@ -31470,20 +31729,50 @@
31470
31729
  function CustomConnectionComponent() {
31471
31730
  return _super !== null && _super.apply(this, arguments) || this;
31472
31731
  }
31732
+ Object.defineProperty(CustomConnectionComponent.prototype, "pathNative", {
31733
+ get: function () {
31734
+ var _a;
31735
+ return (_a = this.pathElement) === null || _a === void 0 ? void 0 : _a.nativeElement;
31736
+ },
31737
+ enumerable: false,
31738
+ configurable: true
31739
+ });
31740
+ Object.defineProperty(CustomConnectionComponent.prototype, "labelText", {
31741
+ get: function () {
31742
+ var _a, _b, _c;
31743
+ return typeof ((_a = this.data) === null || _a === void 0 ? void 0 : _a.label) === 'string'
31744
+ ? (_b = this.data) === null || _b === void 0 ? void 0 : _b.label
31745
+ : (_c = this.data) === null || _c === void 0 ? void 0 : _c.label.text;
31746
+ },
31747
+ enumerable: false,
31748
+ configurable: true
31749
+ });
31750
+ Object.defineProperty(CustomConnectionComponent.prototype, "labelPosition", {
31751
+ get: function () {
31752
+ return typeof this.data.label === 'string'
31753
+ ? 'center'
31754
+ : this.data.label.position;
31755
+ },
31756
+ enumerable: false,
31757
+ configurable: true
31758
+ });
31473
31759
  return CustomConnectionComponent;
31474
31760
  }(i2$8.ConnectionComponent));
31475
31761
  CustomConnectionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomConnectionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
31476
- CustomConnectionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomConnectionComponent, selector: "connection", inputs: { data: "data" }, usesInheritance: true, ngImport: i0__namespace, template: "\n <svg\n data-testid=\"connection\"\n style=\"z-index:-1\"\n class=\"{{ data?.status ? 'connection-status-' + data?.status : '' }}\"\n >\n <path [attr.d]=\"path\" />\n </svg>\n ", 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 "] });
31762
+ CustomConnectionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomConnectionComponent, selector: "connection", inputs: { data: "data" }, viewQueries: [{ propertyName: "pathElement", first: true, predicate: ["pathElement"], descendants: true, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "\n\t\t<svg\n\t\t\tdata-testid=\"connection\"\n\t\t\tstyle=\"z-index:-2\"\n\t\t\tclass=\"{{ data?.status ? 'connection-status-' + data?.status : '' }} {{\n\t\t\t\tdata?.styleClass\n\t\t\t}}\"\n\t\t>\n\t\t\t<path [attr.d]=\"path\" #pathElement />\n\t\t</svg>\n\t\t<app-connection-label\n\t\t\t*ngIf=\"data?.label && pathNative\"\n\t\t\t[path]=\"pathNative\"\n\t\t\t[text]=\"labelText\"\n\t\t\t[position]=\"labelPosition\"\n\t\t></app-connection-label>\n\t", isInline: true, styles: ["\n\t\t\tsvg {\n\t\t\t\toverflow: visible;\n\t\t\t\tposition: absolute;\n\t\t\t\tpointer-events: none;\n\t\t\t\tpath {\n\t\t\t\t\tfill: none;\n\t\t\t\t\tstroke-width: 2px;\n\t\t\t\t\tstroke: var(--path-color, #1b3e7f);\n\t\t\t\t\tpointer-events: auto;\n\t\t\t\t}\n\t\t\t}\n\t\t"], components: [{ type: ConnectionLabelComponent, selector: "app-connection-label", inputs: ["path", "position", "text"] }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
31477
31763
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomConnectionComponent, decorators: [{
31478
31764
  type: i0.Component,
31479
31765
  args: [{
31480
31766
  selector: 'connection',
31481
31767
  styles: [
31482
- "\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 ",
31768
+ "\n\t\t\tsvg {\n\t\t\t\toverflow: visible;\n\t\t\t\tposition: absolute;\n\t\t\t\tpointer-events: none;\n\t\t\t\tpath {\n\t\t\t\t\tfill: none;\n\t\t\t\t\tstroke-width: 2px;\n\t\t\t\t\tstroke: var(--path-color, #1b3e7f);\n\t\t\t\t\tpointer-events: auto;\n\t\t\t\t}\n\t\t\t}\n\t\t"
31483
31769
  ],
31484
- template: "\n <svg\n data-testid=\"connection\"\n style=\"z-index:-1\"\n class=\"{{ data?.status ? 'connection-status-' + data?.status : '' }}\"\n >\n <path [attr.d]=\"path\" />\n </svg>\n ",
31770
+ template: "\n\t\t<svg\n\t\t\tdata-testid=\"connection\"\n\t\t\tstyle=\"z-index:-2\"\n\t\t\tclass=\"{{ data?.status ? 'connection-status-' + data?.status : '' }} {{\n\t\t\t\tdata?.styleClass\n\t\t\t}}\"\n\t\t>\n\t\t\t<path [attr.d]=\"path\" #pathElement />\n\t\t</svg>\n\t\t<app-connection-label\n\t\t\t*ngIf=\"data?.label && pathNative\"\n\t\t\t[path]=\"pathNative\"\n\t\t\t[text]=\"labelText\"\n\t\t\t[position]=\"labelPosition\"\n\t\t></app-connection-label>\n\t"
31485
31771
  }]
31486
- }], propDecorators: { data: [{
31772
+ }], propDecorators: { pathElement: [{
31773
+ type: i0.ViewChild,
31774
+ args: ['pathElement', { static: true }]
31775
+ }], data: [{
31487
31776
  type: i0.Input
31488
31777
  }] } });
31489
31778
 
@@ -31495,17 +31784,126 @@
31495
31784
  return CustomSocketComponent;
31496
31785
  }(i2$8.SocketComponent));
31497
31786
  CustomSocketComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomSocketComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
31498
- CustomSocketComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomSocketComponent, selector: "ng-component", usesInheritance: true, ngImport: i0__namespace, 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 "] });
31787
+ CustomSocketComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomSocketComponent, selector: "ng-component", host: { properties: { "class": "data?.styleClass" } }, usesInheritance: true, ngImport: i0__namespace, template: "", isInline: true, styles: ["\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tcursor: pointer;\n\t\t\t\tborder: 1px solid var(--primary-color, #1b3e7f);\n\t\t\t\twidth: var(--socket-size, 16px);\n\t\t\t\theight: var(--socket-size, 16px);\n\t\t\t\tvertical-align: var(--socket-vertical-align, top);\n\t\t\t\tbackground: white;\n\t\t\t\tz-index: 2;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\topacity: var(--socket-opacity, 0);\n\t\t\t\tborder-radius: var(--socket-radius, 0);\n\t\t\t\t&:hover {\n\t\t\t\t\tbox-shadow: 0 0 0 1px var(--primary-color, #1b3e7f);\n\t\t\t\t}\n\t\t\t}\n\t\t"] });
31499
31788
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomSocketComponent, decorators: [{
31500
31789
  type: i0.Component,
31501
31790
  args: [{
31502
31791
  template: "",
31503
31792
  styles: [
31504
- "\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 ",
31793
+ "\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tcursor: pointer;\n\t\t\t\tborder: 1px solid var(--primary-color, #1b3e7f);\n\t\t\t\twidth: var(--socket-size, 16px);\n\t\t\t\theight: var(--socket-size, 16px);\n\t\t\t\tvertical-align: var(--socket-vertical-align, top);\n\t\t\t\tbackground: white;\n\t\t\t\tz-index: 2;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\topacity: var(--socket-opacity, 0);\n\t\t\t\tborder-radius: var(--socket-radius, 0);\n\t\t\t\t&:hover {\n\t\t\t\t\tbox-shadow: 0 0 0 1px var(--primary-color, #1b3e7f);\n\t\t\t\t}\n\t\t\t}\n\t\t"
31505
31794
  ],
31795
+ host: {
31796
+ '[class]': 'data?.styleClass'
31797
+ }
31798
+ }]
31799
+ }] });
31800
+
31801
+ var GatewayPortsComponent = /** @class */ (function () {
31802
+ function GatewayPortsComponent() {
31803
+ }
31804
+ return GatewayPortsComponent;
31805
+ }());
31806
+ GatewayPortsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: GatewayPortsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
31807
+ GatewayPortsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GatewayPortsComponent, selector: "gateway-ports", inputs: { direction: "direction", data: "data", seed: "seed", emit: "emit", sortByIndex: "sortByIndex" }, ngImport: i0__namespace, template: "\n\t\t<div\n\t\t\t*ngFor=\"let input of data.inputs | keyvalue : sortByIndex\"\n\t\t\tclass=\"gateway-port gateway-port--input {{ input.value.styleClass }}\"\n\t\t\trefComponent\n\t\t\t[data]=\"{\n\t\t\t\ttype: 'socket',\n\t\t\t\tside: 'input',\n\t\t\t\tkey: input.key,\n\t\t\t\tnodeId: data.id,\n\t\t\t\tpayload: input.value?.socket,\n\t\t\t\tseed: seed\n\t\t\t}\"\n\t\t\t[emit]=\"emit\"\n\t\t></div>\n\n\t\t<div\n\t\t\t*ngFor=\"let output of data.outputs | keyvalue : sortByIndex\"\n\t\t\tclass=\"gateway-port gateway-port--output {{ output.value.styleClass }}\"\n\t\t\trefComponent\n\t\t\t[data]=\"{\n\t\t\t\ttype: 'socket',\n\t\t\t\tside: 'output',\n\t\t\t\tkey: output.key,\n\t\t\t\tnodeId: data.id,\n\t\t\t\tpayload: output.value?.socket,\n\t\t\t\tseed: seed\n\t\t\t}\"\n\t\t\t[emit]=\"emit\"\n\t\t></div>\n\t", isInline: true, styles: ["\n\t\t\t.gateway-port {\n\t\t\t\t--socket-vertical-align: top;\n\t\t\t\t--width: var(--port-width, var(--socket-size, 14px));\n\t\t\t\t--height: var(--port-height, var(--socket-size, 14px));\n\t\t\t\tposition: absolute;\n\t\t\t\tinset-inline: var(--port-inset-inline);\n\t\t\t\tinset-block: var(--port-inset-block);\n\t\t\t\tdisplay: inline-block;\n\t\t\t\twidth: var(--width);\n\t\t\t\theight: var(--height);\n\t\t\t\t&.input-primary-port {\n\t\t\t\t\t--port-inset-inline: calc(var(--width) / -2) auto;\n\t\t\t\t\t--port-inset-block: calc(50% - var(--height) / 2) 0;\n\t\t\t\t}\n\t\t\t\t&.output-primary-port {\n\t\t\t\t\t--port-inset-inline: auto calc(var(--width) / -2);\n\t\t\t\t\t--port-inset-block: calc(50% - var(--height) / 2) auto;\n\t\t\t\t}\n\t\t\t\t&.output-secondary-port {\n\t\t\t\t\t--port-inset-inline: calc(50% - var(--width) / 2) auto;\n\t\t\t\t\t--port-inset-block: calc(var(--height) / -2) auto;\n\t\t\t\t}\n\t\t\t\t&.output-tertiary-port {\n\t\t\t\t\t--port-inset-inline: calc(50% - var(--width) / 2) 0;\n\t\t\t\t\t--port-inset-block: auto calc(var(--height) / -2);\n\t\t\t\t}\n\t\t\t}\n\t\t"], directives: [{ type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$8.RefDirective, selector: "[refComponent]", inputs: ["data", "emit"] }], pipes: { "keyvalue": i4__namespace$1.KeyValuePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
31808
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: GatewayPortsComponent, decorators: [{
31809
+ type: i0.Component,
31810
+ args: [{
31811
+ selector: 'gateway-ports',
31812
+ encapsulation: i0.ViewEncapsulation.None,
31813
+ template: "\n\t\t<div\n\t\t\t*ngFor=\"let input of data.inputs | keyvalue : sortByIndex\"\n\t\t\tclass=\"gateway-port gateway-port--input {{ input.value.styleClass }}\"\n\t\t\trefComponent\n\t\t\t[data]=\"{\n\t\t\t\ttype: 'socket',\n\t\t\t\tside: 'input',\n\t\t\t\tkey: input.key,\n\t\t\t\tnodeId: data.id,\n\t\t\t\tpayload: input.value?.socket,\n\t\t\t\tseed: seed\n\t\t\t}\"\n\t\t\t[emit]=\"emit\"\n\t\t></div>\n\n\t\t<div\n\t\t\t*ngFor=\"let output of data.outputs | keyvalue : sortByIndex\"\n\t\t\tclass=\"gateway-port gateway-port--output {{ output.value.styleClass }}\"\n\t\t\trefComponent\n\t\t\t[data]=\"{\n\t\t\t\ttype: 'socket',\n\t\t\t\tside: 'output',\n\t\t\t\tkey: output.key,\n\t\t\t\tnodeId: data.id,\n\t\t\t\tpayload: output.value?.socket,\n\t\t\t\tseed: seed\n\t\t\t}\"\n\t\t\t[emit]=\"emit\"\n\t\t></div>\n\t",
31814
+ styles: [
31815
+ "\n\t\t\t.gateway-port {\n\t\t\t\t--socket-vertical-align: top;\n\t\t\t\t--width: var(--port-width, var(--socket-size, 14px));\n\t\t\t\t--height: var(--port-height, var(--socket-size, 14px));\n\t\t\t\tposition: absolute;\n\t\t\t\tinset-inline: var(--port-inset-inline);\n\t\t\t\tinset-block: var(--port-inset-block);\n\t\t\t\tdisplay: inline-block;\n\t\t\t\twidth: var(--width);\n\t\t\t\theight: var(--height);\n\t\t\t\t&.input-primary-port {\n\t\t\t\t\t--port-inset-inline: calc(var(--width) / -2) auto;\n\t\t\t\t\t--port-inset-block: calc(50% - var(--height) / 2) 0;\n\t\t\t\t}\n\t\t\t\t&.output-primary-port {\n\t\t\t\t\t--port-inset-inline: auto calc(var(--width) / -2);\n\t\t\t\t\t--port-inset-block: calc(50% - var(--height) / 2) auto;\n\t\t\t\t}\n\t\t\t\t&.output-secondary-port {\n\t\t\t\t\t--port-inset-inline: calc(50% - var(--width) / 2) auto;\n\t\t\t\t\t--port-inset-block: calc(var(--height) / -2) auto;\n\t\t\t\t}\n\t\t\t\t&.output-tertiary-port {\n\t\t\t\t\t--port-inset-inline: calc(50% - var(--width) / 2) 0;\n\t\t\t\t\t--port-inset-block: auto calc(var(--height) / -2);\n\t\t\t\t}\n\t\t\t}\n\t\t"
31816
+ ]
31817
+ }]
31818
+ }], propDecorators: { direction: [{
31819
+ type: i0.Input
31820
+ }], data: [{
31821
+ type: i0.Input
31822
+ }], seed: [{
31823
+ type: i0.Input
31824
+ }], emit: [{
31825
+ type: i0.Input
31826
+ }], sortByIndex: [{
31827
+ type: i0.Input
31828
+ }] } });
31829
+
31830
+ var GatewayNodeComponent = /** @class */ (function (_super) {
31831
+ __extends(GatewayNodeComponent, _super);
31832
+ function GatewayNodeComponent() {
31833
+ return _super !== null && _super.apply(this, arguments) || this;
31834
+ }
31835
+ return GatewayNodeComponent;
31836
+ }(BaseNodeComponent));
31837
+ GatewayNodeComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: GatewayNodeComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
31838
+ GatewayNodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GatewayNodeComponent, selector: "ng-component", usesInheritance: true, ngImport: i0__namespace, template: "<div\r\n\tclass=\"da-node gateway-node--{{ data.type }} gateway-node {{\r\n\t\tdata?.status ? ' da-node--' + data?.status : ''\r\n\t}}\"\r\n\t[style.--node-width]=\"data.width + 'px'\"\r\n\t[style.--node-height]=\"data.width + 'px'\"\r\n>\r\n\t<div class=\"gateway-node__wrapper\">\r\n\t\t<node-remove-button\r\n\t\t\t(remove)=\"removeNode()\"\r\n\t\t\t*ngIf=\"data.config?.canRemove\"\r\n\t\t></node-remove-button>\r\n\t\t<div class=\"gateway-node__content\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"da-node__title gate-node__title\"\r\n\t\t\t\t[attr.tooltip]=\"data.content?.data?.tooltip\"\r\n\t\t\t\t[class.node-tooltip]=\"!!data.content?.data?.tooltip\"\r\n\t\t\t>\r\n\t\t\t\t{{ data.name }}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<gateway-ports\r\n\t\tclass=\"gateway-node__ports\"\r\n\t\t[data]=\"data\"\r\n\t\t[seed]=\"seed\"\r\n\t\t[emit]=\"emit\"\r\n\t\t[sortByIndex]=\"sortByIndex\"\r\n\t></gateway-ports>\r\n</div>\r\n", styles: [".da-node{--socket-size: 16px;--width: var(--node-width);--height: var(--node-height);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);z-index:var(--node-z-index, 1)}.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--ready{--node-color: var( --status-ready-color, var(--Primary-100, #234990) );--node-background: var( --status-ready-background, #fff );--node-border: var( --status-ready-border, 1px solid var(--node-color, #234990) );--node-shadow: var( --status-ready-shadow, unset )}.da-node--suspended{--node-color: var( --status-suspended-color, var(--orange-color, #f29339) );--node-background: var( --status-suspended-background, var(--light-orange-color, #fdf4dc) );--node-border: var( --status-suspended-border, 1px solid var(--orange-color, #f29339) );--node-shadow: var( --status-suspended-shadow, var(--node-shadow, inset 0 0 0 2px var(--node-background), inset 0 0 0 3px var(--orange-color, #f29339)) )}.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--canceled{--node-color: var( --status-canceled-color, var(--red-color, #bf0b30) );--node-background: var( --status-canceled-background, var(--light-red-color, #ffe0e7) );--node-border: var( --status-canceled-border, 1px solid var(--red-color, #bf0b30) );--node-shadow: var( --status-canceled-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__content{width:calc(100% - var(--socket-size));height:calc(100% - var(--socket-size));display:var(--node-display, flex);justify-content:var(--node-justify, center);align-items:var(--node-items, center);flex-direction:var(--node-direction, column);z-index:var(--node-z-index, 1)}.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:hover{--remove-icon-inset: -8px -8px auto auto;--remove-icon-opacity: 1}\n", ".gateway-node{--node-radius: 0;--angle: 45deg;--socket-radius: 0;border-width:0;background:transparent}.gateway-node__wrapper{width:calc(100% - var(--socket-size, 14px));height:calc(100% - var(--socket-size, 14px));transform:rotate(var(--angle));border:var(--node-border, 1px solid #234990);border-radius:var(--node-radius);background:var(--node-background, #fff)}.gateway-node__content{--rotate: calc(var(--angle) * -1);transform:rotate(var(--rotate));height:100%;width:100%;overflow:hidden;display:flex;justify-content:center;align-items:center}\n"], components: [{ type: RemoveButtonComponent, selector: "node-remove-button", outputs: ["remove"] }, { type: GatewayPortsComponent, selector: "gateway-ports", inputs: ["direction", "data", "seed", "emit", "sortByIndex"] }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
31839
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: GatewayNodeComponent, decorators: [{
31840
+ type: i0.Component,
31841
+ args: [{
31842
+ templateUrl: './gateway-node.component.html',
31843
+ styleUrls: ['../../styles/node.scss', './gateway-node.component.scss']
31506
31844
  }]
31507
31845
  }] });
31508
31846
 
31847
+ var NodeInputsComponent = /** @class */ (function () {
31848
+ function NodeInputsComponent() {
31849
+ }
31850
+ return NodeInputsComponent;
31851
+ }());
31852
+ NodeInputsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeInputsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
31853
+ NodeInputsComponent.ɵcmp = i0__namespace.ɵɵ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": " 'node-ports node-ports--inputs node-ports--' + direction" } }, ngImport: i0__namespace, template: "\n\t\t<div\n\t\t\t*ngFor=\"let input of data.inputs | keyvalue : sortByIndex\"\n\t\t\tclass=\"node-ports__port {{ input.value.styleClass }}\"\n\t\t\trefComponent\n\t\t\t[data]=\"{\n\t\t\t\ttype: 'socket',\n\t\t\t\tside: 'input',\n\t\t\t\tkey: input.key,\n\t\t\t\tnodeId: data.id,\n\t\t\t\tpayload: input.value?.socket,\n\t\t\t\tseed: seed\n\t\t\t}\"\n\t\t\t[emit]=\"emit\"\n\t\t></div>\n\t", isInline: true, styles: [".node-ports{--port-size: 16px;position:absolute;width:100%;height:100%}.node-port{position:absolute;inset-inline:var(--port-inset-inline);inset-block:var(--port-inset-block);display:inline-block;width:var(--port-size);height:var(--port-size)}.node-ports--inputs--start .input-primary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--start .input-secondary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: 0 auto}.node-ports--inputs--start .input-tertiary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--start .input-quaternary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: auto 0}.node-ports--inputs--end .input-primary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--end .input-secondary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: auto 0}.node-ports--inputs--end .input-tertiary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--end .input-quaternary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: 0 auto}.node-ports--inputs--top .input-primary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: 0 auto}.node-ports--inputs--top .input-secondary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--top .input-tertiary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: auto 0}.node-ports--inputs--top .input-quaternary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--bottom .input-primary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: auto 0}.node-ports--inputs--bottom .input-secondary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--bottom .input-tertiary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: 0 auto}.node-ports--inputs--bottom .input-quaternary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--outputs--top .output-primary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: 0 auto}.node-ports--outputs--top .output-secondary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--top .output-tertiary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: auto 0}.node-ports--outputs--top .output-quaternary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--bottom .output-primary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: auto 0}.node-ports--outputs--bottom .output-secondary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--bottom .output-tertiary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: 0 auto}.node-ports--outputs--bottom .output-quaternary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--start .output-primary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--start .output-secondary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: 0 auto}.node-ports--outputs--start .output-tertiary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--start .output-quaternary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: auto 0}.node-ports--outputs--end .output-primary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--end .output-secondary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: auto 0}.node-ports--outputs--end .output-tertiary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--end .output-quaternary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: 0 auto}\n"], directives: [{ type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$8.RefDirective, selector: "[refComponent]", inputs: ["data", "emit"] }], pipes: { "keyvalue": i4__namespace$1.KeyValuePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
31854
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeInputsComponent, decorators: [{
31855
+ type: i0.Component,
31856
+ args: [{
31857
+ selector: 'node-inputs',
31858
+ encapsulation: i0.ViewEncapsulation.None,
31859
+ styleUrls: ['../styles/ports.scss'],
31860
+ host: {
31861
+ '[class]': " 'node-ports node-ports--inputs node-ports--' + direction"
31862
+ },
31863
+ template: "\n\t\t<div\n\t\t\t*ngFor=\"let input of data.inputs | keyvalue : sortByIndex\"\n\t\t\tclass=\"node-ports__port {{ input.value.styleClass }}\"\n\t\t\trefComponent\n\t\t\t[data]=\"{\n\t\t\t\ttype: 'socket',\n\t\t\t\tside: 'input',\n\t\t\t\tkey: input.key,\n\t\t\t\tnodeId: data.id,\n\t\t\t\tpayload: input.value?.socket,\n\t\t\t\tseed: seed\n\t\t\t}\"\n\t\t\t[emit]=\"emit\"\n\t\t></div>\n\t"
31864
+ }]
31865
+ }], propDecorators: { direction: [{
31866
+ type: i0.Input
31867
+ }], data: [{
31868
+ type: i0.Input
31869
+ }], seed: [{
31870
+ type: i0.Input
31871
+ }], emit: [{
31872
+ type: i0.Input
31873
+ }], sortByIndex: [{
31874
+ type: i0.Input
31875
+ }] } });
31876
+
31877
+ var NodeOutputsComponent = /** @class */ (function () {
31878
+ function NodeOutputsComponent() {
31879
+ }
31880
+ return NodeOutputsComponent;
31881
+ }());
31882
+ NodeOutputsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeOutputsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
31883
+ NodeOutputsComponent.ɵcmp = i0__namespace.ɵɵ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": " 'node-ports node-ports--outputs node-ports--' + direction" } }, ngImport: i0__namespace, template: "<div\n\t\tclass=\"node-ports__port {{ output.value.styleClass }}\"\n\t\t*ngFor=\"let output of data.outputs | keyvalue : sortByIndex\"\n\t\trefComponent\n\t\t[data]=\"{\n\t\t\ttype: 'socket',\n\t\t\tside: 'output',\n\t\t\tkey: output.key,\n\t\t\tnodeId: data.id,\n\t\t\tpayload: output.value?.socket,\n\t\t\tseed: seed\n\t\t}\"\n\t\t[emit]=\"emit\"\n\t></div>", isInline: true, styles: [".node-ports{--port-size: 16px;position:absolute;width:100%;height:100%}.node-port{position:absolute;inset-inline:var(--port-inset-inline);inset-block:var(--port-inset-block);display:inline-block;width:var(--port-size);height:var(--port-size)}.node-ports--inputs--start .input-primary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--start .input-secondary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: 0 auto}.node-ports--inputs--start .input-tertiary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--start .input-quaternary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: auto 0}.node-ports--inputs--end .input-primary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--end .input-secondary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: auto 0}.node-ports--inputs--end .input-tertiary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--end .input-quaternary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: 0 auto}.node-ports--inputs--top .input-primary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: 0 auto}.node-ports--inputs--top .input-secondary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--top .input-tertiary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: auto 0}.node-ports--inputs--top .input-quaternary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--bottom .input-primary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: auto 0}.node-ports--inputs--bottom .input-secondary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--inputs--bottom .input-tertiary-port{--port-inset-inline: var( --port-offset, calc(50% - var(--port-size)) ) auto;--port-inset-block: 0 auto}.node-ports--inputs--bottom .input-quaternary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, calc(50% - var(--port-size)) ) auto}.node-ports--outputs--top .output-primary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: 0 auto}.node-ports--outputs--top .output-secondary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--top .output-tertiary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: auto 0}.node-ports--outputs--top .output-quaternary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--bottom .output-primary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: auto 0}.node-ports--outputs--bottom .output-secondary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--bottom .output-tertiary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: 0 auto}.node-ports--outputs--bottom .output-quaternary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--start .output-primary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--start .output-secondary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: 0 auto}.node-ports--outputs--start .output-tertiary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--start .output-quaternary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: auto 0}.node-ports--outputs--end .output-primary-port{--port-inset-inline: auto 0;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--end .output-secondary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: auto 0}.node-ports--outputs--end .output-tertiary-port{--port-inset-inline: 0 auto;--port-inset-block: var( --port-offset, 50% ) auto}.node-ports--outputs--end .output-quaternary-port{--port-inset-inline: var( --port-offset, 50% ) auto;--port-inset-block: 0 auto}\n"], directives: [{ type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$8.RefDirective, selector: "[refComponent]", inputs: ["data", "emit"] }], pipes: { "keyvalue": i4__namespace$1.KeyValuePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
31884
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeOutputsComponent, decorators: [{
31885
+ type: i0.Component,
31886
+ args: [{
31887
+ selector: 'node-outputs',
31888
+ encapsulation: i0.ViewEncapsulation.None,
31889
+ styleUrls: ['../styles/ports.scss'],
31890
+ host: {
31891
+ '[class]': " 'node-ports node-ports--outputs node-ports--' + direction"
31892
+ },
31893
+ template: "<div\n\t\tclass=\"node-ports__port {{ output.value.styleClass }}\"\n\t\t*ngFor=\"let output of data.outputs | keyvalue : sortByIndex\"\n\t\trefComponent\n\t\t[data]=\"{\n\t\t\ttype: 'socket',\n\t\t\tside: 'output',\n\t\t\tkey: output.key,\n\t\t\tnodeId: data.id,\n\t\t\tpayload: output.value?.socket,\n\t\t\tseed: seed\n\t\t}\"\n\t\t[emit]=\"emit\"\n\t></div>"
31894
+ }]
31895
+ }], propDecorators: { direction: [{
31896
+ type: i0.Input
31897
+ }], data: [{
31898
+ type: i0.Input
31899
+ }], seed: [{
31900
+ type: i0.Input
31901
+ }], emit: [{
31902
+ type: i0.Input
31903
+ }], sortByIndex: [{
31904
+ type: i0.Input
31905
+ }] } });
31906
+
31509
31907
  var TemplateNodeComponent = /** @class */ (function (_super) {
31510
31908
  __extends(TemplateNodeComponent, _super);
31511
31909
  function TemplateNodeComponent() {
@@ -31531,7 +31929,7 @@
31531
31929
  return TemplateNodeComponent;
31532
31930
  }(BaseNodeComponent));
31533
31931
  TemplateNodeComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateNodeComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
31534
- TemplateNodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TemplateNodeComponent, selector: "ng-component", usesInheritance: true, ngImport: i0__namespace, 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__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.Default });
31932
+ TemplateNodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TemplateNodeComponent, selector: "ng-component", usesInheritance: true, ngImport: i0__namespace, template: "<div\r\n\tclass=\"da-node da-node--{{ data.type }} {{\r\n\t\tdata?.status ? ' da-node--' + data?.status : ''\r\n\t}} {{ data?.styleClass }}\"\r\n\t[style.--node-width]=\"data.width + 'px'\"\r\n\t[style.--node-height]=\"data.height + 'px'\"\r\n>\r\n\t<node-ports\r\n\t\t[inputsDirection]=\"data.directions.inputs\"\r\n\t\t[outputsDirection]=\"data.directions.outputs\"\r\n\t\t[data]=\"data\"\r\n\t\t[seed]=\"seed\"\r\n\t\t[emit]=\"emit\"\r\n\t\t[sortByIndex]=\"sortByIndex\"\r\n\t></node-ports>\r\n\t<div class=\"da-node__content\">\r\n\t\t<node-remove-button (remove)=\"removeNode()\" *ngIf=\"data?.config?.canRemove\">\r\n\t\t</node-remove-button>\r\n\r\n\t\t<node-icon\r\n\t\t\t*ngIf=\"data.content?.icon\"\r\n\t\t\t[icon]=\"data.content?.icon\"\r\n\t\t\tclass=\"da-node__icon\"\r\n\t\t></node-icon>\r\n\r\n\t\t<ng-container\r\n\t\t\t[ngTemplateOutlet]=\"data?.template || defaultTemplate\"\r\n\t\t\t[ngTemplateOutletContext]=\"templateOutletContext\"\r\n\t\t></ng-container>\r\n\r\n\t\t<ng-template #defaultTemplate>\r\n\t\t\t<div class=\"da-node__title\">{{ data?.name }}</div>\r\n\t\t</ng-template>\r\n\t</div>\r\n</div>\r\n", styles: [".da-node{--socket-size: 16px;--width: var(--node-width);--height: var(--node-height);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);z-index:var(--node-z-index, 1)}.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--ready{--node-color: var( --status-ready-color, var(--Primary-100, #234990) );--node-background: var( --status-ready-background, #fff );--node-border: var( --status-ready-border, 1px solid var(--node-color, #234990) );--node-shadow: var( --status-ready-shadow, unset )}.da-node--suspended{--node-color: var( --status-suspended-color, var(--orange-color, #f29339) );--node-background: var( --status-suspended-background, var(--light-orange-color, #fdf4dc) );--node-border: var( --status-suspended-border, 1px solid var(--orange-color, #f29339) );--node-shadow: var( --status-suspended-shadow, var(--node-shadow, inset 0 0 0 2px var(--node-background), inset 0 0 0 3px var(--orange-color, #f29339)) )}.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--canceled{--node-color: var( --status-canceled-color, var(--red-color, #bf0b30) );--node-background: var( --status-canceled-background, var(--light-red-color, #ffe0e7) );--node-border: var( --status-canceled-border, 1px solid var(--red-color, #bf0b30) );--node-shadow: var( --status-canceled-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__content{width:calc(100% - var(--socket-size));height:calc(100% - var(--socket-size));display:var(--node-display, flex);justify-content:var(--node-justify, center);align-items:var(--node-items, center);flex-direction:var(--node-direction, column);z-index:var(--node-z-index, 1)}.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:hover{--remove-icon-inset: -8px -8px auto auto;--remove-icon-opacity: 1}\n", "\n :host {\n display: block;\n }\n "], components: [{ type: NodePortsComponent, selector: "node-ports", inputs: ["inputsDirection", "outputsDirection", "data", "seed", "emit", "sortByIndex"] }, { type: RemoveButtonComponent, selector: "node-remove-button", outputs: ["remove"] }, { type: NodeIconComponent, selector: "node-icon", inputs: ["icon"] }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.Default });
31535
31933
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateNodeComponent, decorators: [{
31536
31934
  type: i0.Component,
31537
31935
  args: [{
@@ -31607,24 +32005,23 @@
31607
32005
  DiagramDirective.prototype.ngAfterViewInit = function () {
31608
32006
  return __awaiter(this, void 0, void 0, function () {
31609
32007
  var editor, error_1;
31610
- return __generator(this, function (_a) {
31611
- switch (_a.label) {
32008
+ return __generator(this, function (_c) {
32009
+ switch (_c.label) {
31612
32010
  case 0:
31613
32011
  this._appendZoomComponent();
31614
- _a.label = 1;
32012
+ _c.label = 1;
31615
32013
  case 1:
31616
- _a.trys.push([1, 3, , 4]);
31617
- return [4 /*yield*/, createDiagramEditor(this._elementRef.nativeElement, this._injector, this.config //TODO it's Should be merged with DIAGRAM_DEFAULT_OPTIONS
31618
- )];
32014
+ _c.trys.push([1, 3, , 4]);
32015
+ return [4 /*yield*/, createDiagramEditor(this._elementRef.nativeElement, this._injector, this.config)];
31619
32016
  case 2:
31620
- editor = _a.sent();
32017
+ editor = _c.sent();
31621
32018
  this._pluginsService.setPlugins(editor);
31622
32019
  this._diagramService.setEditor(editor);
31623
32020
  this.diagramEditor = editor;
31624
32021
  this.onDiagramReady.emit(editor);
31625
32022
  return [3 /*break*/, 4];
31626
32023
  case 3:
31627
- error_1 = _a.sent();
32024
+ error_1 = _c.sent();
31628
32025
  console.log(error_1);
31629
32026
  return [3 /*break*/, 4];
31630
32027
  case 4: return [2 /*return*/];
@@ -31634,14 +32031,18 @@
31634
32031
  };
31635
32032
  DiagramDirective.prototype._appendStyles = function () {
31636
32033
  var _this = this;
32034
+ var _a, _b;
31637
32035
  var _requiredStyles = {
31638
32036
  position: 'var(--diagram-position, relative)',
31639
32037
  width: "var(--diagram-width, " + this.width + ")",
31640
32038
  height: "var(--diagram-height, " + this.height + ")",
31641
- direction: 'ltr',
32039
+ direction: 'ltr'
31642
32040
  };
31643
- Object.entries(_requiredStyles).forEach(function (_a) {
31644
- var _b = __read(_a, 2), key = _b[0], value = _b[1];
32041
+ if ((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.readonly) === null || _b === void 0 ? void 0 : _b.active) {
32042
+ this._elementRef.nativeElement.style.setProperty('--port-offset', 'var(--custom-diagram-port-offset , calc(50% - 8px))');
32043
+ }
32044
+ Object.entries(_requiredStyles).forEach(function (_c) {
32045
+ var _d = __read(_c, 2), key = _d[0], value = _d[1];
31645
32046
  _this._renderer.setStyle(_this._elementRef.nativeElement, key, value);
31646
32047
  });
31647
32048
  };
@@ -31653,7 +32054,7 @@
31653
32054
  type: i0.Directive,
31654
32055
  args: [{
31655
32056
  selector: '[appDiagram]',
31656
- exportAs: 'diagram',
32057
+ exportAs: 'diagram'
31657
32058
  }]
31658
32059
  }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }, { type: i0__namespace.Injector }, { type: i0__namespace.ViewContainerRef }, { type: i0__namespace.ComponentFactoryResolver }, { type: DiagramService }, { type: DiagramPluginsService }]; }, propDecorators: { height: [{
31659
32060
  type: i0.Input
@@ -31684,7 +32085,11 @@
31684
32085
  NodeIconComponent,
31685
32086
  StatusIconComponent,
31686
32087
  NodeInputsComponent,
31687
- NodeOutputsComponent], imports: [i4.CommonModule,
32088
+ NodeOutputsComponent,
32089
+ GatewayNodeComponent,
32090
+ ConnectionLabelComponent,
32091
+ NodePortsComponent,
32092
+ GatewayPortsComponent], imports: [i4.CommonModule,
31688
32093
  i2$8.ReteModule,
31689
32094
  i1$7.MatButtonModule,
31690
32095
  i2$1.MatIconModule,
@@ -31698,7 +32103,7 @@
31698
32103
  i2$1.MatIconModule,
31699
32104
  i6.FormsModule,
31700
32105
  i1$1.TranslateModule,
31701
- i2$2.MatTooltipModule,
32106
+ i2$2.MatTooltipModule
31702
32107
  ]] });
31703
32108
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DiagramsModule, decorators: [{
31704
32109
  type: i0.NgModule,
@@ -31716,6 +32121,10 @@
31716
32121
  StatusIconComponent,
31717
32122
  NodeInputsComponent,
31718
32123
  NodeOutputsComponent,
32124
+ GatewayNodeComponent,
32125
+ ConnectionLabelComponent,
32126
+ NodePortsComponent,
32127
+ GatewayPortsComponent
31719
32128
  ],
31720
32129
  imports: [
31721
32130
  i4.CommonModule,
@@ -31724,10 +32133,10 @@
31724
32133
  i2$1.MatIconModule,
31725
32134
  i6.FormsModule,
31726
32135
  i1$1.TranslateModule,
31727
- i2$2.MatTooltipModule,
32136
+ i2$2.MatTooltipModule
31728
32137
  ],
31729
32138
  exports: [DiagramDirective, ZoomControlComponent],
31730
- providers: [DiagramService, DiagramPluginsService, WorkflowService],
32139
+ providers: [DiagramService, DiagramPluginsService, WorkflowService]
31731
32140
  }]
31732
32141
  }] });
31733
32142
 
@@ -33991,6 +34400,7 @@
33991
34400
  exports.ConfirmationDialogComponent = ConfirmationDialogComponent;
33992
34401
  exports.ConfirmationDialogModule = ConfirmationDialogModule;
33993
34402
  exports.Connection = Connection;
34403
+ exports.ConnectionLabelComponent = ConnectionLabelComponent;
33994
34404
  exports.ContentNode = ContentNode;
33995
34405
  exports.ContentNodeComponent = ContentNodeComponent;
33996
34406
  exports.CopyComponent = CopyComponent;
@@ -34026,6 +34436,7 @@
34026
34436
  exports.DiagramDirective = DiagramDirective;
34027
34437
  exports.DiagramPluginsService = DiagramPluginsService;
34028
34438
  exports.DiagramService = DiagramService;
34439
+ exports.DiagramUtils = DiagramUtils;
34029
34440
  exports.DiagramsModule = DiagramsModule;
34030
34441
  exports.DialogMangmentService = DialogMangmentService;
34031
34442
  exports.DirectiveModule = DirectiveModule;
@@ -34097,6 +34508,8 @@
34097
34508
  exports.FilterModule = FilterModule;
34098
34509
  exports.FolderModalComponent = FolderModalComponent;
34099
34510
  exports.FormBuilderService = FormBuilderService;
34511
+ exports.GatewayNodeComponent = GatewayNodeComponent;
34512
+ exports.GatewayPortsComponent = GatewayPortsComponent;
34100
34513
  exports.GlobalAdminService = GlobalAdminService;
34101
34514
  exports.GlobalPdfTron = GlobalPdfTron;
34102
34515
  exports.GregorianDatepickerComponent = GregorianDatepickerComponent;
@@ -34106,6 +34519,7 @@
34106
34519
  exports.IN_OUT_DIRECTION = IN_OUT_DIRECTION;
34107
34520
  exports.IconService = IconService;
34108
34521
  exports.InitializationService = InitializationService;
34522
+ exports.InputPort = InputPort;
34109
34523
  exports.ItemListComponent = ItemListComponent;
34110
34524
  exports.LatestActivityComponent = LatestActivityComponent;
34111
34525
  exports.LatestActivityModule = LatestActivityModule;
@@ -34124,6 +34538,7 @@
34124
34538
  exports.MultipleDynamicFormViewerComponent = MultipleDynamicFormViewerComponent;
34125
34539
  exports.MutipleDynamicFormViewerModule = MutipleDynamicFormViewerModule;
34126
34540
  exports.NODE_CIRCLE_SIZE = NODE_CIRCLE_SIZE;
34541
+ exports.NODE_GATEWAY_SIZE = NODE_GATEWAY_SIZE;
34127
34542
  exports.NODE_HEIGHT = NODE_HEIGHT;
34128
34543
  exports.NODE_MARGIN = NODE_MARGIN;
34129
34544
  exports.NODE_STATUS = NODE_STATUS;
@@ -34141,6 +34556,7 @@
34141
34556
  exports.NodeIconComponent = NodeIconComponent;
34142
34557
  exports.NodeInputsComponent = NodeInputsComponent;
34143
34558
  exports.NodeOutputsComponent = NodeOutputsComponent;
34559
+ exports.NodePortsComponent = NodePortsComponent;
34144
34560
  exports.NotificationIconDirective = NotificationIconDirective;
34145
34561
  exports.NotificationItemComponent = NotificationItemComponent;
34146
34562
  exports.NotificationItemDirective = NotificationItemDirective;
@@ -34162,6 +34578,7 @@
34162
34578
  exports.NuxeoDialogService = NuxeoDialogService;
34163
34579
  exports.NuxeoMapper = NuxeoMapper;
34164
34580
  exports.NuxeoService = NuxeoService;
34581
+ exports.OutputPort = OutputPort;
34165
34582
  exports.PAGINATION_MODE = PAGINATION_MODE;
34166
34583
  exports.PANEL_MODE = PANEL_MODE;
34167
34584
  exports.PaginationComponent = PaginationComponent;
@@ -34242,6 +34659,7 @@
34242
34659
  exports.extensionJsonsFactory = extensionJsonsFactory;
34243
34660
  exports.filterEnabled = filterEnabled;
34244
34661
  exports.getConnections = getConnections;
34662
+ exports.getRandomNumber = getRandomNumber;
34245
34663
  exports.getValue = getValue;
34246
34664
  exports.mergeArrays = mergeArrays;
34247
34665
  exports.mergeObjects = mergeObjects;