nuxeo-development-framework 4.0.1 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +1661 -81
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/diagrams/components/base-node.component.js +41 -0
  4. package/esm2015/lib/components/diagrams/components/circle-node/circle-node.component.js +20 -0
  5. package/esm2015/lib/components/diagrams/components/content-node/content-node.component.js +21 -0
  6. package/esm2015/lib/components/diagrams/components/custom-connection.component.js +48 -0
  7. package/esm2015/lib/components/diagrams/components/custom-socket.component.js +34 -0
  8. package/esm2015/lib/components/diagrams/components/index.js +12 -0
  9. package/esm2015/lib/components/diagrams/components/node-icon.component.js +35 -0
  10. package/esm2015/lib/components/diagrams/components/node-inputs.component.js +62 -0
  11. package/esm2015/lib/components/diagrams/components/node-outputs.component.js +58 -0
  12. package/esm2015/lib/components/diagrams/components/remove-button.component.js +65 -0
  13. package/esm2015/lib/components/diagrams/components/status-icon.component.js +37 -0
  14. package/esm2015/lib/components/diagrams/components/template-node/template-node.component.js +41 -0
  15. package/esm2015/lib/components/diagrams/components/zoom-control.component.js +62 -0
  16. package/esm2015/lib/components/diagrams/constants/defaults.js +19 -0
  17. package/esm2015/lib/components/diagrams/constants/direction.js +7 -0
  18. package/esm2015/lib/components/diagrams/constants/index.js +8 -0
  19. package/esm2015/lib/components/diagrams/constants/message-type.js +5 -0
  20. package/esm2015/lib/components/diagrams/constants/node-type.js +7 -0
  21. package/esm2015/lib/components/diagrams/constants/notify-events.js +4 -0
  22. package/esm2015/lib/components/diagrams/constants/sizes.js +7 -0
  23. package/esm2015/lib/components/diagrams/constants/status.js +9 -0
  24. package/esm2015/lib/components/diagrams/diagrams.module.js +73 -0
  25. package/esm2015/lib/components/diagrams/directive/diagram.directive.js +83 -0
  26. package/esm2015/lib/components/diagrams/directive/index.js +2 -0
  27. package/esm2015/lib/components/diagrams/editor/customize.js +58 -0
  28. package/esm2015/lib/components/diagrams/editor/editor.js +95 -0
  29. package/esm2015/lib/components/diagrams/editor/index.js +5 -0
  30. package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +25 -0
  31. package/esm2015/lib/components/diagrams/editor/overrides/index.js +2 -0
  32. package/esm2015/lib/components/diagrams/editor/path-plugin.js +17 -0
  33. package/esm2015/lib/components/diagrams/editor/socket-position-watcher.js +7 -0
  34. package/esm2015/lib/components/diagrams/index.js +2 -0
  35. package/esm2015/lib/components/diagrams/models/base-node.model.js +25 -0
  36. package/esm2015/lib/components/diagrams/models/circle-node.model.js +10 -0
  37. package/esm2015/lib/components/diagrams/models/connection.model.js +8 -0
  38. package/esm2015/lib/components/diagrams/models/content-node.model.js +7 -0
  39. package/esm2015/lib/components/diagrams/models/index.js +7 -0
  40. package/esm2015/lib/components/diagrams/models/socket.model.js +8 -0
  41. package/esm2015/lib/components/diagrams/models/template-node.model.js +12 -0
  42. package/esm2015/lib/components/diagrams/public-api.js +9 -0
  43. package/esm2015/lib/components/diagrams/services/diagram-plugins.service.js +19 -0
  44. package/esm2015/lib/components/diagrams/services/diagram.service.js +174 -0
  45. package/esm2015/lib/components/diagrams/services/index.js +5 -0
  46. package/esm2015/lib/components/diagrams/services/message.service.js +24 -0
  47. package/esm2015/lib/components/diagrams/services/workflow.service.js +244 -0
  48. package/esm2015/lib/components/diagrams/types/common.type.js +2 -0
  49. package/esm2015/lib/components/diagrams/types/customization.type.js +2 -0
  50. package/esm2015/lib/components/diagrams/types/diagram-config.type.js +2 -0
  51. package/esm2015/lib/components/diagrams/types/diagram-editor.type.js +2 -0
  52. package/esm2015/lib/components/diagrams/types/emitter-type.js +2 -0
  53. package/esm2015/lib/components/diagrams/types/index.js +14 -0
  54. package/esm2015/lib/components/diagrams/types/layout.type.js +2 -0
  55. package/esm2015/lib/components/diagrams/types/node-content.js +2 -0
  56. package/esm2015/lib/components/diagrams/types/node-definition.js +2 -0
  57. package/esm2015/lib/components/diagrams/types/node-status.type.js +2 -0
  58. package/esm2015/lib/components/diagrams/types/node.type.js +2 -0
  59. package/esm2015/lib/components/diagrams/types/notify-event.type.js +2 -0
  60. package/esm2015/lib/components/diagrams/types/path.type.js +2 -0
  61. package/esm2015/lib/components/diagrams/types/schemes.type.js +2 -0
  62. package/esm2015/lib/components/diagrams/utilities/index.js +3 -0
  63. package/esm2015/lib/components/diagrams/utilities/remove.util.js +95 -0
  64. package/esm2015/lib/components/diagrams/utilities/serialize.js +23 -0
  65. package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +2 -1
  66. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +25 -2
  67. package/esm2015/public-api.js +3 -2
  68. package/fesm2015/nuxeo-development-framework.js +1561 -75
  69. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  70. package/lib/components/diagrams/components/base-node.component.d.ts +29 -0
  71. package/lib/components/diagrams/components/circle-node/circle-node.component.d.ts +7 -0
  72. package/lib/components/diagrams/components/content-node/content-node.component.d.ts +8 -0
  73. package/lib/components/diagrams/components/custom-connection.component.d.ts +8 -0
  74. package/lib/components/diagrams/components/custom-socket.component.d.ts +6 -0
  75. package/lib/components/diagrams/components/index.d.ts +11 -0
  76. package/lib/components/diagrams/components/node-icon.component.d.ts +8 -0
  77. package/lib/components/diagrams/components/node-inputs.component.d.ts +12 -0
  78. package/lib/components/diagrams/components/node-outputs.component.d.ts +12 -0
  79. package/lib/components/diagrams/components/remove-button.component.d.ts +7 -0
  80. package/lib/components/diagrams/components/status-icon.component.d.ts +8 -0
  81. package/lib/components/diagrams/components/template-node/template-node.component.d.ts +17 -0
  82. package/lib/components/diagrams/components/zoom-control.component.d.ts +11 -0
  83. package/lib/components/diagrams/constants/defaults.d.ts +2 -0
  84. package/lib/components/diagrams/constants/direction.d.ts +6 -0
  85. package/lib/components/diagrams/constants/index.d.ts +7 -0
  86. package/lib/components/diagrams/constants/message-type.d.ts +4 -0
  87. package/lib/components/diagrams/constants/node-type.d.ts +6 -0
  88. package/lib/components/diagrams/constants/notify-events.d.ts +3 -0
  89. package/lib/components/diagrams/constants/sizes.d.ts +6 -0
  90. package/lib/components/diagrams/constants/status.d.ts +8 -0
  91. package/lib/components/diagrams/diagrams.module.d.ts +25 -0
  92. package/lib/components/diagrams/directive/diagram.directive.d.ts +27 -0
  93. package/lib/components/diagrams/directive/index.d.ts +1 -0
  94. package/lib/components/diagrams/editor/customize.d.ts +25 -0
  95. package/lib/components/diagrams/editor/editor.d.ts +3 -0
  96. package/lib/components/diagrams/editor/index.d.ts +4 -0
  97. package/lib/components/diagrams/editor/overrides/connection-path.transformers.d.ts +7 -0
  98. package/lib/components/diagrams/editor/overrides/index.d.ts +1 -0
  99. package/lib/components/diagrams/editor/path-plugin.d.ts +4 -0
  100. package/lib/components/diagrams/editor/socket-position-watcher.d.ts +3 -0
  101. package/lib/components/diagrams/index.d.ts +1 -0
  102. package/lib/components/diagrams/models/base-node.model.d.ts +21 -0
  103. package/lib/components/diagrams/models/circle-node.model.d.ts +7 -0
  104. package/lib/components/diagrams/models/connection.model.d.ts +8 -0
  105. package/lib/components/diagrams/models/content-node.model.d.ts +5 -0
  106. package/lib/components/diagrams/models/index.d.ts +6 -0
  107. package/lib/components/diagrams/models/socket.model.d.ts +5 -0
  108. package/lib/components/diagrams/models/template-node.model.d.ts +8 -0
  109. package/lib/components/diagrams/public-api.d.ts +8 -0
  110. package/lib/components/diagrams/services/diagram-plugins.service.d.ts +16 -0
  111. package/lib/components/diagrams/services/diagram.service.d.ts +42 -0
  112. package/lib/components/diagrams/services/index.d.ts +4 -0
  113. package/lib/components/diagrams/services/message.service.d.ts +10 -0
  114. package/lib/components/diagrams/services/workflow.service.d.ts +81 -0
  115. package/lib/components/diagrams/types/common.type.d.ts +4 -0
  116. package/lib/components/diagrams/types/customization.type.d.ts +10 -0
  117. package/lib/components/diagrams/types/diagram-config.type.d.ts +36 -0
  118. package/lib/components/diagrams/types/diagram-editor.type.d.ts +25 -0
  119. package/lib/components/diagrams/types/emitter-type.d.ts +5 -0
  120. package/lib/components/diagrams/types/index.d.ts +13 -0
  121. package/lib/components/diagrams/types/layout.type.d.ts +13 -0
  122. package/lib/components/diagrams/types/node-content.d.ts +9 -0
  123. package/lib/components/diagrams/types/node-definition.d.ts +19 -0
  124. package/lib/components/diagrams/types/node-status.type.d.ts +2 -0
  125. package/lib/components/diagrams/types/node.type.d.ts +2 -0
  126. package/lib/components/diagrams/types/notify-event.type.d.ts +2 -0
  127. package/lib/components/diagrams/types/path.type.d.ts +17 -0
  128. package/lib/components/diagrams/types/schemes.type.d.ts +3 -0
  129. package/lib/components/diagrams/utilities/index.d.ts +2 -0
  130. package/lib/components/diagrams/utilities/remove.util.d.ts +30 -0
  131. package/lib/components/diagrams/utilities/serialize.d.ts +15 -0
  132. package/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.d.ts +1 -0
  133. package/package.json +14 -2
  134. package/public-api.d.ts +2 -1
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('@angular/forms'), require('rxjs/operators'), require('@angular/platform-browser'), require('rxjs'), require('crypto-js'), require('@ngx-translate/core'), require('moment-es6'), require('keycloak-angular'), require('ngx-cookie-service'), require('moment-hijri'), require('@angular/material/icon'), require('@angular/material/progress-spinner'), require('@angular/material/tooltip'), require('ngx-infinite-scroll'), require('@angular/router'), require('@angular/material/list'), require('@angular/material/menu'), require('angular-ng-autocomplete'), require('@angular/material/core'), require('@angular/material/dialog'), require('ngx-toastr'), require('@angular/animations'), require('@angular/cdk/bidi'), require('ts-cacheable'), require('@ng-select/ng-select'), require('@angular/material/form-field'), require('@angular/material/chips'), require('@angular/material/expansion'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/datepicker'), require('@angular/material/input'), require('@angular/material/radio'), require('@angular/material/slide-toggle'), require('@busacca/ng-pick-datetime'), require('@mat-datetimepicker/core'), require('angular-formio'), require('ngx-treeview'), require('@ng-bootstrap/ng-bootstrap'), require('moment'), require('formiojs'), require('lodash'), require('lodash/find'), require('lodash/isEqual'), require('@swimlane/ngx-datatable'), require('@angular/cdk/layout'), require('@angular/material/autocomplete'), require('dwt'), require('@angular/material/progress-bar'), require('chart.js'), require('chartjs-plugin-piechart-outlabels'), require('chartjs-plugin-labels'), require('devextreme-angular'), require('file-saver'), require('devextreme-angular/ui/nested'), require('devextreme-angular/core'), require('@pdftron/webviewer'), require('@angular/material/tabs'), require('@angular/material/divider'), require('@angular/common/locales/ar'), require('@angular/common/locales/en'), require('@rxweb/reactive-form-validators'), require('@angular/material/badge'), require('@angular/material/toolbar')) :
3
- typeof define === 'function' && define.amd ? define('nuxeo-development-framework', ['exports', '@angular/core', '@angular/common', '@angular/common/http', '@angular/forms', 'rxjs/operators', '@angular/platform-browser', 'rxjs', 'crypto-js', '@ngx-translate/core', 'moment-es6', 'keycloak-angular', 'ngx-cookie-service', 'moment-hijri', '@angular/material/icon', '@angular/material/progress-spinner', '@angular/material/tooltip', 'ngx-infinite-scroll', '@angular/router', '@angular/material/list', '@angular/material/menu', 'angular-ng-autocomplete', '@angular/material/core', '@angular/material/dialog', 'ngx-toastr', '@angular/animations', '@angular/cdk/bidi', 'ts-cacheable', '@ng-select/ng-select', '@angular/material/form-field', '@angular/material/chips', '@angular/material/expansion', '@angular/material/button', '@angular/material/checkbox', '@angular/material/datepicker', '@angular/material/input', '@angular/material/radio', '@angular/material/slide-toggle', '@busacca/ng-pick-datetime', '@mat-datetimepicker/core', 'angular-formio', 'ngx-treeview', '@ng-bootstrap/ng-bootstrap', 'moment', 'formiojs', 'lodash', 'lodash/find', 'lodash/isEqual', '@swimlane/ngx-datatable', '@angular/cdk/layout', '@angular/material/autocomplete', 'dwt', '@angular/material/progress-bar', 'chart.js', 'chartjs-plugin-piechart-outlabels', 'chartjs-plugin-labels', 'devextreme-angular', 'file-saver', 'devextreme-angular/ui/nested', 'devextreme-angular/core', '@pdftron/webviewer', '@angular/material/tabs', '@angular/material/divider', '@angular/common/locales/ar', '@angular/common/locales/en', '@rxweb/reactive-form-validators', '@angular/material/badge', '@angular/material/toolbar'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["nuxeo-development-framework"] = {}, global.ng.core, global.ng.common, global.ng.common.http, global.ng.forms, global.rxjs.operators, global.ng.platformBrowser, global.rxjs, global.CryptoJS, global.i1$1, global.moment$4, global.i2$1, global.i3, global.moment_, global.ng.material.icon, global.ng.material.progressSpinner, global.ng.material.tooltip, global.i9, global.ng.router, global.ng.material.list, global.ng.material.menu, global.i6$1, global.ng.material.core, global.ng.material.dialog, global.i1$4, global.ng.animations, global.ng.cdk.bidi, global.tsCacheable, global.i5, global.ng.material.formField, global.ng.material.chips, global.ng.material.expansion, global.ng.material.button, global.ng.material.checkbox, global.ng.material.datepicker, global.ng.material.input, global.ng.material.radio, global.ng.material.slideToggle, global.i6$4, global.core, global.i3$2, global.i1$6, global.i1$5, global.moment$5, global.formiojs, global._, global._find, global._isEqual, global.i4$2, global.ng.cdk.layout, global.ng.material.autocomplete, global.Dynamsoft, global.ng.material.progressBar, global.chart_js, null, null, global.i3$3, global.FileSaver, global.i4$4, global.i5$3, global.WebViewer, global.ng.material.tabs, global.ng.material.divider, global.ng.common.locales.ar, global.ng.common.locales.en, global.reactiveFormValidators, global.ng.material.badge, global.ng.material.toolbar));
5
- })(this, (function (exports, i0, i4, i1, i6, operators, i2, rxjs, CryptoJS, i1$1, moment$4, i2$1, i3, moment_, i2$3, i8, i2$5, i9, i1$2, i2$2, i3$1, i6$1, i2$4, i1$3, i1$4, animations, i4$1, tsCacheable, i5, i6$2, i7, i6$3, i1$7, i7$1, datepicker, i5$1, i2$7, i2$6, i6$4, core, i3$2, i1$6, i1$5, moment$5, formiojs, _, _find, _isEqual, i4$2, i5$2, i7$2, Dynamsoft, i4$3, chart_js, chartjsPluginPiechartOutlabels, chartjsPluginLabels, i3$3, FileSaver, i4$4, i5$3, WebViewer, i1$8, i8$1, localeAr, localeEn, reactiveFormValidators, i7$3, toolbar) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('@angular/forms'), require('rxjs/operators'), require('@angular/platform-browser'), require('rxjs'), require('crypto-js'), require('@ngx-translate/core'), require('moment-es6'), require('keycloak-angular'), require('ngx-cookie-service'), require('moment-hijri'), require('@angular/material/icon'), require('@angular/material/progress-spinner'), require('@angular/material/tooltip'), require('ngx-infinite-scroll'), require('@angular/router'), require('@angular/material/list'), require('@angular/material/menu'), require('angular-ng-autocomplete'), require('@angular/material/core'), require('@angular/material/dialog'), require('ngx-toastr'), require('@angular/animations'), require('@angular/cdk/bidi'), require('ts-cacheable'), require('@ng-select/ng-select'), require('@angular/material/form-field'), require('@angular/material/chips'), require('@angular/material/expansion'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/datepicker'), require('@angular/material/input'), require('@angular/material/radio'), require('@angular/material/slide-toggle'), require('@busacca/ng-pick-datetime'), require('@mat-datetimepicker/core'), require('angular-formio'), require('ngx-treeview'), require('@ng-bootstrap/ng-bootstrap'), require('moment'), require('formiojs'), require('lodash'), require('lodash/find'), require('lodash/isEqual'), require('@swimlane/ngx-datatable'), require('@angular/cdk/layout'), require('@angular/material/autocomplete'), require('dwt'), require('@angular/material/progress-bar'), require('chart.js'), require('chartjs-plugin-piechart-outlabels'), require('chartjs-plugin-labels'), require('devextreme-angular'), require('file-saver'), require('devextreme-angular/ui/nested'), require('devextreme-angular/core'), require('@pdftron/webviewer'), require('@angular/material/tabs'), require('@angular/material/divider'), require('@angular/common/locales/ar'), require('@angular/common/locales/en'), require('@rxweb/reactive-form-validators'), require('rete-angular-plugin'), require('rete'), require('rete-area-plugin'), require('rete-auto-arrange-plugin'), require('rete-connection-plugin'), require('rete-connection-reroute-plugin'), require('rete-readonly-plugin'), require('rete-minimap-plugin'), require('d3-shape'), require('rete-connection-path-plugin'), require('rete-render-utils'), require('@angular/material/badge'), require('@angular/material/toolbar')) :
3
+ typeof define === 'function' && define.amd ? define('nuxeo-development-framework', ['exports', '@angular/core', '@angular/common', '@angular/common/http', '@angular/forms', 'rxjs/operators', '@angular/platform-browser', 'rxjs', 'crypto-js', '@ngx-translate/core', 'moment-es6', 'keycloak-angular', 'ngx-cookie-service', 'moment-hijri', '@angular/material/icon', '@angular/material/progress-spinner', '@angular/material/tooltip', 'ngx-infinite-scroll', '@angular/router', '@angular/material/list', '@angular/material/menu', 'angular-ng-autocomplete', '@angular/material/core', '@angular/material/dialog', 'ngx-toastr', '@angular/animations', '@angular/cdk/bidi', 'ts-cacheable', '@ng-select/ng-select', '@angular/material/form-field', '@angular/material/chips', '@angular/material/expansion', '@angular/material/button', '@angular/material/checkbox', '@angular/material/datepicker', '@angular/material/input', '@angular/material/radio', '@angular/material/slide-toggle', '@busacca/ng-pick-datetime', '@mat-datetimepicker/core', 'angular-formio', 'ngx-treeview', '@ng-bootstrap/ng-bootstrap', 'moment', 'formiojs', 'lodash', 'lodash/find', 'lodash/isEqual', '@swimlane/ngx-datatable', '@angular/cdk/layout', '@angular/material/autocomplete', 'dwt', '@angular/material/progress-bar', 'chart.js', 'chartjs-plugin-piechart-outlabels', 'chartjs-plugin-labels', 'devextreme-angular', 'file-saver', 'devextreme-angular/ui/nested', 'devextreme-angular/core', '@pdftron/webviewer', '@angular/material/tabs', '@angular/material/divider', '@angular/common/locales/ar', '@angular/common/locales/en', '@rxweb/reactive-form-validators', 'rete-angular-plugin', 'rete', 'rete-area-plugin', 'rete-auto-arrange-plugin', 'rete-connection-plugin', 'rete-connection-reroute-plugin', 'rete-readonly-plugin', 'rete-minimap-plugin', 'd3-shape', 'rete-connection-path-plugin', 'rete-render-utils', '@angular/material/badge', '@angular/material/toolbar'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["nuxeo-development-framework"] = {}, global.ng.core, global.ng.common, global.ng.common.http, global.ng.forms, global.rxjs.operators, global.ng.platformBrowser, global.rxjs, global.CryptoJS, global.i1$1, global.moment$4, global.i2$1, global.i3, global.moment_, global.ng.material.icon, global.ng.material.progressSpinner, global.ng.material.tooltip, global.i9, global.ng.router, global.ng.material.list, global.ng.material.menu, global.i6$1, global.ng.material.core, global.ng.material.dialog, global.i1$4, global.ng.animations, global.ng.cdk.bidi, global.tsCacheable, global.i5, global.ng.material.formField, global.ng.material.chips, global.ng.material.expansion, global.ng.material.button, global.ng.material.checkbox, global.ng.material.datepicker, global.ng.material.input, global.ng.material.radio, global.ng.material.slideToggle, global.i6$4, global.core, global.i3$2, global.i1$6, global.i1$5, global.moment$5, global.formiojs, global._, global._find, global._isEqual, global.i4$2, global.ng.cdk.layout, global.ng.material.autocomplete, global.Dynamsoft, global.ng.material.progressBar, global.chart_js, null, null, global.i3$3, global.FileSaver, global.i4$4, global.i5$3, global.WebViewer, global.ng.material.tabs, global.ng.material.divider, global.ng.common.locales.ar, global.ng.common.locales.en, global.reactiveFormValidators, global.i2$8, global.rete, global.reteAreaPlugin, global.reteAutoArrangePlugin, global.reteConnectionPlugin, global.reteConnectionReroutePlugin, global.reteReadonlyPlugin, global.reteMinimapPlugin, global.d3Shape, global.reteConnectionPathPlugin, global.reteRenderUtils, global.ng.material.badge, global.ng.material.toolbar));
5
+ })(this, (function (exports, i0, i4, i1, i6, operators, i2, rxjs, CryptoJS, i1$1, moment$4, i2$1, i3, moment_, i2$3, i8, i2$5, i9, i1$2, i2$2, i3$1, i6$1, i2$4, i1$3, i1$4, animations, i4$1, tsCacheable, i5, i6$2, i7, i6$3, i1$7, i7$1, datepicker, i5$1, i2$7, i2$6, i6$4, core, i3$2, i1$6, i1$5, moment$5, formiojs, _, _find, _isEqual, i4$2, i5$2, i7$2, Dynamsoft, i4$3, chart_js, chartjsPluginPiechartOutlabels, chartjsPluginLabels, i3$3, FileSaver, i4$4, i5$3, WebViewer, i1$8, i8$1, localeAr, localeEn, reactiveFormValidators, i2$8, rete, reteAreaPlugin, reteAutoArrangePlugin, reteConnectionPlugin, reteConnectionReroutePlugin, reteReadonlyPlugin, reteMinimapPlugin, d3Shape, reteConnectionPathPlugin, reteRenderUtils, i7$3, toolbar) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -79,6 +79,7 @@
79
79
  var i8__namespace$1 = /*#__PURE__*/_interopNamespace(i8$1);
80
80
  var localeAr__default = /*#__PURE__*/_interopDefaultLegacy(localeAr);
81
81
  var localeEn__default = /*#__PURE__*/_interopDefaultLegacy(localeEn);
82
+ var i2__namespace$8 = /*#__PURE__*/_interopNamespace(i2$8);
82
83
  var i7__namespace$3 = /*#__PURE__*/_interopNamespace(i7$3);
83
84
 
84
85
  var NuxeoDevelopmentFrameworkComponent = /** @class */ (function () {
@@ -7948,6 +7949,23 @@
7948
7949
  return treeItem;
7949
7950
  });
7950
7951
  };
7952
+ DepartmentApiService.prototype.getFullDepartmentTree = function (customPageProvider, customParams) {
7953
+ var obj = customParams ? customParams : {};
7954
+ var params = Object.assign({ pageProvider: customPageProvider ? customPageProvider : 'PP_Department', currentPageIndex: 0, offset: 0, pageSize: 40, quickFilters: 'Parent Dept' }, obj);
7955
+ if (this.globalAdminService.isGlobalAdmin) {
7956
+ params['queryParams'] = this.globalAdminService.activeTenant;
7957
+ }
7958
+ else if (!this.globalAdminService.isGlobalAdmin && this.nuxeoService.nuxeoClient.user.properties.tenantId) {
7959
+ params['queryParams'] = this.nuxeoService.nuxeoClient.user.properties.tenantId;
7960
+ }
7961
+ return this.CallApiService.query(Object.assign({}, params), {
7962
+ headers: {
7963
+ 'X-NXproperties': '*',
7964
+ 'enrichers-document': 'children',
7965
+ depth: 'max',
7966
+ },
7967
+ });
7968
+ };
7951
7969
  return DepartmentApiService;
7952
7970
  }());
7953
7971
  DepartmentApiService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DepartmentApiService, deps: [{ token: CallApiService }, { token: TranslationService }, { token: NuxeoService }, { token: AdapterService }, { token: GlobalAdminService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
@@ -7990,6 +8008,12 @@
7990
8008
  cacheBusterNotifier: departmentCacheBuster$,
7991
8009
  })
7992
8010
  ], DepartmentApiService.prototype, "updateDepartment", null);
8011
+ __decorate([
8012
+ tsCacheable.Cacheable({
8013
+ cacheBusterObserver: departmentCacheBuster$,
8014
+ storageStrategy: tsCacheable.LocalStorageStrategy
8015
+ })
8016
+ ], DepartmentApiService.prototype, "getFullDepartmentTree", null);
7993
8017
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DepartmentApiService, decorators: [{
7994
8018
  type: i0.Injectable,
7995
8019
  args: [{
@@ -8000,7 +8024,7 @@
8000
8024
  type: i0.Inject,
8001
8025
  args: ['environment']
8002
8026
  }] }];
8003
- }, propDecorators: { getDepartmentTree: [], getDepartmentDetails: [], getDepartmentNestedTree: [], createDepartment: [], createDepartmentInRoot: [], updateDepartment: [] } });
8027
+ }, propDecorators: { getDepartmentTree: [], getDepartmentDetails: [], getDepartmentNestedTree: [], createDepartment: [], createDepartmentInRoot: [], updateDepartment: [], getFullDepartmentTree: [] } });
8004
8028
 
8005
8029
  var _DropdownTreeviewSelectI18n_defaultSelection;
8006
8030
  /** @ignore */
@@ -15290,6 +15314,7 @@
15290
15314
  allinputs[i].value = '';
15291
15315
  }
15292
15316
  }
15317
+ //@ts-ignore
15293
15318
  if (Dynamsoft__default["default"].Lib.env.bIE === true && Dynamsoft__default["default"].Lib.env.bWin64 === true) {
15294
15319
  var o = document.getElementById('samplesource64bit');
15295
15320
  if (o) {
@@ -25048,6 +25073,82 @@
25048
25073
  type: i0.Input
25049
25074
  }] } });
25050
25075
 
25076
+ var _FileGridInfiniteScrollDirective_instances, _FileGridInfiniteScrollDirective_scrollSubject, _FileGridInfiniteScrollDirective_scrollHandler, _FileGridInfiniteScrollDirective_isNodeChanging, _FileGridInfiniteScrollDirective_handleViewModeChanged, _FileGridInfiniteScrollDirective_removeListener;
25077
+ var FileGridInfiniteScrollDirective = /** @class */ (function () {
25078
+ function FileGridInfiniteScrollDirective() {
25079
+ _FileGridInfiniteScrollDirective_instances.add(this);
25080
+ this.infiniteScrollDistance = 5;
25081
+ this.scrolled = new i0.EventEmitter();
25082
+ _FileGridInfiniteScrollDirective_scrollSubject.set(this, new rxjs.Subject());
25083
+ _FileGridInfiniteScrollDirective_scrollHandler.set(this, void 0);
25084
+ _FileGridInfiniteScrollDirective_isNodeChanging.set(this, false);
25085
+ }
25086
+ FileGridInfiniteScrollDirective.prototype.ngAfterViewInit = function () {
25087
+ var _this = this;
25088
+ this.fileManager.instance.on('contentReady', function (e) {
25089
+ __classPrivateFieldGet(_this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_handleViewModeChanged).call(_this);
25090
+ });
25091
+ this.fileManager.instance.on('optionChanged', function (e) {
25092
+ if (e.fullName === 'itemView.mode') {
25093
+ __classPrivateFieldGet(_this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_handleViewModeChanged).call(_this);
25094
+ }
25095
+ else if (e.fullName === 'currentPath') {
25096
+ __classPrivateFieldSet(_this, _FileGridInfiniteScrollDirective_isNodeChanging, true, "f");
25097
+ __classPrivateFieldGet(_this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_handleViewModeChanged).call(_this);
25098
+ setTimeout(function () { __classPrivateFieldSet(_this, _FileGridInfiniteScrollDirective_isNodeChanging, false, "f"); }, 1000);
25099
+ }
25100
+ });
25101
+ __classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollSubject, "f").pipe(operators.debounceTime(500)).subscribe(function () {
25102
+ _this.scrolled.emit();
25103
+ console.log('scroll trigered');
25104
+ });
25105
+ };
25106
+ return FileGridInfiniteScrollDirective;
25107
+ }());
25108
+ _FileGridInfiniteScrollDirective_scrollSubject = new WeakMap(), _FileGridInfiniteScrollDirective_scrollHandler = new WeakMap(), _FileGridInfiniteScrollDirective_isNodeChanging = new WeakMap(), _FileGridInfiniteScrollDirective_instances = new WeakSet(), _FileGridInfiniteScrollDirective_handleViewModeChanged = function _FileGridInfiniteScrollDirective_handleViewModeChanged() {
25109
+ var _this = this;
25110
+ try {
25111
+ __classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_removeListener).call(this);
25112
+ setTimeout(function () {
25113
+ var scrollableElement = _this.fileManager.instance._itemView._$element[0].getElementsByClassName('dx-scrollable-container')[0];
25114
+ // Define the event handler function
25115
+ var onScroll = function () {
25116
+ if (__classPrivateFieldGet(_this, _FileGridInfiniteScrollDirective_isNodeChanging, "f"))
25117
+ return;
25118
+ var scrollTop = scrollableElement.scrollTop;
25119
+ var scrollHeight = scrollableElement.scrollHeight;
25120
+ var clientHeight = scrollableElement.clientHeight;
25121
+ if (scrollTop + clientHeight >= scrollHeight - _this.infiniteScrollDistance) {
25122
+ __classPrivateFieldGet(_this, _FileGridInfiniteScrollDirective_scrollSubject, "f").next();
25123
+ }
25124
+ };
25125
+ __classPrivateFieldSet(_this, _FileGridInfiniteScrollDirective_scrollHandler, onScroll, "f");
25126
+ scrollableElement.addEventListener('scroll', onScroll);
25127
+ }, 100);
25128
+ }
25129
+ catch (e) { }
25130
+ }, _FileGridInfiniteScrollDirective_removeListener = function _FileGridInfiniteScrollDirective_removeListener() {
25131
+ var scrollableElement = this.fileManager.instance._itemView._$element[0].getElementsByClassName('dx-scrollable-container')[0];
25132
+ if (__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollHandler, "f")) {
25133
+ scrollableElement.removeEventListener('scroll', __classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollHandler, "f"));
25134
+ }
25135
+ };
25136
+ FileGridInfiniteScrollDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileGridInfiniteScrollDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
25137
+ FileGridInfiniteScrollDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FileGridInfiniteScrollDirective, selector: "[ndfFileGridInfiniteScroll]", inputs: { fileManager: ["ndfFileGridInfiniteScroll", "fileManager"], infiniteScrollDistance: "infiniteScrollDistance" }, outputs: { scrolled: "scrolled" }, ngImport: i0__namespace });
25138
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileGridInfiniteScrollDirective, decorators: [{
25139
+ type: i0.Directive,
25140
+ args: [{
25141
+ selector: '[ndfFileGridInfiniteScroll]'
25142
+ }]
25143
+ }], propDecorators: { fileManager: [{
25144
+ type: i0.Input,
25145
+ args: ['ndfFileGridInfiniteScroll']
25146
+ }], infiniteScrollDistance: [{
25147
+ type: i0.Input
25148
+ }], scrolled: [{
25149
+ type: i0.Output
25150
+ }] } });
25151
+
25051
25152
  var _FileManagerAbstract_instances, _FileManagerAbstract_foldersSubscription$, _FileManagerAbstract_loadMore, _FileManagerAbstract_resetPagination, _FileManagerAbstract_initPagination, _FileManagerAbstract_getNode, _FileManagerAbstract_addOrReplace;
25052
25153
  //
25053
25154
  var FileManagerAbstract = /** @class */ (function () {
@@ -27170,82 +27271,6 @@
27170
27271
  }]
27171
27272
  }] });
27172
27273
 
27173
- var _FileGridInfiniteScrollDirective_instances, _FileGridInfiniteScrollDirective_scrollSubject, _FileGridInfiniteScrollDirective_scrollHandler, _FileGridInfiniteScrollDirective_isNodeChanging, _FileGridInfiniteScrollDirective_handleViewModeChanged, _FileGridInfiniteScrollDirective_removeListener;
27174
- var FileGridInfiniteScrollDirective = /** @class */ (function () {
27175
- function FileGridInfiniteScrollDirective() {
27176
- _FileGridInfiniteScrollDirective_instances.add(this);
27177
- this.infiniteScrollDistance = 5;
27178
- this.scrolled = new i0.EventEmitter();
27179
- _FileGridInfiniteScrollDirective_scrollSubject.set(this, new rxjs.Subject());
27180
- _FileGridInfiniteScrollDirective_scrollHandler.set(this, void 0);
27181
- _FileGridInfiniteScrollDirective_isNodeChanging.set(this, false);
27182
- }
27183
- FileGridInfiniteScrollDirective.prototype.ngAfterViewInit = function () {
27184
- var _this = this;
27185
- this.fileManager.instance.on('contentReady', function (e) {
27186
- __classPrivateFieldGet(_this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_handleViewModeChanged).call(_this);
27187
- });
27188
- this.fileManager.instance.on('optionChanged', function (e) {
27189
- if (e.fullName === 'itemView.mode') {
27190
- __classPrivateFieldGet(_this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_handleViewModeChanged).call(_this);
27191
- }
27192
- else if (e.fullName === 'currentPath') {
27193
- __classPrivateFieldSet(_this, _FileGridInfiniteScrollDirective_isNodeChanging, true, "f");
27194
- __classPrivateFieldGet(_this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_handleViewModeChanged).call(_this);
27195
- setTimeout(function () { __classPrivateFieldSet(_this, _FileGridInfiniteScrollDirective_isNodeChanging, false, "f"); }, 1000);
27196
- }
27197
- });
27198
- __classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollSubject, "f").pipe(operators.debounceTime(500)).subscribe(function () {
27199
- _this.scrolled.emit();
27200
- console.log('scroll trigered');
27201
- });
27202
- };
27203
- return FileGridInfiniteScrollDirective;
27204
- }());
27205
- _FileGridInfiniteScrollDirective_scrollSubject = new WeakMap(), _FileGridInfiniteScrollDirective_scrollHandler = new WeakMap(), _FileGridInfiniteScrollDirective_isNodeChanging = new WeakMap(), _FileGridInfiniteScrollDirective_instances = new WeakSet(), _FileGridInfiniteScrollDirective_handleViewModeChanged = function _FileGridInfiniteScrollDirective_handleViewModeChanged() {
27206
- var _this = this;
27207
- try {
27208
- __classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_instances, "m", _FileGridInfiniteScrollDirective_removeListener).call(this);
27209
- setTimeout(function () {
27210
- var scrollableElement = _this.fileManager.instance._itemView._$element[0].getElementsByClassName('dx-scrollable-container')[0];
27211
- // Define the event handler function
27212
- var onScroll = function () {
27213
- if (__classPrivateFieldGet(_this, _FileGridInfiniteScrollDirective_isNodeChanging, "f"))
27214
- return;
27215
- var scrollTop = scrollableElement.scrollTop;
27216
- var scrollHeight = scrollableElement.scrollHeight;
27217
- var clientHeight = scrollableElement.clientHeight;
27218
- if (scrollTop + clientHeight >= scrollHeight - _this.infiniteScrollDistance) {
27219
- __classPrivateFieldGet(_this, _FileGridInfiniteScrollDirective_scrollSubject, "f").next();
27220
- }
27221
- };
27222
- __classPrivateFieldSet(_this, _FileGridInfiniteScrollDirective_scrollHandler, onScroll, "f");
27223
- scrollableElement.addEventListener('scroll', onScroll);
27224
- }, 100);
27225
- }
27226
- catch (e) { }
27227
- }, _FileGridInfiniteScrollDirective_removeListener = function _FileGridInfiniteScrollDirective_removeListener() {
27228
- var scrollableElement = this.fileManager.instance._itemView._$element[0].getElementsByClassName('dx-scrollable-container')[0];
27229
- if (__classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollHandler, "f")) {
27230
- scrollableElement.removeEventListener('scroll', __classPrivateFieldGet(this, _FileGridInfiniteScrollDirective_scrollHandler, "f"));
27231
- }
27232
- };
27233
- FileGridInfiniteScrollDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileGridInfiniteScrollDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
27234
- FileGridInfiniteScrollDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FileGridInfiniteScrollDirective, selector: "[ndfFileGridInfiniteScroll]", inputs: { fileManager: ["ndfFileGridInfiniteScroll", "fileManager"], infiniteScrollDistance: "infiniteScrollDistance" }, outputs: { scrolled: "scrolled" }, ngImport: i0__namespace });
27235
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileGridInfiniteScrollDirective, decorators: [{
27236
- type: i0.Directive,
27237
- args: [{
27238
- selector: '[ndfFileGridInfiniteScroll]'
27239
- }]
27240
- }], propDecorators: { fileManager: [{
27241
- type: i0.Input,
27242
- args: ['ndfFileGridInfiniteScroll']
27243
- }], infiniteScrollDistance: [{
27244
- type: i0.Input
27245
- }], scrolled: [{
27246
- type: i0.Output
27247
- }] } });
27248
-
27249
27274
  var FileMangerModule = /** @class */ (function () {
27250
27275
  function FileMangerModule() {
27251
27276
  }
@@ -29025,6 +29050,1520 @@
29025
29050
  }]
29026
29051
  }] });
29027
29052
 
29053
+ var DIAGRAM_DEFAULT_OPTIONS = {
29054
+ socketType: 'custom',
29055
+ connectionType: 'custom',
29056
+ fitToView: true,
29057
+ area: {
29058
+ restrict: true,
29059
+ scaling: { min: 0.5, max: 1.3 },
29060
+ },
29061
+ path: {
29062
+ arrow: {
29063
+ color: 'var(--path-color , #5d6481)',
29064
+ marker: 'M-3,-6 L-3,6 L10,0 Z',
29065
+ },
29066
+ transform: {
29067
+ active: true,
29068
+ },
29069
+ },
29070
+ };
29071
+
29072
+ var IN_OUT_DIRECTION = {
29073
+ start: 'start',
29074
+ end: 'end',
29075
+ top: 'top',
29076
+ bottom: 'bottom',
29077
+ };
29078
+
29079
+ var MESSAGE_TYPE = {
29080
+ configUpdated: 'configUpdated',
29081
+ refresh: 'refresh',
29082
+ };
29083
+
29084
+ var NODE_TYPE = {
29085
+ start: 'start',
29086
+ content: 'content',
29087
+ template: 'template',
29088
+ end: 'end',
29089
+ };
29090
+
29091
+ var NOTIFY_EVENT = {
29092
+ remove: 'remove',
29093
+ };
29094
+
29095
+ var NODE_MARGIN = 60;
29096
+ var NODE_WIDTH = 150;
29097
+ var NODE_HEIGHT = 118;
29098
+ var NODE_CIRCLE_SIZE = 72;
29099
+ var DIAGRAM_HEIGHT = 600;
29100
+ var SOCKET_WIDTH = 8;
29101
+
29102
+ var NODE_STATUS = {
29103
+ draft: 'draft',
29104
+ completed: 'completed',
29105
+ rejected: 'rejected',
29106
+ inProgress: 'inProgress',
29107
+ upcoming: 'upcoming',
29108
+ approved: 'approved',
29109
+ };
29110
+
29111
+ var DiagramPluginsService = /** @class */ (function () {
29112
+ function DiagramPluginsService() {
29113
+ }
29114
+ DiagramPluginsService.prototype.setPlugins = function (_a) {
29115
+ var plugins = _a.plugins, layout = _a.layout;
29116
+ this.area = plugins.area;
29117
+ this.readonly = plugins.readonly;
29118
+ this.arrange = plugins.arrange;
29119
+ this.reroute = plugins.reroute;
29120
+ };
29121
+ DiagramPluginsService.prototype.destroy = function () {
29122
+ this.area.destroy();
29123
+ };
29124
+ return DiagramPluginsService;
29125
+ }());
29126
+ DiagramPluginsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DiagramPluginsService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
29127
+ DiagramPluginsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DiagramPluginsService });
29128
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DiagramPluginsService, decorators: [{
29129
+ type: i0.Injectable
29130
+ }] });
29131
+
29132
+ var BaseNodeClass = /** @class */ (function (_super) {
29133
+ __extends(BaseNodeClass, _super);
29134
+ function BaseNodeClass(config) {
29135
+ var _this = _super.call(this, config.label) || this;
29136
+ _this.type = NODE_TYPE.content;
29137
+ _this.width = NODE_WIDTH;
29138
+ _this.height = NODE_HEIGHT;
29139
+ _this.directions = {
29140
+ inputs: IN_OUT_DIRECTION.start,
29141
+ outputs: IN_OUT_DIRECTION.end,
29142
+ };
29143
+ _this.name = config === null || config === void 0 ? void 0 : config.name;
29144
+ _this.directions = (config === null || config === void 0 ? void 0 : config.directions) || _this.directions;
29145
+ _this.type = config.type || NODE_TYPE.content;
29146
+ _this.description = config === null || config === void 0 ? void 0 : config.description;
29147
+ _this.status = config === null || config === void 0 ? void 0 : config.status;
29148
+ _this.width = (config === null || config === void 0 ? void 0 : config.width) || NODE_WIDTH;
29149
+ _this.height = (config === null || config === void 0 ? void 0 : config.height) || NODE_HEIGHT;
29150
+ _this.content = config === null || config === void 0 ? void 0 : config.content;
29151
+ _this.config = config === null || config === void 0 ? void 0 : config.config;
29152
+ _this.styleClass = config === null || config === void 0 ? void 0 : config.styleClass;
29153
+ return _this;
29154
+ }
29155
+ return BaseNodeClass;
29156
+ }(rete.ClassicPreset.Node));
29157
+
29158
+ var CircleNode = /** @class */ (function (_super) {
29159
+ __extends(CircleNode, _super);
29160
+ function CircleNode(config) {
29161
+ var _this = _super.call(this, config) || this;
29162
+ _this.width = NODE_CIRCLE_SIZE;
29163
+ _this.height = NODE_CIRCLE_SIZE;
29164
+ return _this;
29165
+ }
29166
+ return CircleNode;
29167
+ }(BaseNodeClass));
29168
+
29169
+ var Connection = /** @class */ (function (_super) {
29170
+ __extends(Connection, _super);
29171
+ function Connection() {
29172
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
29173
+ _this.renderType = 'default';
29174
+ return _this;
29175
+ }
29176
+ return Connection;
29177
+ }(rete.ClassicPreset.Connection));
29178
+
29179
+ var ContentNode = /** @class */ (function (_super) {
29180
+ __extends(ContentNode, _super);
29181
+ function ContentNode(config) {
29182
+ return _super.call(this, config) || this;
29183
+ }
29184
+ return ContentNode;
29185
+ }(BaseNodeClass));
29186
+
29187
+ var Socket = /** @class */ (function (_super) {
29188
+ __extends(Socket, _super);
29189
+ function Socket(name, renderType) {
29190
+ if (renderType === void 0) { renderType = 'default'; }
29191
+ var _this = _super.call(this, name) || this;
29192
+ _this.renderType = renderType;
29193
+ return _this;
29194
+ }
29195
+ return Socket;
29196
+ }(rete.ClassicPreset.Socket));
29197
+
29198
+ var TemplateNode = /** @class */ (function (_super) {
29199
+ __extends(TemplateNode, _super);
29200
+ function TemplateNode(config) {
29201
+ var _this = _super.call(this, config) || this;
29202
+ _this.type = NODE_TYPE.template;
29203
+ if (config.template) {
29204
+ _this.template = config.template;
29205
+ }
29206
+ return _this;
29207
+ }
29208
+ return TemplateNode;
29209
+ }(BaseNodeClass));
29210
+
29211
+ /**
29212
+ *
29213
+ * @param config
29214
+ * @returns
29215
+ */
29216
+ var customizeSocket = function (config) { return function (data) {
29217
+ var payload = data.payload;
29218
+ if (payload.renderType === 'custom' || config.socketType === 'custom') {
29219
+ return CustomSocketComponent;
29220
+ }
29221
+ return i2$8.SocketComponent;
29222
+ }; };
29223
+ /**
29224
+ *
29225
+ * @param config
29226
+ * @param editor
29227
+ * @returns
29228
+ */
29229
+ var customizeNode = function (config, editor) { return function (data) {
29230
+ var _a;
29231
+ var node = data.payload;
29232
+ (_a = node.config) !== null && _a !== void 0 ? _a : (node.config = config['node']);
29233
+ return initAngularComponentByType(node.type);
29234
+ }; };
29235
+ /**
29236
+ *
29237
+ * @param config
29238
+ * @returns
29239
+ */
29240
+ var customizeConnection = function (config) { return function (data) {
29241
+ var payload = data.payload;
29242
+ if (payload.renderType === 'custom' || config.connectionType == 'custom') {
29243
+ return CustomConnectionComponent;
29244
+ }
29245
+ return i2$8.ConnectionComponent;
29246
+ }; };
29247
+ var initNodeByType = function (type, config) {
29248
+ var _nodes = {
29249
+ start: CircleNode,
29250
+ content: ContentNode,
29251
+ template: TemplateNode,
29252
+ end: CircleNode,
29253
+ };
29254
+ return new _nodes[type](config) || new ContentNode(config);
29255
+ };
29256
+ var initAngularComponentByType = function (type) {
29257
+ var _components = {
29258
+ content: ContentNodeComponent,
29259
+ start: CircleNodeComponent,
29260
+ end: CircleNodeComponent,
29261
+ template: TemplateNodeComponent,
29262
+ };
29263
+ return _components[type] || i2$8.NodeComponent;
29264
+ };
29265
+
29266
+ var createSegmentedPath = function (connection, options) {
29267
+ var _a = options || {}, _b = _a.multiPoints, multiPoints = _b === void 0 ? true : _b, _c = _a.offset, offset = _c === void 0 ? 0 : _c;
29268
+ return function (points) {
29269
+ if (points.length !== 2) {
29270
+ throw new Error('Exactly two points are required to create a linear path.');
29271
+ }
29272
+ var _a = __read(points, 2), start = _a[0], end = _a[1];
29273
+ if (multiPoints) {
29274
+ var midpointY = (end.y - start.y) / 2 + start.y;
29275
+ var intermediatePoints = [
29276
+ { x: start.x, y: midpointY - offset },
29277
+ { x: end.x, y: midpointY + offset },
29278
+ ];
29279
+ // Use bezier curves between points to smooth corners
29280
+ return [
29281
+ Object.assign(Object.assign({}, start), { controlOut: { x: start.x, y: midpointY - offset } }),
29282
+ intermediatePoints[0],
29283
+ intermediatePoints[1],
29284
+ Object.assign(Object.assign({}, end), { controlIn: { x: end.x, y: midpointY + offset } }),
29285
+ ];
29286
+ }
29287
+ return [start, end];
29288
+ };
29289
+ };
29290
+
29291
+ var initPathPlugin = function (config) { return new reteConnectionPathPlugin.ConnectionPathPlugin({
29292
+ 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; },
29293
+ transformer: function (c) {
29294
+ var _a, _b, _c;
29295
+ return ((_a = config === null || config === void 0 ? void 0 : config.transform) === null || _a === void 0 ? void 0 : _a.active)
29296
+ ? createSegmentedPath(c, (_b = config === null || config === void 0 ? void 0 : config.transform) === null || _b === void 0 ? void 0 : _b.options)
29297
+ : reteConnectionPathPlugin.Transformers.classic({
29298
+ vertical: !!(config === null || config === void 0 ? void 0 : config.vertical),
29299
+ curvature: (_c = config === null || config === void 0 ? void 0 : config.curvature) !== null && _c !== void 0 ? _c : 0.3,
29300
+ });
29301
+ },
29302
+ arrow: function (connection) { return (!(config === null || config === void 0 ? void 0 : config.arrow) ? false : config === null || config === void 0 ? void 0 : config.arrow); },
29303
+ }); };
29304
+
29305
+ var socketPositionWatcher = function (offset, isVertical, editor) {
29306
+ if (offset === void 0) { offset = 1; }
29307
+ if (isVertical === void 0) { isVertical = false; }
29308
+ return reteRenderUtils.getDOMSocketPosition({
29309
+ offset: function (_a, nodeId, side, key) {
29310
+ var x = _a.x, y = _a.y;
29311
+ return { x: x, y: y };
29312
+ },
29313
+ });
29314
+ };
29315
+
29316
+ var createDiagramEditor = function (container, injector, config) { return __awaiter(void 0, void 0, void 0, function () {
29317
+ var _a, _b, _c, _d, _e, _f, _g, socket, editor, area, connection, pathPlugin, angularRender, readonly, arrange, reroute, minimap, selector, accumulating, _scaling_1;
29318
+ return __generator(this, function (_h) {
29319
+ socket = new Socket('', config === null || config === void 0 ? void 0 : config.socketType);
29320
+ editor = new rete.NodeEditor();
29321
+ area = new reteAreaPlugin.AreaPlugin(container);
29322
+ connection = new reteConnectionPlugin.ConnectionPlugin();
29323
+ pathPlugin = initPathPlugin(config === null || config === void 0 ? void 0 : config.path);
29324
+ angularRender = new i2$8.AngularPlugin({ injector: injector });
29325
+ readonly = new reteReadonlyPlugin.ReadonlyPlugin();
29326
+ arrange = new reteAutoArrangePlugin.AutoArrangePlugin();
29327
+ reroute = new reteConnectionReroutePlugin.ReroutePlugin();
29328
+ minimap = new reteMinimapPlugin.MinimapPlugin((_a = config === null || config === void 0 ? void 0 : config.minimap) === null || _a === void 0 ? void 0 : _a.options);
29329
+ selector = reteAreaPlugin.AreaExtensions.selector();
29330
+ accumulating = reteAreaPlugin.AreaExtensions.accumulateOnCtrl();
29331
+ reteAreaPlugin.AreaExtensions.selectableNodes(area, selector, { accumulating: accumulating });
29332
+ reteConnectionReroutePlugin.RerouteExtensions.selectablePins(reroute, selector, accumulating);
29333
+ //#endregion
29334
+ //#region PRESETS
29335
+ arrange.addPreset(reteAutoArrangePlugin.Presets.classic.setup());
29336
+ angularRender.addPreset(i2$8.Presets.classic.setup({
29337
+ socketPositionWatcher: socketPositionWatcher(0, (_b = config === null || config === void 0 ? void 0 : config.path) === null || _b === void 0 ? void 0 : _b.vertical, editor),
29338
+ customize: {
29339
+ node: customizeNode(config, editor),
29340
+ connection: customizeConnection(config),
29341
+ socket: customizeSocket(config),
29342
+ },
29343
+ }));
29344
+ 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 }));
29345
+ connection.addPreset(reteConnectionPlugin.Presets.classic.setup());
29346
+ if ((_d = config === null || config === void 0 ? void 0 : config.area) === null || _d === void 0 ? void 0 : _d.restrict) {
29347
+ _scaling_1 = (config === null || config === void 0 ? void 0 : config.area.scaling) || { min: 0.5, max: 1.5 };
29348
+ reteAreaPlugin.AreaExtensions.restrictor(area, {
29349
+ scaling: function () { return _scaling_1; },
29350
+ });
29351
+ }
29352
+ //#endregion
29353
+ //#region USE
29354
+ if ((_e = config === null || config === void 0 ? void 0 : config.readonly) === null || _e === void 0 ? void 0 : _e.active) {
29355
+ editor.use(readonly.root);
29356
+ area.use(readonly.area);
29357
+ }
29358
+ editor.use(area);
29359
+ if (!((_f = config === null || config === void 0 ? void 0 : config.readonly) === null || _f === void 0 ? void 0 : _f.active)) {
29360
+ // Don't use the connection plugin in readonly mode
29361
+ area.use(connection);
29362
+ }
29363
+ if (config === null || config === void 0 ? void 0 : config.enableArrange) {
29364
+ area.use(arrange);
29365
+ }
29366
+ //@ts-ignore
29367
+ angularRender.use(pathPlugin);
29368
+ if (config.reroute) {
29369
+ //@ts-ignore
29370
+ angularRender.use(reroute);
29371
+ }
29372
+ if ((_g = config === null || config === void 0 ? void 0 : config.minimap) === null || _g === void 0 ? void 0 : _g.active) {
29373
+ area.use(minimap);
29374
+ }
29375
+ // Render Diagram
29376
+ area.use(angularRender);
29377
+ //#endregion
29378
+ return [2 /*return*/, {
29379
+ editor: editor,
29380
+ socket: socket,
29381
+ plugins: {
29382
+ area: area,
29383
+ connection: connection,
29384
+ arrange: arrange,
29385
+ reroute: reroute,
29386
+ readonly: readonly,
29387
+ },
29388
+ destroy: function () { return area.destroy(); },
29389
+ layout: function (props) { return arrange.layout(props); },
29390
+ fitToZoom: function () {
29391
+ reteAreaPlugin.AreaExtensions.zoomAt(area, editor.getNodes());
29392
+ },
29393
+ }];
29394
+ });
29395
+ }); };
29396
+
29397
+ /**
29398
+ *
29399
+ * @param node
29400
+ * @returns
29401
+ */
29402
+ var removeNode = function (data, editor) { return __awaiter(void 0, void 0, void 0, function () {
29403
+ var nodes, node, nodeConfig, _a;
29404
+ return __generator(this, function (_b) {
29405
+ switch (_b.label) {
29406
+ case 0:
29407
+ if (!data || !editor) {
29408
+ console.log('Node not found.');
29409
+ return [2 /*return*/];
29410
+ }
29411
+ nodes = editor.getNodes();
29412
+ node = editor.getNode(data.nodeId);
29413
+ if (!node) {
29414
+ console.log('Node not found.');
29415
+ return [2 /*return*/];
29416
+ }
29417
+ if (node.type === NODE_TYPE.start && nodes.length > 1) {
29418
+ return [2 /*return*/];
29419
+ }
29420
+ nodeConfig = node.config;
29421
+ if (!(nodeConfig === null || nodeConfig === void 0 ? void 0 : nodeConfig.isLinked)) return [3 /*break*/, 2];
29422
+ return [4 /*yield*/, removeNodeAndReplaceConnections(node, editor)];
29423
+ case 1:
29424
+ _a = _b.sent();
29425
+ return [3 /*break*/, 4];
29426
+ case 2: return [4 /*yield*/, removeNodeAndConnections(node, editor)];
29427
+ case 3:
29428
+ _a = _b.sent();
29429
+ _b.label = 4;
29430
+ case 4: return [2 /*return*/, _a];
29431
+ }
29432
+ });
29433
+ }); };
29434
+ /**
29435
+ *
29436
+ * @param node
29437
+ * @param editor
29438
+ */
29439
+ var removeNodeAndConnections = function (node, editor) { return __awaiter(void 0, void 0, void 0, function () {
29440
+ return __generator(this, function (_a) {
29441
+ switch (_a.label) {
29442
+ case 0:
29443
+ removeConnections(node, editor);
29444
+ return [4 /*yield*/, editor.removeNode(node.id)];
29445
+ case 1:
29446
+ _a.sent();
29447
+ return [2 /*return*/];
29448
+ }
29449
+ });
29450
+ }); };
29451
+ /**
29452
+ *
29453
+ * @param node
29454
+ * @param editor
29455
+ */
29456
+ var removeNodeAndReplaceConnections = function (node, editor) { return __awaiter(void 0, void 0, void 0, function () {
29457
+ var outputs, inputs;
29458
+ return __generator(this, function (_a) {
29459
+ switch (_a.label) {
29460
+ case 0:
29461
+ outputs = getConnections(editor, function (connection) { return connection.source == node.id; });
29462
+ inputs = getConnections(editor, function (connection) { return connection.target == node.id; });
29463
+ if (!(!!inputs.length && !!outputs.length)) return [3 /*break*/, 2];
29464
+ return [4 /*yield*/, _updateConnections(outputs, inputs, editor)];
29465
+ case 1:
29466
+ _a.sent();
29467
+ return [3 /*break*/, 3];
29468
+ case 2:
29469
+ removeConnections(node, editor);
29470
+ _a.label = 3;
29471
+ case 3: return [4 /*yield*/, editor.removeNode(node.id)];
29472
+ case 4:
29473
+ _a.sent();
29474
+ return [2 /*return*/];
29475
+ }
29476
+ });
29477
+ }); };
29478
+ /**
29479
+ *
29480
+ * @param node
29481
+ * @param editor
29482
+ */
29483
+ var removeConnections = function (node, editor) {
29484
+ var connections = getConnections(editor, function (connection) { return connection.source === node.id || connection.target === node.id; });
29485
+ if (connections.length) {
29486
+ connections.forEach(function (connection) {
29487
+ editor.removeConnection(connection.id);
29488
+ });
29489
+ }
29490
+ };
29491
+ /**
29492
+ *
29493
+ * @param editor
29494
+ * @param predicate
29495
+ * @returns
29496
+ */
29497
+ var getConnections = function (editor, predicate) {
29498
+ return editor.getConnections().filter(predicate);
29499
+ };
29500
+ /**
29501
+ *
29502
+ * @param outputs
29503
+ * @param inputs
29504
+ * @param editor
29505
+ */
29506
+ var _updateConnections = function (outputs, inputs, editor) { return __awaiter(void 0, void 0, void 0, function () {
29507
+ var source, target, sourceNode, targetNode, connection;
29508
+ return __generator(this, function (_a) {
29509
+ switch (_a.label) {
29510
+ case 0:
29511
+ source = inputs[0].source;
29512
+ target = outputs[0].target;
29513
+ sourceNode = editor.getNode(source);
29514
+ targetNode = editor.getNode(target);
29515
+ __spreadArray(__spreadArray([], __read(outputs)), __read(inputs)).forEach(function (connection) { return __awaiter(void 0, void 0, void 0, function () {
29516
+ return __generator(this, function (_a) {
29517
+ switch (_a.label) {
29518
+ case 0: return [4 /*yield*/, editor.removeConnection(connection.id)];
29519
+ case 1:
29520
+ _a.sent();
29521
+ return [2 /*return*/];
29522
+ }
29523
+ });
29524
+ }); });
29525
+ if (!sourceNode || !targetNode) {
29526
+ return [2 /*return*/];
29527
+ }
29528
+ connection = new Connection(sourceNode, sourceNode.id + "-output", targetNode, targetNode.id + "-input");
29529
+ return [4 /*yield*/, editor.addConnection(connection)];
29530
+ case 1:
29531
+ _a.sent();
29532
+ return [2 /*return*/];
29533
+ }
29534
+ });
29535
+ }); };
29536
+
29537
+ function serializePort(port) {
29538
+ return {
29539
+ id: port.id,
29540
+ label: port.label,
29541
+ socket: {
29542
+ name: port.socket.name,
29543
+ },
29544
+ };
29545
+ }
29546
+ function serializeControl(control) {
29547
+ if (control instanceof rete.ClassicPreset.InputControl) {
29548
+ return {
29549
+ __type: 'ClassicPreset.InputControl',
29550
+ id: control.id,
29551
+ readonly: control.readonly,
29552
+ type: control.type,
29553
+ value: control.value,
29554
+ };
29555
+ }
29556
+ return null;
29557
+ }
29558
+
29559
+ var DiagramService = /** @class */ (function () {
29560
+ /**
29561
+ *
29562
+ */
29563
+ function DiagramService(plugins) {
29564
+ this.plugins = plugins;
29565
+ this._editorSub = new rxjs.Subject();
29566
+ this.onReady$ = this._editorSub.asObservable();
29567
+ }
29568
+ DiagramService.prototype.setEditor = function (editor) {
29569
+ this._editorSub.next(editor);
29570
+ this.editor = editor.editor;
29571
+ this.socket = editor.socket;
29572
+ this.destroy = editor.destroy;
29573
+ this.fitToZoom = editor.fitToZoom;
29574
+ };
29575
+ DiagramService.prototype.getContentNodes = function () {
29576
+ return this.editor
29577
+ .getNodes()
29578
+ .filter(function (nd) { return ![NODE_TYPE.start, NODE_TYPE.end].includes(nd.type); });
29579
+ };
29580
+ DiagramService.prototype.getNodesData = function () {
29581
+ return this.getContentNodes().map(function (node) { return node.content.data; });
29582
+ };
29583
+ DiagramService.prototype.canAddNode = function (nodeType) {
29584
+ if (nodeType === NODE_TYPE.content) {
29585
+ return true;
29586
+ }
29587
+ var _nodes = this.editor.getNodes();
29588
+ var _isExist = _nodes.some(function (nd) { return nd.type === nodeType; });
29589
+ return !_isExist;
29590
+ };
29591
+ DiagramService.prototype.addNode = function (node) {
29592
+ return __awaiter(this, void 0, void 0, function () {
29593
+ return __generator(this, function (_b) {
29594
+ switch (_b.label) {
29595
+ case 0: return [4 /*yield*/, this.editor.addNode(node)];
29596
+ case 1:
29597
+ _b.sent();
29598
+ return [2 /*return*/];
29599
+ }
29600
+ });
29601
+ });
29602
+ };
29603
+ DiagramService.prototype.createNode = function (type, config) {
29604
+ if (type === void 0) { type = NODE_TYPE.content; }
29605
+ var _node = initNodeByType(type, config);
29606
+ if (config.type !== NODE_TYPE.start) {
29607
+ this.createInputs(_node);
29608
+ }
29609
+ if (config.type !== NODE_TYPE.end) {
29610
+ this.createOutputs(_node);
29611
+ }
29612
+ _node.notify = this.notifyListener(_node);
29613
+ return _node;
29614
+ };
29615
+ DiagramService.prototype.shouldAddStart = function (nodeType) {
29616
+ if (nodeType === NODE_TYPE.start) {
29617
+ return false;
29618
+ }
29619
+ var _nodes = this.editor.getNodes();
29620
+ var _isExist = _nodes.some(function (nd) { return nd.type === NODE_TYPE.start; });
29621
+ return !_isExist;
29622
+ };
29623
+ DiagramService.prototype.getLastNode = function () {
29624
+ var nodes = this.editor.getNodes();
29625
+ return nodes.length ? nodes[nodes.length - 1] : null;
29626
+ };
29627
+ DiagramService.prototype.getNodesByType = function (type) {
29628
+ return this.editor.getNodes().filter(function (nd) { return nd.type === type; });
29629
+ };
29630
+ DiagramService.prototype.getLastViewNode = function () {
29631
+ var nodes = Array.from(this.plugins.area.nodeViews.values());
29632
+ return nodes.length ? nodes[nodes.length - 1] : null;
29633
+ };
29634
+ DiagramService.prototype.createInputs = function (node) {
29635
+ node.addInput(node.id + "-input", new rete.ClassicPreset.Input(this.socket));
29636
+ return node;
29637
+ };
29638
+ DiagramService.prototype.createOutputs = function (node) {
29639
+ node.addOutput(node.id + "-output", new rete.ClassicPreset.Output(this.socket, '', false));
29640
+ return node;
29641
+ };
29642
+ DiagramService.prototype.addConnection = function (sourceNode, targetNode) {
29643
+ return __awaiter(this, void 0, void 0, function () {
29644
+ return __generator(this, function (_b) {
29645
+ switch (_b.label) {
29646
+ case 0: return [4 /*yield*/, this.editor.addConnection(this.createConnection(sourceNode, targetNode))];
29647
+ case 1:
29648
+ _b.sent();
29649
+ return [2 /*return*/];
29650
+ }
29651
+ });
29652
+ });
29653
+ };
29654
+ DiagramService.prototype.createConnection = function (sourceNode, targetNode) {
29655
+ var connection = new Connection(sourceNode, sourceNode.id + "-output", targetNode, targetNode.id + "-input");
29656
+ connection.status = targetNode.status;
29657
+ return connection;
29658
+ };
29659
+ DiagramService.prototype.appendConnection = function (connection) {
29660
+ return __awaiter(this, void 0, void 0, function () {
29661
+ return __generator(this, function (_b) {
29662
+ switch (_b.label) {
29663
+ case 0: return [4 /*yield*/, this.editor.addConnection(connection)];
29664
+ case 1:
29665
+ _b.sent();
29666
+ return [2 /*return*/];
29667
+ }
29668
+ });
29669
+ });
29670
+ };
29671
+ DiagramService.prototype.clear = function () {
29672
+ return __awaiter(this, void 0, void 0, function () {
29673
+ return __generator(this, function (_b) {
29674
+ switch (_b.label) {
29675
+ case 0: return [4 /*yield*/, this.editor.clear()];
29676
+ case 1: return [2 /*return*/, _b.sent()];
29677
+ }
29678
+ });
29679
+ });
29680
+ };
29681
+ DiagramService.prototype.redraw = function () {
29682
+ var _this = this;
29683
+ this.editor.getNodes().forEach(function (node) {
29684
+ _this.plugins.area.update('node', node.id);
29685
+ });
29686
+ };
29687
+ DiagramService.prototype.notifyListener = function (node) {
29688
+ var _this = this;
29689
+ return function (eventType, payload) {
29690
+ var _b;
29691
+ var _a;
29692
+ var _actions = (_b = {},
29693
+ _b[NOTIFY_EVENT.remove] = _this._removeNode.bind(_this),
29694
+ _b);
29695
+ return (_a = _actions[eventType]) === null || _a === void 0 ? void 0 : _a.call(_actions, payload);
29696
+ };
29697
+ };
29698
+ DiagramService.prototype._removeNode = function (data) {
29699
+ return __awaiter(this, void 0, void 0, function () {
29700
+ var node, viewNode, config, index, position, direction, nodes, _node, _dir, _position;
29701
+ var _this = this;
29702
+ return __generator(this, function (_b) {
29703
+ switch (_b.label) {
29704
+ case 0:
29705
+ node = this.editor.getNode(data.nodeId);
29706
+ if (!node) {
29707
+ return [2 /*return*/];
29708
+ }
29709
+ viewNode = function (id) { return _this.plugins.area.nodeViews.get(id); };
29710
+ config = node.config;
29711
+ index = null;
29712
+ position = null;
29713
+ direction = null;
29714
+ if (config.isLinked) {
29715
+ index = this.editor.getNodes().findIndex(function (nd) { return nd.id === data.nodeId; });
29716
+ position = viewNode(data.nodeId).position;
29717
+ direction = node.directions;
29718
+ }
29719
+ this.plugins.readonly.disable();
29720
+ return [4 /*yield*/, removeNode(data, this.editor)];
29721
+ case 1:
29722
+ _b.sent();
29723
+ if (!config.isLinked) return [3 /*break*/, 5];
29724
+ nodes = this.editor.getNodes().slice(index);
29725
+ _b.label = 2;
29726
+ case 2:
29727
+ if (!nodes.length) return [3 /*break*/, 5];
29728
+ _node = nodes.shift();
29729
+ _dir = Object.assign({}, _node.directions);
29730
+ _position = Object.assign({}, viewNode(_node.id).position);
29731
+ _node.directions = direction;
29732
+ if (_node.type == NODE_TYPE.end) {
29733
+ position.y = Math.abs(Math.floor(position.y - (_node.height - NODE_CIRCLE_SIZE) / 2));
29734
+ }
29735
+ return [4 /*yield*/, this.plugins.area.translate(_node.id, position)];
29736
+ case 3:
29737
+ _b.sent();
29738
+ return [4 /*yield*/, this.plugins.area.update('node', _node.id)];
29739
+ case 4:
29740
+ _b.sent();
29741
+ position = _position;
29742
+ direction = _dir;
29743
+ return [3 /*break*/, 2];
29744
+ case 5:
29745
+ this.plugins.readonly.enable();
29746
+ return [2 /*return*/];
29747
+ }
29748
+ });
29749
+ });
29750
+ };
29751
+ DiagramService.prototype.translateView = function () {
29752
+ return __awaiter(this, void 0, void 0, function () {
29753
+ var _b, container, area, rect, k, delta, ox, oy;
29754
+ return __generator(this, function (_c) {
29755
+ _b = this.plugins.area, container = _b.container, area = _b.area;
29756
+ rect = container.getBoundingClientRect();
29757
+ k = area.transform.k;
29758
+ delta = -0.2;
29759
+ ox = Math.max(0, (rect.left - container.clientWidth / 2) * k);
29760
+ oy = Math.max(0, (rect.top - container.clientHeight / 2) * k);
29761
+ area.zoom(Math.max(0.1, k * (1 + delta)), ox * delta, oy * delta);
29762
+ return [2 /*return*/];
29763
+ });
29764
+ });
29765
+ };
29766
+ return DiagramService;
29767
+ }());
29768
+ 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 });
29769
+ DiagramService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DiagramService });
29770
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DiagramService, decorators: [{
29771
+ type: i0.Injectable
29772
+ }], ctorParameters: function () { return [{ type: DiagramPluginsService }]; } });
29773
+
29774
+ var MessageService = /** @class */ (function () {
29775
+ function MessageService() {
29776
+ this.messageSubject = new rxjs.Subject();
29777
+ }
29778
+ MessageService.prototype.sendMessage = function (key, payload) {
29779
+ this.messageSubject.next({ key: key, payload: payload });
29780
+ };
29781
+ MessageService.prototype.onMessage = function (key) {
29782
+ return this.messageSubject.asObservable().pipe(operators.filter(function (data) { return data.key === key; }), operators.map(function (data) { return data.payload; }));
29783
+ };
29784
+ return MessageService;
29785
+ }());
29786
+ MessageService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MessageService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
29787
+ MessageService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MessageService, providedIn: 'root' });
29788
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MessageService, decorators: [{
29789
+ type: i0.Injectable,
29790
+ args: [{
29791
+ providedIn: 'root',
29792
+ }]
29793
+ }] });
29794
+
29795
+ var WorkflowService = /** @class */ (function () {
29796
+ function WorkflowService(_diagram, _plugins, _message) {
29797
+ this._diagram = _diagram;
29798
+ this._plugins = _plugins;
29799
+ this._message = _message;
29800
+ this._defaultNodeHeight = NODE_HEIGHT;
29801
+ this._defaultNodeWidth = NODE_WIDTH;
29802
+ this._defaultNodeCircleSize = NODE_CIRCLE_SIZE;
29803
+ this._defaultNodeMargin = NODE_MARGIN;
29804
+ this._offset = 60;
29805
+ }
29806
+ Object.defineProperty(WorkflowService.prototype, "_diagramClientRect", {
29807
+ get: function () {
29808
+ return this._plugins.area.container.getBoundingClientRect();
29809
+ },
29810
+ enumerable: false,
29811
+ configurable: true
29812
+ });
29813
+ WorkflowService.prototype.setConfig = function (_config) {
29814
+ this._config = _config;
29815
+ this._message.sendMessage(MESSAGE_TYPE.configUpdated, _config);
29816
+ };
29817
+ WorkflowService.prototype.addNode = function (nodeType, data) {
29818
+ var _a, _b;
29819
+ return __awaiter(this, void 0, void 0, function () {
29820
+ var position, _node, lastNode;
29821
+ var _this = this;
29822
+ return __generator(this, function (_c) {
29823
+ switch (_c.label) {
29824
+ case 0:
29825
+ if (!this._diagram.canAddNode(nodeType)) {
29826
+ if (this._isReadonlyDisabled()) {
29827
+ this._plugins.readonly.enable();
29828
+ }
29829
+ return [2 /*return*/];
29830
+ }
29831
+ position = { x: this._offset, y: this._offset };
29832
+ if (this._isReadonlyEnabled()) {
29833
+ this._plugins.readonly.disable();
29834
+ }
29835
+ _node = this._createNode(nodeType, data);
29836
+ if (!this._diagram.shouldAddStart(nodeType)) return [3 /*break*/, 2];
29837
+ return [4 /*yield*/, this.addStartNode(position)];
29838
+ case 1:
29839
+ _c.sent();
29840
+ _c.label = 2;
29841
+ case 2:
29842
+ if (!((_a = this._config.node) === null || _a === void 0 ? void 0 : _a.isLinked)) return [3 /*break*/, 4];
29843
+ return [4 /*yield*/, this._linkToLastNode(_node)];
29844
+ case 3:
29845
+ lastNode = _c.sent();
29846
+ if (lastNode) {
29847
+ position = this._calculatePosition(_node, lastNode);
29848
+ }
29849
+ _c.label = 4;
29850
+ case 4: return [4 /*yield*/, this._diagram.addNode(_node)];
29851
+ case 5:
29852
+ _c.sent();
29853
+ return [4 /*yield*/, this._plugins.area.translate(_node.id, position)];
29854
+ case 6:
29855
+ _c.sent();
29856
+ if ((_b = this._config) === null || _b === void 0 ? void 0 : _b.fitToView) {
29857
+ setTimeout(function () {
29858
+ _this._diagram.fitToZoom();
29859
+ }, 300);
29860
+ }
29861
+ if (this._isReadonlyDisabled()) {
29862
+ this._plugins.readonly.enable();
29863
+ }
29864
+ return [2 /*return*/];
29865
+ }
29866
+ });
29867
+ });
29868
+ };
29869
+ WorkflowService.prototype.removeEndNode = function () {
29870
+ return __awaiter(this, void 0, void 0, function () {
29871
+ var node;
29872
+ return __generator(this, function (_c) {
29873
+ switch (_c.label) {
29874
+ case 0:
29875
+ node = this._diagram.getNodesByType(NODE_TYPE.end)[0];
29876
+ if (!node) return [3 /*break*/, 2];
29877
+ return [4 /*yield*/, removeNodeAndConnections(node, this._diagram.editor)];
29878
+ case 1:
29879
+ _c.sent();
29880
+ _c.label = 2;
29881
+ case 2: return [2 /*return*/];
29882
+ }
29883
+ });
29884
+ });
29885
+ };
29886
+ /**
29887
+ *
29888
+ * @param _node
29889
+ * @param lastNode
29890
+ * @returns
29891
+ */
29892
+ WorkflowService.prototype._calculatePosition = function (_node, lastNode) {
29893
+ var isEndNode = _node.type === NODE_TYPE.end;
29894
+ return {
29895
+ x: this._calculatePositionX(lastNode.node.type, lastNode.viewNode.position.x),
29896
+ y: this._calculatePositionY(isEndNode ? NODE_TYPE.end : lastNode.node.type, lastNode.viewNode.position.y),
29897
+ };
29898
+ };
29899
+ WorkflowService.prototype._createNode = function (nodeType, data, config) {
29900
+ return this._diagram.createNode(nodeType, Object.assign(Object.assign({ label: nodeType, type: nodeType, name: data.name, description: data.description, status: data.status }, (config ? config : {})), { content: data }));
29901
+ };
29902
+ WorkflowService.prototype.addWrapNodesPipe = function (editor) {
29903
+ var _this = this;
29904
+ editor.addPipe(function (context) { return __awaiter(_this, void 0, void 0, function () {
29905
+ var node;
29906
+ var _this = this;
29907
+ return __generator(this, function (_c) {
29908
+ switch (_c.label) {
29909
+ case 0:
29910
+ if (!(context.type === 'nodecreate')) return [3 /*break*/, 3];
29911
+ if (!(context.data.type === NODE_TYPE.end)) return [3 /*break*/, 2];
29912
+ node = this._diagram.getLastNode();
29913
+ node.directions.outputs = IN_OUT_DIRECTION.end;
29914
+ return [4 /*yield*/, this._plugins.area.update('node', node.id)];
29915
+ case 1:
29916
+ _c.sent();
29917
+ return [3 /*break*/, 3];
29918
+ case 2: return [2 /*return*/, this._changeNodeSocketPosition(context)];
29919
+ case 3:
29920
+ if (context.type === 'nodecreated' && context.data.type !== NODE_TYPE.end) {
29921
+ setTimeout(function () {
29922
+ _this._updateNodePosition(context);
29923
+ });
29924
+ }
29925
+ return [2 /*return*/, context];
29926
+ }
29927
+ });
29928
+ }); });
29929
+ };
29930
+ WorkflowService.prototype._changeNodeSocketPosition = function (context) {
29931
+ var previousNode = this._diagram.getLastViewNode();
29932
+ if (previousNode && this._isNearEndBoundary(previousNode)) {
29933
+ context.data.directions.outputs = IN_OUT_DIRECTION.bottom;
29934
+ }
29935
+ if (previousNode && this._isOverEndBoundary(context.data, previousNode)) {
29936
+ context.data.directions.inputs = IN_OUT_DIRECTION.top;
29937
+ context.data.directions.outputs = IN_OUT_DIRECTION.end;
29938
+ }
29939
+ return Object.assign({}, context);
29940
+ };
29941
+ WorkflowService.prototype._linkToLastNode = function (_addedNode) {
29942
+ return __awaiter(this, void 0, void 0, function () {
29943
+ var node, viewNode;
29944
+ return __generator(this, function (_c) {
29945
+ switch (_c.label) {
29946
+ case 0:
29947
+ node = this._diagram.getLastNode();
29948
+ viewNode = this._diagram.getLastViewNode();
29949
+ if (!(node && viewNode)) return [3 /*break*/, 2];
29950
+ return [4 /*yield*/, this._diagram.addConnection(node, _addedNode)];
29951
+ case 1:
29952
+ _c.sent();
29953
+ return [2 /*return*/, { node: node, viewNode: viewNode }];
29954
+ case 2: return [2 /*return*/, null];
29955
+ }
29956
+ });
29957
+ });
29958
+ };
29959
+ /**
29960
+ *
29961
+ * @returns
29962
+ */
29963
+ WorkflowService.prototype._isReadonlyDisabled = function () {
29964
+ return this._config.readonly && !this._plugins.readonly.enabled;
29965
+ };
29966
+ /**
29967
+ *
29968
+ * @returns
29969
+ */
29970
+ WorkflowService.prototype._isReadonlyEnabled = function () {
29971
+ return this._config.readonly && this._plugins.readonly.enabled;
29972
+ };
29973
+ /**
29974
+ *
29975
+ * @param position
29976
+ */
29977
+ WorkflowService.prototype.addStartNode = function (position) {
29978
+ return __awaiter(this, void 0, void 0, function () {
29979
+ var startNode;
29980
+ return __generator(this, function (_c) {
29981
+ switch (_c.label) {
29982
+ case 0:
29983
+ startNode = this._diagram.createNode(NODE_TYPE.start, {
29984
+ type: NODE_TYPE.start,
29985
+ label: NODE_TYPE.start,
29986
+ name: 'start',
29987
+ });
29988
+ return [4 /*yield*/, this._diagram.addNode(startNode)];
29989
+ case 1:
29990
+ _c.sent();
29991
+ return [4 /*yield*/, this._plugins.area.translate(startNode.id, position)];
29992
+ case 2:
29993
+ _c.sent();
29994
+ return [2 /*return*/];
29995
+ }
29996
+ });
29997
+ });
29998
+ };
29999
+ /**
30000
+ *
30001
+ * @param nodeType
30002
+ * @param y
30003
+ * @returns
30004
+ */
30005
+ WorkflowService.prototype._calculatePositionY = function (nodeType, y) {
30006
+ if (nodeType === NODE_TYPE.start) {
30007
+ return Math.abs(Math.floor(y - (this._defaultNodeHeight - this._defaultNodeCircleSize) / 2));
30008
+ }
30009
+ if (nodeType === NODE_TYPE.end) {
30010
+ return Math.abs(Math.floor(y + (this._defaultNodeHeight - this._defaultNodeCircleSize) / 2));
30011
+ }
30012
+ return y;
30013
+ };
30014
+ /**
30015
+ *
30016
+ * @param nodeType
30017
+ * @param lastNodePositionX
30018
+ * @returns
30019
+ */
30020
+ WorkflowService.prototype._calculatePositionX = function (nodeType, lastNodePositionX) {
30021
+ var _nodeWidth = nodeType === NODE_TYPE.content
30022
+ ? this._defaultNodeWidth
30023
+ : this._defaultNodeCircleSize;
30024
+ return lastNodePositionX + this._defaultNodeMargin + _nodeWidth;
30025
+ };
30026
+ /**
30027
+ *
30028
+ * @param node
30029
+ * @param previousNode
30030
+ * @returns
30031
+ */
30032
+ WorkflowService.prototype._isOverEndBoundary = function (node, previousNode) {
30033
+ var _a;
30034
+ var _diagramWidth = Number((_a = this._diagramClientRect) === null || _a === void 0 ? void 0 : _a.width) - this._defaultNodeMargin;
30035
+ var _width = previousNode.position.x + (node.width + this._defaultNodeMargin) * 2;
30036
+ return _width >= _diagramWidth;
30037
+ };
30038
+ /**
30039
+ *
30040
+ * @param previousNode
30041
+ * @returns
30042
+ */
30043
+ WorkflowService.prototype._isNearEndBoundary = function (previousNode) {
30044
+ var _a;
30045
+ var currentPosition = previousNode.position.x +
30046
+ this._defaultNodeWidth +
30047
+ this._defaultNodeMargin * 2 +
30048
+ this._offset;
30049
+ var wrapLine = Number((_a = this._diagramClientRect) === null || _a === void 0 ? void 0 : _a.width) - this._defaultNodeWidth * 2;
30050
+ return currentPosition >= wrapLine;
30051
+ };
30052
+ WorkflowService.prototype._updateNodePosition = function (context) {
30053
+ var _a, _b;
30054
+ return __awaiter(this, void 0, void 0, function () {
30055
+ var _previousNode, _nodeViewPosition, _diagramWidth, _currentX, _fNode, x, _fViewNode;
30056
+ return __generator(this, function (_c) {
30057
+ switch (_c.label) {
30058
+ case 0:
30059
+ _previousNode = this._diagram.getLastNode();
30060
+ _nodeViewPosition = (_a = this._plugins.area.nodeViews.get(context.data.id)) === null || _a === void 0 ? void 0 : _a.position;
30061
+ if (!(_previousNode && _nodeViewPosition)) return [3 /*break*/, 2];
30062
+ _diagramWidth = Number((_b = this._diagramClientRect) === null || _b === void 0 ? void 0 : _b.width);
30063
+ _currentX = _nodeViewPosition.x + context.data.width;
30064
+ if (!(_currentX >= _diagramWidth)) return [3 /*break*/, 2];
30065
+ this._plugins.readonly.disable();
30066
+ _fNode = this._diagram.editor
30067
+ .getNodes()
30068
+ .find(function (nd) { return nd.type !== NODE_TYPE.start; });
30069
+ x = this._offset;
30070
+ if (_fNode) {
30071
+ _fViewNode = this._plugins.area.nodeViews.get(_fNode.id);
30072
+ x = (_fViewNode === null || _fViewNode === void 0 ? void 0 : _fViewNode.position.x) || this._offset;
30073
+ }
30074
+ return [4 /*yield*/, this._plugins.area.translate(context.data.id, {
30075
+ x: x,
30076
+ y: _nodeViewPosition.y + this._defaultNodeMargin + context.data.height,
30077
+ })];
30078
+ case 1:
30079
+ _c.sent();
30080
+ this._plugins.readonly.enable();
30081
+ _c.label = 2;
30082
+ case 2: return [2 /*return*/, context];
30083
+ }
30084
+ });
30085
+ });
30086
+ };
30087
+ return WorkflowService;
30088
+ }());
30089
+ WorkflowService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: WorkflowService, deps: [{ token: DiagramService }, { token: DiagramPluginsService }, { token: MessageService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
30090
+ WorkflowService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: WorkflowService });
30091
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: WorkflowService, decorators: [{
30092
+ type: i0.Injectable
30093
+ }], ctorParameters: function () { return [{ type: DiagramService }, { type: DiagramPluginsService }, { type: MessageService }]; } });
30094
+
30095
+ var BaseNodeComponent = /** @class */ (function (_super) {
30096
+ __extends(BaseNodeComponent, _super);
30097
+ function BaseNodeComponent(cdr, _messageService) {
30098
+ var _this = _super.call(this, cdr) || this;
30099
+ _this._messageService = _messageService;
30100
+ _this.nodeTypes = NODE_TYPE;
30101
+ _this.directions = IN_OUT_DIRECTION;
30102
+ _this.destroy$ = new rxjs.Subject();
30103
+ _this._cdr = cdr;
30104
+ _this._messageService
30105
+ .onMessage(MESSAGE_TYPE.configUpdated)
30106
+ .pipe(operators.takeUntil(_this.destroy$))
30107
+ .subscribe(function (res) {
30108
+ _this._cdr.detectChanges();
30109
+ });
30110
+ return _this;
30111
+ }
30112
+ BaseNodeComponent.prototype.removeNode = function () {
30113
+ this.data.notify(NOTIFY_EVENT.remove, { nodeId: this.data.id });
30114
+ };
30115
+ BaseNodeComponent.prototype.ngOnDestroy = function () {
30116
+ this.destroy$.next();
30117
+ this.destroy$.complete();
30118
+ };
30119
+ return BaseNodeComponent;
30120
+ }(i2$8.NodeComponent));
30121
+ BaseNodeComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BaseNodeComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: MessageService }], target: i0__namespace.ɵɵFactoryTarget.Component });
30122
+ BaseNodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BaseNodeComponent, selector: "ng-component", inputs: { data: "data" }, usesInheritance: true, ngImport: i0__namespace, template: '', isInline: true });
30123
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BaseNodeComponent, decorators: [{
30124
+ type: i0.Component,
30125
+ args: [{
30126
+ template: '',
30127
+ }]
30128
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: MessageService }]; }, propDecorators: { data: [{
30129
+ type: i0.Input
30130
+ }] } });
30131
+
30132
+ var RemoveButtonComponent = /** @class */ (function () {
30133
+ function RemoveButtonComponent() {
30134
+ this.remove = new i0.EventEmitter();
30135
+ }
30136
+ return RemoveButtonComponent;
30137
+ }());
30138
+ RemoveButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RemoveButtonComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
30139
+ 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$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
30140
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RemoveButtonComponent, decorators: [{
30141
+ type: i0.Component,
30142
+ args: [{
30143
+ selector: 'node-remove-button',
30144
+ 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 ",
30145
+ styles: [
30146
+ "\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 ",
30147
+ ],
30148
+ }]
30149
+ }], propDecorators: { remove: [{
30150
+ type: i0.Output
30151
+ }] } });
30152
+
30153
+ var NodeInputsComponent = /** @class */ (function () {
30154
+ function NodeInputsComponent() {
30155
+ }
30156
+ return NodeInputsComponent;
30157
+ }());
30158
+ NodeInputsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeInputsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
30159
+ 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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$8.RefDirective, selector: "[refComponent]", inputs: ["data", "emit"] }], pipes: { "keyvalue": i4__namespace.KeyValuePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
30160
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeInputsComponent, decorators: [{
30161
+ type: i0.Component,
30162
+ args: [{
30163
+ selector: 'node-inputs',
30164
+ encapsulation: i0.ViewEncapsulation.None,
30165
+ host: {
30166
+ '[class]': " 'da-node__inputs inputs-' + direction",
30167
+ },
30168
+ 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 ",
30169
+ }]
30170
+ }], propDecorators: { direction: [{
30171
+ type: i0.Input
30172
+ }], data: [{
30173
+ type: i0.Input
30174
+ }], seed: [{
30175
+ type: i0.Input
30176
+ }], emit: [{
30177
+ type: i0.Input
30178
+ }], sortByIndex: [{
30179
+ type: i0.Input
30180
+ }] } });
30181
+
30182
+ var NodeOutputsComponent = /** @class */ (function () {
30183
+ function NodeOutputsComponent() {
30184
+ }
30185
+ return NodeOutputsComponent;
30186
+ }());
30187
+ NodeOutputsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeOutputsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
30188
+ 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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$8.RefDirective, selector: "[refComponent]", inputs: ["data", "emit"] }], pipes: { "keyvalue": i4__namespace.KeyValuePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
30189
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeOutputsComponent, decorators: [{
30190
+ type: i0.Component,
30191
+ args: [{
30192
+ selector: 'node-outputs',
30193
+ encapsulation: i0.ViewEncapsulation.None,
30194
+ host: {
30195
+ '[class]': " 'da-node__outputs outputs-' + direction",
30196
+ },
30197
+ 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>",
30198
+ }]
30199
+ }], propDecorators: { direction: [{
30200
+ type: i0.Input
30201
+ }], data: [{
30202
+ type: i0.Input
30203
+ }], seed: [{
30204
+ type: i0.Input
30205
+ }], emit: [{
30206
+ type: i0.Input
30207
+ }], sortByIndex: [{
30208
+ type: i0.Input
30209
+ }] } });
30210
+
30211
+ var CircleNodeComponent = /** @class */ (function (_super) {
30212
+ __extends(CircleNodeComponent, _super);
30213
+ function CircleNodeComponent() {
30214
+ return _super !== null && _super.apply(this, arguments) || this;
30215
+ }
30216
+ return CircleNodeComponent;
30217
+ }(BaseNodeComponent));
30218
+ 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 });
30219
+ 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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1__namespace$1.TranslatePipe } });
30220
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CircleNodeComponent, decorators: [{
30221
+ type: i0.Component,
30222
+ args: [{
30223
+ templateUrl: './circle-node.component.html',
30224
+ styleUrls: ['../../styles/node.scss', './circle-node.component.scss'],
30225
+ }]
30226
+ }] });
30227
+
30228
+ var StatusIconComponent = /** @class */ (function () {
30229
+ function StatusIconComponent() {
30230
+ }
30231
+ StatusIconComponent.prototype.getIcon = function () {
30232
+ switch (this.status) {
30233
+ case NODE_STATUS.completed:
30234
+ return 'check_circle';
30235
+ case NODE_STATUS.rejected:
30236
+ return 'cancel';
30237
+ default:
30238
+ return '';
30239
+ }
30240
+ };
30241
+ return StatusIconComponent;
30242
+ }());
30243
+ StatusIconComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: StatusIconComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
30244
+ StatusIconComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StatusIconComponent, selector: "status-icon", inputs: { status: "status" }, host: { properties: { "class": "'da-node__check-status da-node__check-status--' + status" } }, ngImport: i0__namespace, template: " <mat-icon>\n {{ getIcon() }}\n </mat-icon>", isInline: true, components: [{ type: i2__namespace$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
30245
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: StatusIconComponent, decorators: [{
30246
+ type: i0.Component,
30247
+ args: [{
30248
+ selector: 'status-icon',
30249
+ template: " <mat-icon>\n {{ getIcon() }}\n </mat-icon>",
30250
+ encapsulation: i0.ViewEncapsulation.None,
30251
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
30252
+ host: {
30253
+ '[class]': "'da-node__check-status da-node__check-status--' + status",
30254
+ },
30255
+ }]
30256
+ }], propDecorators: { status: [{
30257
+ type: i0.Input
30258
+ }] } });
30259
+
30260
+ var NodeIconComponent = /** @class */ (function () {
30261
+ function NodeIconComponent() {
30262
+ }
30263
+ NodeIconComponent.prototype.isIconTemplate = function (icon) {
30264
+ return icon instanceof i0.TemplateRef;
30265
+ };
30266
+ return NodeIconComponent;
30267
+ }());
30268
+ NodeIconComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeIconComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
30269
+ NodeIconComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NodeIconComponent, selector: "node-icon", inputs: { icon: "icon" }, host: { classAttribute: "da-node__icon" }, ngImport: i0__namespace, template: "\n <mat-icon *ngIf=\"!isIconTemplate(icon)\">{{ icon }}</mat-icon>\n <span *ngIf=\"isIconTemplate(icon)\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </span>\n ", isInline: true, components: [{ type: i2__namespace$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0__namespace.ViewEncapsulation.None });
30270
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NodeIconComponent, decorators: [{
30271
+ type: i0.Component,
30272
+ args: [{
30273
+ selector: 'node-icon',
30274
+ template: "\n <mat-icon *ngIf=\"!isIconTemplate(icon)\">{{ icon }}</mat-icon>\n <span *ngIf=\"isIconTemplate(icon)\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </span>\n ",
30275
+ encapsulation: i0.ViewEncapsulation.None,
30276
+ host: {
30277
+ class: 'da-node__icon',
30278
+ },
30279
+ }]
30280
+ }], propDecorators: { icon: [{
30281
+ type: i0.Input
30282
+ }] } });
30283
+
30284
+ var ContentNodeComponent = /** @class */ (function (_super) {
30285
+ __extends(ContentNodeComponent, _super);
30286
+ function ContentNodeComponent() {
30287
+ return _super !== null && _super.apply(this, arguments) || this;
30288
+ }
30289
+ return ContentNodeComponent;
30290
+ }(BaseNodeComponent));
30291
+ 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 });
30292
+ 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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
30293
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ContentNodeComponent, decorators: [{
30294
+ type: i0.Component,
30295
+ args: [{
30296
+ templateUrl: './content-node.component.html',
30297
+ styleUrls: ['../../styles/node.scss'],
30298
+ }]
30299
+ }] });
30300
+
30301
+ var CustomConnectionComponent = /** @class */ (function (_super) {
30302
+ __extends(CustomConnectionComponent, _super);
30303
+ function CustomConnectionComponent() {
30304
+ return _super !== null && _super.apply(this, arguments) || this;
30305
+ }
30306
+ return CustomConnectionComponent;
30307
+ }(i2$8.ConnectionComponent));
30308
+ 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 });
30309
+ 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 "] });
30310
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomConnectionComponent, decorators: [{
30311
+ type: i0.Component,
30312
+ args: [{
30313
+ selector: 'connection',
30314
+ styles: [
30315
+ "\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 ",
30316
+ ],
30317
+ 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 ",
30318
+ }]
30319
+ }], propDecorators: { data: [{
30320
+ type: i0.Input
30321
+ }] } });
30322
+
30323
+ var CustomSocketComponent = /** @class */ (function (_super) {
30324
+ __extends(CustomSocketComponent, _super);
30325
+ function CustomSocketComponent() {
30326
+ return _super !== null && _super.apply(this, arguments) || this;
30327
+ }
30328
+ return CustomSocketComponent;
30329
+ }(i2$8.SocketComponent));
30330
+ 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 });
30331
+ 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 "] });
30332
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomSocketComponent, decorators: [{
30333
+ type: i0.Component,
30334
+ args: [{
30335
+ template: "",
30336
+ styles: [
30337
+ "\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 ",
30338
+ ],
30339
+ }]
30340
+ }] });
30341
+
30342
+ var TemplateNodeComponent = /** @class */ (function (_super) {
30343
+ __extends(TemplateNodeComponent, _super);
30344
+ function TemplateNodeComponent() {
30345
+ return _super !== null && _super.apply(this, arguments) || this;
30346
+ }
30347
+ TemplateNodeComponent.prototype.ngOnInit = function () { };
30348
+ Object.defineProperty(TemplateNodeComponent.prototype, "templateOutletContext", {
30349
+ get: function () {
30350
+ var _a = this.data, content = _a.content, description = _a.description, name = _a.name, status = _a.status, id = _a.id;
30351
+ return {
30352
+ $implicit: {
30353
+ content: content,
30354
+ description: description,
30355
+ name: name,
30356
+ status: status,
30357
+ id: id,
30358
+ },
30359
+ };
30360
+ },
30361
+ enumerable: false,
30362
+ configurable: true
30363
+ });
30364
+ return TemplateNodeComponent;
30365
+ }(BaseNodeComponent));
30366
+ 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 });
30367
+ 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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.Default });
30368
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateNodeComponent, decorators: [{
30369
+ type: i0.Component,
30370
+ args: [{
30371
+ templateUrl: './template-node.component.html',
30372
+ styleUrls: ['../../styles/node.scss'],
30373
+ changeDetection: i0.ChangeDetectionStrategy.Default,
30374
+ styles: [
30375
+ "\n :host {\n display: block;\n }\n ",
30376
+ ],
30377
+ }]
30378
+ }] });
30379
+
30380
+ var ZoomControlComponent = /** @class */ (function () {
30381
+ function ZoomControlComponent(_plugins) {
30382
+ this._plugins = _plugins;
30383
+ this.delta = 0.1;
30384
+ }
30385
+ ZoomControlComponent.prototype.zoomOut = function () {
30386
+ var k = this._plugins.area.area.transform.k;
30387
+ this._plugins.area.area.zoom(k - this.delta);
30388
+ };
30389
+ ZoomControlComponent.prototype.zoomIn = function () {
30390
+ var k = this._plugins.area.area.transform.k;
30391
+ this._plugins.area.area.zoom(k + this.delta);
30392
+ };
30393
+ return ZoomControlComponent;
30394
+ }());
30395
+ ZoomControlComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ZoomControlComponent, deps: [{ token: DiagramPluginsService }], target: i0__namespace.ɵɵFactoryTarget.Component });
30396
+ ZoomControlComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ZoomControlComponent, selector: "app-zoom-control", ngImport: i0__namespace, template: "\n <button mat-flat-button (click)=\"zoomOut()\">\n <mat-icon>zoom_out</mat-icon>\n </button>\n <button mat-flat-button (click)=\"zoomIn()\">\n <mat-icon>zoom_in</mat-icon>\n </button>\n ", isInline: true, styles: ["\n :host {\n position: var(--diagram-zoom-position, absolute);\n inset-inline: var(--diagram-zoom-inline, auto 5px);\n inset-block: var(--diagram-zoom-block, 5px auto);\n background: var(--diagram-zoom-background, #f8f8ff);\n border-radius: var(--diagram-zoom-radius, 4px);\n border: var(--diagram-zoom-border, 1px solid #dcdce4);\n display: var(--diagram-zoom-display, inline-flex);\n flex-direction: var(--diagram-zoom-direction, row);\n box-shadow: var(--diagram-zoom-shadow, 0 0 0 0 #eee);\n .mat-flat-button {\n background-color: transparent;\n min-width: 36px;\n }\n }\n "], components: [{ type: i1__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$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
30397
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ZoomControlComponent, decorators: [{
30398
+ type: i0.Component,
30399
+ args: [{
30400
+ selector: 'app-zoom-control',
30401
+ template: "\n <button mat-flat-button (click)=\"zoomOut()\">\n <mat-icon>zoom_out</mat-icon>\n </button>\n <button mat-flat-button (click)=\"zoomIn()\">\n <mat-icon>zoom_in</mat-icon>\n </button>\n ",
30402
+ styles: [
30403
+ "\n :host {\n position: var(--diagram-zoom-position, absolute);\n inset-inline: var(--diagram-zoom-inline, auto 5px);\n inset-block: var(--diagram-zoom-block, 5px auto);\n background: var(--diagram-zoom-background, #f8f8ff);\n border-radius: var(--diagram-zoom-radius, 4px);\n border: var(--diagram-zoom-border, 1px solid #dcdce4);\n display: var(--diagram-zoom-display, inline-flex);\n flex-direction: var(--diagram-zoom-direction, row);\n box-shadow: var(--diagram-zoom-shadow, 0 0 0 0 #eee);\n .mat-flat-button {\n background-color: transparent;\n min-width: 36px;\n }\n }\n ",
30404
+ ],
30405
+ }]
30406
+ }], ctorParameters: function () { return [{ type: DiagramPluginsService }]; } });
30407
+
30408
+ var DiagramDirective = /** @class */ (function () {
30409
+ function DiagramDirective(_elementRef, _renderer, _injector, _viewContainerRef, _resolver, _diagramService, _pluginsService) {
30410
+ this._elementRef = _elementRef;
30411
+ this._renderer = _renderer;
30412
+ this._injector = _injector;
30413
+ this._viewContainerRef = _viewContainerRef;
30414
+ this._resolver = _resolver;
30415
+ this._diagramService = _diagramService;
30416
+ this._pluginsService = _pluginsService;
30417
+ this.height = DIAGRAM_HEIGHT + "px";
30418
+ this.width = '100%';
30419
+ this.config = { readonly: { active: false } };
30420
+ this.zoomCtrl = true;
30421
+ this.onDiagramReady = new i0.EventEmitter();
30422
+ }
30423
+ Object.defineProperty(DiagramDirective.prototype, "clientRect", {
30424
+ get: function () {
30425
+ return this._elementRef.nativeElement.getBoundingClientRect();
30426
+ },
30427
+ enumerable: false,
30428
+ configurable: true
30429
+ });
30430
+ DiagramDirective.prototype.ngOnInit = function () {
30431
+ this._appendStyles();
30432
+ };
30433
+ DiagramDirective.prototype._appendZoomComponent = function () {
30434
+ if (!this.zoomCtrl) {
30435
+ return;
30436
+ }
30437
+ var factory = this._resolver.resolveComponentFactory(ZoomControlComponent);
30438
+ this._viewContainerRef.createComponent(factory);
30439
+ };
30440
+ DiagramDirective.prototype.ngAfterViewInit = function () {
30441
+ return __awaiter(this, void 0, void 0, function () {
30442
+ var editor, error_1;
30443
+ return __generator(this, function (_a) {
30444
+ switch (_a.label) {
30445
+ case 0:
30446
+ this._appendZoomComponent();
30447
+ _a.label = 1;
30448
+ case 1:
30449
+ _a.trys.push([1, 3, , 4]);
30450
+ return [4 /*yield*/, createDiagramEditor(this._elementRef.nativeElement, this._injector, this.config //TODO it's Should be merged with DIAGRAM_DEFAULT_OPTIONS
30451
+ )];
30452
+ case 2:
30453
+ editor = _a.sent();
30454
+ this._pluginsService.setPlugins(editor);
30455
+ this._diagramService.setEditor(editor);
30456
+ this.diagramEditor = editor;
30457
+ this.onDiagramReady.emit(editor);
30458
+ return [3 /*break*/, 4];
30459
+ case 3:
30460
+ error_1 = _a.sent();
30461
+ console.log(error_1);
30462
+ return [3 /*break*/, 4];
30463
+ case 4: return [2 /*return*/];
30464
+ }
30465
+ });
30466
+ });
30467
+ };
30468
+ DiagramDirective.prototype._appendStyles = function () {
30469
+ var _this = this;
30470
+ var _requiredStyles = {
30471
+ position: 'var(--diagram-position, relative)',
30472
+ width: "var(--diagram-width, " + this.width + ")",
30473
+ height: "var(--diagram-height, " + this.height + ")",
30474
+ direction: 'ltr',
30475
+ };
30476
+ Object.entries(_requiredStyles).forEach(function (_a) {
30477
+ var _b = __read(_a, 2), key = _b[0], value = _b[1];
30478
+ _this._renderer.setStyle(_this._elementRef.nativeElement, key, value);
30479
+ });
30480
+ };
30481
+ return DiagramDirective;
30482
+ }());
30483
+ DiagramDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DiagramDirective, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }, { token: i0__namespace.Injector }, { token: i0__namespace.ViewContainerRef }, { token: i0__namespace.ComponentFactoryResolver }, { token: DiagramService }, { token: DiagramPluginsService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
30484
+ DiagramDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: DiagramDirective, selector: "[appDiagram]", inputs: { height: "height", width: "width", config: "config", zoomCtrl: "zoomCtrl" }, outputs: { onDiagramReady: "onDiagramReady" }, exportAs: ["diagram"], ngImport: i0__namespace });
30485
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DiagramDirective, decorators: [{
30486
+ type: i0.Directive,
30487
+ args: [{
30488
+ selector: '[appDiagram]',
30489
+ exportAs: 'diagram',
30490
+ }]
30491
+ }], 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: [{
30492
+ type: i0.Input
30493
+ }], width: [{
30494
+ type: i0.Input
30495
+ }], config: [{
30496
+ type: i0.Input
30497
+ }], zoomCtrl: [{
30498
+ type: i0.Input
30499
+ }], onDiagramReady: [{
30500
+ type: i0.Output
30501
+ }] } });
30502
+
30503
+ var DiagramsModule = /** @class */ (function () {
30504
+ function DiagramsModule() {
30505
+ }
30506
+ return DiagramsModule;
30507
+ }());
30508
+ DiagramsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DiagramsModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
30509
+ DiagramsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DiagramsModule, declarations: [CircleNodeComponent,
30510
+ ContentNodeComponent,
30511
+ CustomConnectionComponent,
30512
+ CustomSocketComponent,
30513
+ TemplateNodeComponent,
30514
+ DiagramDirective,
30515
+ RemoveButtonComponent,
30516
+ ZoomControlComponent,
30517
+ NodeIconComponent,
30518
+ StatusIconComponent,
30519
+ NodeInputsComponent,
30520
+ NodeOutputsComponent], imports: [i4.CommonModule,
30521
+ i2$8.ReteModule,
30522
+ i1$7.MatButtonModule,
30523
+ i2$3.MatIconModule,
30524
+ i6.FormsModule,
30525
+ i1$1.TranslateModule,
30526
+ i2$5.MatTooltipModule], exports: [DiagramDirective, ZoomControlComponent] });
30527
+ DiagramsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DiagramsModule, providers: [DiagramService, DiagramPluginsService, WorkflowService], imports: [[
30528
+ i4.CommonModule,
30529
+ i2$8.ReteModule,
30530
+ i1$7.MatButtonModule,
30531
+ i2$3.MatIconModule,
30532
+ i6.FormsModule,
30533
+ i1$1.TranslateModule,
30534
+ i2$5.MatTooltipModule,
30535
+ ]] });
30536
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DiagramsModule, decorators: [{
30537
+ type: i0.NgModule,
30538
+ args: [{
30539
+ declarations: [
30540
+ CircleNodeComponent,
30541
+ ContentNodeComponent,
30542
+ CustomConnectionComponent,
30543
+ CustomSocketComponent,
30544
+ TemplateNodeComponent,
30545
+ DiagramDirective,
30546
+ RemoveButtonComponent,
30547
+ ZoomControlComponent,
30548
+ NodeIconComponent,
30549
+ StatusIconComponent,
30550
+ NodeInputsComponent,
30551
+ NodeOutputsComponent,
30552
+ ],
30553
+ imports: [
30554
+ i4.CommonModule,
30555
+ i2$8.ReteModule,
30556
+ i1$7.MatButtonModule,
30557
+ i2$3.MatIconModule,
30558
+ i6.FormsModule,
30559
+ i1$1.TranslateModule,
30560
+ i2$5.MatTooltipModule,
30561
+ ],
30562
+ exports: [DiagramDirective, ZoomControlComponent],
30563
+ providers: [DiagramService, DiagramPluginsService, WorkflowService],
30564
+ }]
30565
+ }] });
30566
+
29028
30567
  var FILTER_DATES_TYPE = {
29029
30568
  lastDay: 'from_now-24H_to_now',
29030
30569
  lastWeek: 'from_now-7d_to_now',
@@ -31258,12 +32797,15 @@
31258
32797
  exports.AttachmentsPageProviderComponent = AttachmentsPageProviderComponent;
31259
32798
  exports.AvatarComponent = AvatarComponent;
31260
32799
  exports.AvatarModule = AvatarModule;
32800
+ exports.BaseNodeClass = BaseNodeClass;
31261
32801
  exports.BooleanViewerComponent = BooleanViewerComponent;
31262
32802
  exports.ButtonComponent = ButtonComponent;
31263
32803
  exports.CallApiService = CallApiService;
31264
32804
  exports.CardComponent = CardComponent;
31265
32805
  exports.CardModule = CardModule;
31266
32806
  exports.ChartDataService = ChartDataService;
32807
+ exports.CircleNode = CircleNode;
32808
+ exports.CircleNodeComponent = CircleNodeComponent;
31267
32809
  exports.ClickOutsideDirective = ClickOutsideDirective;
31268
32810
  exports.ClipboardComponent = ClipboardComponent;
31269
32811
  exports.CommentApiService = CommentApiService;
@@ -31276,6 +32818,9 @@
31276
32818
  exports.ConfirmDialogComponent = ConfirmDialogComponent;
31277
32819
  exports.ConfirmationDialogComponent = ConfirmationDialogComponent;
31278
32820
  exports.ConfirmationDialogModule = ConfirmationDialogModule;
32821
+ exports.Connection = Connection;
32822
+ exports.ContentNode = ContentNode;
32823
+ exports.ContentNodeComponent = ContentNodeComponent;
31279
32824
  exports.CopyComponent = CopyComponent;
31280
32825
  exports.CorrespondenceRelationComponent = CorrespondenceRelationComponent;
31281
32826
  exports.CorrespondenceRelationModule = CorrespondenceRelationModule;
@@ -31287,11 +32832,15 @@
31287
32832
  exports.CreateModalComponent = CreateModalComponent;
31288
32833
  exports.CreationTypeComponent = CreationTypeComponent;
31289
32834
  exports.CtsTagsModule = CtsTagsModule;
32835
+ exports.CustomConnectionComponent = CustomConnectionComponent;
31290
32836
  exports.CustomDocumentViewerComponent = CustomDocumentViewerComponent;
31291
32837
  exports.CustomPpViewerComponent = CustomPpViewerComponent;
32838
+ exports.CustomSocketComponent = CustomSocketComponent;
31292
32839
  exports.CustomToastrModule = CustomToastrModule;
31293
32840
  exports.CustomToastrService = CustomToastrService;
31294
32841
  exports.CutomeVocViewerComponent = CutomeVocViewerComponent;
32842
+ exports.DIAGRAM_DEFAULT_OPTIONS = DIAGRAM_DEFAULT_OPTIONS;
32843
+ exports.DIAGRAM_HEIGHT = DIAGRAM_HEIGHT;
31295
32844
  exports.DataViewerComponent = DataViewerComponent;
31296
32845
  exports.DateFormatterService = DateFormatterService;
31297
32846
  exports.DateHelperService = DateHelperService;
@@ -31301,6 +32850,10 @@
31301
32850
  exports.DepartmentFormComponent = DepartmentFormComponent;
31302
32851
  exports.DepartmentManagementService = DepartmentManagementService;
31303
32852
  exports.DepartmentViewerComponent = DepartmentViewerComponent;
32853
+ exports.DiagramDirective = DiagramDirective;
32854
+ exports.DiagramPluginsService = DiagramPluginsService;
32855
+ exports.DiagramService = DiagramService;
32856
+ exports.DiagramsModule = DiagramsModule;
31304
32857
  exports.DialogMangmentService = DialogMangmentService;
31305
32858
  exports.DirectiveModule = DirectiveModule;
31306
32859
  exports.DisplaySuitableIconComponent = DisplaySuitableIconComponent;
@@ -31376,6 +32929,7 @@
31376
32929
  exports.HijriDatePipe = HijriDatePipe;
31377
32930
  exports.HijriDatepickerComponent = HijriDatepickerComponent;
31378
32931
  exports.HijriGregorianDatepickerComponent = HijriGregorianDatepickerComponent;
32932
+ exports.IN_OUT_DIRECTION = IN_OUT_DIRECTION;
31379
32933
  exports.IconService = IconService;
31380
32934
  exports.InitializationService = InitializationService;
31381
32935
  exports.ItemListComponent = ItemListComponent;
@@ -31386,19 +32940,31 @@
31386
32940
  exports.LoanRequestComponent = LoanRequestComponent;
31387
32941
  exports.LocalStoragService = LocalStoragService;
31388
32942
  exports.LocalizedDatePipe = LocalizedDatePipe;
32943
+ exports.MESSAGE_TYPE = MESSAGE_TYPE;
31389
32944
  exports.MY_MOMENT_FORMATS = MY_MOMENT_FORMATS;
31390
32945
  exports.MainfolderService = MainfolderService;
32946
+ exports.MessageService = MessageService;
31391
32947
  exports.MomentDateAdapter = MomentDateAdapter;
31392
32948
  exports.MoveComponent = MoveComponent;
31393
32949
  exports.MultiValuePipe = MultiValuePipe;
31394
32950
  exports.MultipleDynamicFormViewerComponent = MultipleDynamicFormViewerComponent;
31395
32951
  exports.MutipleDynamicFormViewerModule = MutipleDynamicFormViewerModule;
32952
+ exports.NODE_CIRCLE_SIZE = NODE_CIRCLE_SIZE;
32953
+ exports.NODE_HEIGHT = NODE_HEIGHT;
32954
+ exports.NODE_MARGIN = NODE_MARGIN;
32955
+ exports.NODE_STATUS = NODE_STATUS;
32956
+ exports.NODE_TYPE = NODE_TYPE;
32957
+ exports.NODE_WIDTH = NODE_WIDTH;
31396
32958
  exports.NOTIFICATIONS_LIST_OPTIONS = NOTIFICATIONS_LIST_OPTIONS;
31397
32959
  exports.NOTIFICATION_ICON = NOTIFICATION_ICON;
31398
32960
  exports.NOTIFICATION_ITEM = NOTIFICATION_ITEM;
31399
32961
  exports.NOTIFICATION_STATUS = NOTIFICATION_STATUS;
32962
+ exports.NOTIFY_EVENT = NOTIFY_EVENT;
31400
32963
  exports.NgxHijriGregorianDatepickerModule = NgxHijriGregorianDatepickerModule;
31401
32964
  exports.NoDataComponent = NoDataComponent;
32965
+ exports.NodeIconComponent = NodeIconComponent;
32966
+ exports.NodeInputsComponent = NodeInputsComponent;
32967
+ exports.NodeOutputsComponent = NodeOutputsComponent;
31402
32968
  exports.NotificationIconDirective = NotificationIconDirective;
31403
32969
  exports.NotificationItemComponent = NotificationItemComponent;
31404
32970
  exports.NotificationItemDirective = NotificationItemDirective;
@@ -31434,8 +33000,10 @@
31434
33000
  exports.PublishingDocumentService = PublishingDocumentService;
31435
33001
  exports.ReadMoreComponent = ReadMoreComponent;
31436
33002
  exports.RecentlyViewedService = RecentlyViewedService;
33003
+ exports.RemoveButtonComponent = RemoveButtonComponent;
31437
33004
  exports.RenameComponent = RenameComponent;
31438
33005
  exports.RolesService = RolesService;
33006
+ exports.SOCKET_WIDTH = SOCKET_WIDTH;
31439
33007
  exports.SUBSCRIPTION_STATE = SUBSCRIPTION_STATE;
31440
33008
  exports.SafeHtmlPipe = SafeHtmlPipe;
31441
33009
  exports.ScanComponent = ScanComponent;
@@ -31453,12 +33021,16 @@
31453
33021
  exports.SharedServicesModule = SharedServicesModule;
31454
33022
  exports.SidepanelComponent = SidepanelComponent;
31455
33023
  exports.SingleActivityComponent = SingleActivityComponent;
33024
+ exports.Socket = Socket;
31456
33025
  exports.SpinnerComponent = SpinnerComponent;
33026
+ exports.StatusIconComponent = StatusIconComponent;
31457
33027
  exports.TRANSLATION_PROVIDER = TRANSLATION_PROVIDER;
31458
33028
  exports.TableComponent = TableComponent;
31459
33029
  exports.TableModule = TableModule;
31460
33030
  exports.TagsApiService = TagsApiService;
31461
33031
  exports.TemplateModalComponent = TemplateModalComponent;
33032
+ exports.TemplateNode = TemplateNode;
33033
+ exports.TemplateNodeComponent = TemplateNodeComponent;
31462
33034
  exports.TimeAgoPipe = TimeAgoPipe;
31463
33035
  exports.ToastsModule = ToastsModule;
31464
33036
  exports.TransferDocComponent = TransferDocComponent;
@@ -31484,10 +33056,13 @@
31484
33056
  exports.VocabularyApiService = VocabularyApiService;
31485
33057
  exports.VocabularyComponent = VocabularyComponent;
31486
33058
  exports.VocabularyModule = VocabularyModule;
33059
+ exports.WorkflowService = WorkflowService;
33060
+ exports.ZoomControlComponent = ZoomControlComponent;
31487
33061
  exports.appInitializer = appInitializer;
31488
33062
  exports.departmentCacheBuster$ = departmentCacheBuster$;
31489
33063
  exports.extensionJsonsFactory = extensionJsonsFactory;
31490
33064
  exports.filterEnabled = filterEnabled;
33065
+ exports.getConnections = getConnections;
31491
33066
  exports.getValue = getValue;
31492
33067
  exports.mergeArrays = mergeArrays;
31493
33068
  exports.mergeObjects = mergeObjects;
@@ -31495,6 +33070,11 @@
31495
33070
  exports.provideExtensionConfig = provideExtensionConfig;
31496
33071
  exports.reduceEmptyMenus = reduceEmptyMenus;
31497
33072
  exports.reduceSeparators = reduceSeparators;
33073
+ exports.removeConnections = removeConnections;
33074
+ exports.removeNode = removeNode;
33075
+ exports.removeNodeAndConnections = removeNodeAndConnections;
33076
+ exports.serializeControl = serializeControl;
33077
+ exports.serializePort = serializePort;
31498
33078
  exports.sortByOrder = sortByOrder;
31499
33079
 
31500
33080
  Object.defineProperty(exports, '__esModule', { value: true });