qms-angular 1.1.46 → 1.1.48

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. package/bundles/qms-angular.umd.js +1686 -24
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/select-process-data/index.js +2 -0
  4. package/esm2015/lib/components/select-process-data/public-api.js +3 -0
  5. package/esm2015/lib/components/select-process-data/select-process-data.component.js +275 -0
  6. package/esm2015/lib/components/select-process-data/select-process-data.module.js +64 -0
  7. package/esm2015/lib/components/select-process-data-tree/index.js +2 -0
  8. package/esm2015/lib/components/select-process-data-tree/public-api.js +3 -0
  9. package/esm2015/lib/components/select-process-data-tree/select-process-data-tree.component.js +1134 -0
  10. package/esm2015/lib/components/select-process-data-tree/select-process-data-tree.module.js +64 -0
  11. package/esm2015/lib/model/en.js +2 -1
  12. package/esm2015/lib/model/no.js +2 -1
  13. package/esm2015/lib/qms-ckeditor-components/common/bpmn/toolbar.function.js +7 -4
  14. package/esm2015/lib/qms-ckeditor-components/common/functions/resource.function.js +3 -2
  15. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +4 -3
  16. package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model.js +1 -1
  17. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +2 -1
  18. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.js +3 -4
  19. package/esm2015/public-api.js +3 -1
  20. package/fesm2015/qms-angular.js +1491 -25
  21. package/fesm2015/qms-angular.js.map +1 -1
  22. package/lib/components/select-process-data/index.d.ts +1 -0
  23. package/lib/components/select-process-data/public-api.d.ts +2 -0
  24. package/lib/components/select-process-data/select-process-data.component.d.ts +120 -0
  25. package/lib/components/select-process-data/select-process-data.module.d.ts +2 -0
  26. package/lib/components/select-process-data-tree/index.d.ts +1 -0
  27. package/lib/components/select-process-data-tree/public-api.d.ts +2 -0
  28. package/lib/components/select-process-data-tree/select-process-data-tree.component.d.ts +196 -0
  29. package/lib/components/select-process-data-tree/select-process-data-tree.module.d.ts +2 -0
  30. package/lib/model/en.d.ts +1 -0
  31. package/lib/model/no.d.ts +1 -0
  32. package/lib/qms-ckeditor-components/common/bpmn/toolbar.function.d.ts +26 -0
  33. package/lib/qms-ckeditor-components/common/functions/resource.function.d.ts +1 -0
  34. package/lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model.d.ts +1 -0
  35. package/package.json +1 -1
  36. package/public-api.d.ts +2 -0
  37. package/qms-angular.metadata.json +1 -1
  38. package/src/assets/jointjs/scss/bpmn.scss +3 -3
  39. package/src/assets/jointjs/scss/rappid.scss +12 -1
  40. package/src/lib/components/select-process-data/select-process-data.component.scss +241 -0
  41. package/src/lib/components/select-process-data-tree/select-process-data-tree.component.scss +634 -0
@@ -165,6 +165,7 @@ const en = {
165
165
  "INSERT_TOOLTIP": "Insert a tooltip",
166
166
  "CONTENT": "Content",
167
167
  "TEMPLATE": "Template",
168
+ "RESET": "Reset",
168
169
  "CONTENT_TEMPLATE": "Content Template",
169
170
  "CREATE_NEW_TEMPLATE": "Create new template",
170
171
  "UPDATE_TEMPLATE": "Update template",
@@ -724,6 +725,7 @@ const no = {
724
725
  "INSERT_TOOLTIP": "Sett inn et verktøytips",
725
726
  "CONTENT": "Innhold",
726
727
  "TEMPLATE": "Mal",
728
+ "RESET": "Nullstille",
727
729
  "CONTENT_TEMPLATE": "Innholdsmal",
728
730
  "CREATE_NEW_TEMPLATE": "Lag ny mal",
729
731
  "UPDATE_TEMPLATE": "Oppdater mal",
@@ -4240,7 +4242,7 @@ QMSContentChangesDirective.propDecorators = {
4240
4242
  qmsContentChanges: [{ type: Input }]
4241
4243
  };
4242
4244
 
4243
- const ɵ0$6 = { appearance: 'fill' }, ɵ1$1 = { color: 'none' };
4245
+ const ɵ0$7 = { appearance: 'fill' }, ɵ1$1 = { color: 'none' };
4244
4246
  class QmsAngularModule {
4245
4247
  }
4246
4248
  QmsAngularModule.decorators = [
@@ -4366,7 +4368,7 @@ QmsAngularModule.decorators = [
4366
4368
  QMSContentChangesDirective
4367
4369
  ],
4368
4370
  providers: [
4369
- { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: ɵ0$6 },
4371
+ { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: ɵ0$7 },
4370
4372
  { provide: MAT_RADIO_DEFAULT_OPTIONS, useValue: ɵ1$1 },
4371
4373
  QMSUploadingFileGuard
4372
4374
  ],
@@ -4666,7 +4668,7 @@ QMSListItem.propDecorators = {
4666
4668
  _lines: [{ type: ContentChildren, args: [QMSListLine, { descendants: true },] }]
4667
4669
  };
4668
4670
 
4669
- const ɵ0$5 = {
4671
+ const ɵ0$6 = {
4670
4672
  expandedHeight: '*',
4671
4673
  collapsedHeight: '*'
4672
4674
  };
@@ -4708,7 +4710,7 @@ QMSListModule.decorators = [
4708
4710
  providers: [
4709
4711
  {
4710
4712
  provide: MAT_EXPANSION_PANEL_DEFAULT_OPTIONS,
4711
- useValue: ɵ0$5
4713
+ useValue: ɵ0$6
4712
4714
  }
4713
4715
  ],
4714
4716
  schemas: [
@@ -12910,7 +12912,7 @@ function BuildResourceNO(LANG = null) {
12910
12912
  "Upload failed": "Kunne ikke laste opp",
12911
12913
  "Upload in progress": "Laster opp fil",
12912
12914
  "White": "Hvit",
12913
- "Widget toolbar": "Widget verktøylinje ",
12915
+ "Widget toolbar": "Widget verktøylinje",
12914
12916
  "Words: %0": "Ord: %0",
12915
12917
  "Yellow": "Gul",
12916
12918
  "image widget": "Bilde-widget",
@@ -13019,6 +13021,7 @@ function BuildResourceNO(LANG = null) {
13019
13021
  "Templates": LANG.QMSCKEDITOR.TEMPLATES,
13020
13022
  "About CKEditor": LANG.QMSCKEDITOR.ABOUT_CKEDITOR,
13021
13023
  "Create Table of Contents": LANG.QMSCKEDITOR.CREATE_TABLE_OF_CONTENTS,
13024
+ "Edit anchor": "Rediger anker"
13022
13025
  }
13023
13026
  };
13024
13027
  }
@@ -15779,7 +15782,8 @@ function getToolbarConfiguration$1(LANG) {
15779
15782
  name: 'deleteTemplate',
15780
15783
  attrs: {
15781
15784
  button: {
15782
- 'data-tooltip': `${LANG.BPMN.DELETE_TEMPLATE}`
15785
+ 'data-tooltip': `${LANG.BPMN.DELETE_TEMPLATE}`,
15786
+ 'data-before': `${LANG.DELETE}`
15783
15787
  }
15784
15788
  }
15785
15789
  },
@@ -15788,7 +15792,8 @@ function getToolbarConfiguration$1(LANG) {
15788
15792
  name: 'saveAsTemplate',
15789
15793
  attrs: {
15790
15794
  button: {
15791
- 'data-tooltip': `${LANG.BPMN.SAVE_AS_TEMPLATE}`
15795
+ 'data-tooltip': `${LANG.BPMN.SAVE_AS_TEMPLATE}`,
15796
+ 'data-before': `${LANG.QMSCKEDITOR.TEMPLATE}`
15792
15797
  }
15793
15798
  }
15794
15799
  },
@@ -15797,7 +15802,8 @@ function getToolbarConfiguration$1(LANG) {
15797
15802
  name: 'resetToTempTemplate',
15798
15803
  attrs: {
15799
15804
  button: {
15800
- 'data-tooltip': `${LANG.BPMN.RESET_TO_LAST_SAVE}`
15805
+ 'data-tooltip': `${LANG.BPMN.RESET_TO_LAST_SAVE}`,
15806
+ 'data-before': `${LANG.QMSCKEDITOR.RESET}`
15801
15807
  }
15802
15808
  }
15803
15809
  },
@@ -16634,7 +16640,6 @@ class BpmnService {
16634
16640
  'delete backspace': (evt) => {
16635
16641
  evt.preventDefault();
16636
16642
  graph.removeCells(selection.collection.toArray());
16637
- resetCellView();
16638
16643
  },
16639
16644
  'ctrl+z': () => {
16640
16645
  const notify = isSelectedCellViewInSelection(selection);
@@ -16797,10 +16802,10 @@ class BpmnService {
16797
16802
  }
16798
16803
  }
16799
16804
  else if (shapeDetail.connectionTypeId === ShapeFlowChartConnectionType.Deviation) {
16800
- connectionName = this.LANG.BPMN.LINK_TO_DEVIATION;
16805
+ connectionName = LANG.BPMN.LINK_TO_DEVIATION;
16801
16806
  }
16802
16807
  else if (shapeDetail.connectionTypeId === ShapeFlowChartConnectionType.Checklist) {
16803
- connectionName = this.LANG.BPMN.LINK_TO_CHECKLIST;
16808
+ connectionName = LANG.BPMN.LINK_TO_CHECKLIST;
16804
16809
  }
16805
16810
  if (shapeDetail.connectionTypeId !== ShapeFlowChartConnectionType.Activity) {
16806
16811
  list[i][`style`].cursor = 'pointer';
@@ -20903,10 +20908,11 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
20903
20908
  this.naturalImageWidth = this.imageMapData.imageWidth;
20904
20909
  this.initFormControl();
20905
20910
  this.initSvgIcons(iconRegistry, sanitizer);
20911
+ this.selectedTarget = data.defaultTargetNewWindow ? TargetTypeName.new : TargetTypeName.same;
20906
20912
  }
20907
20913
  initDefaultValues() {
20908
20914
  this.selectedLinkType = LinkType.url;
20909
- this.selectedTarget = TargetTypeName.new;
20915
+ this.selectedTarget = this.data.defaultTargetNewWindow ? TargetTypeName.new : TargetTypeName.same;
20910
20916
  this.selectedProtocol = ProtocolTypeName.http;
20911
20917
  this.url = '';
20912
20918
  this.processedUrl = '';
@@ -21147,7 +21153,7 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
21147
21153
  this.myImageMap.areas[this.currentAreaId].aalt = this.anchorText;
21148
21154
  }
21149
21155
  else {
21150
- this.myImageMap.areas[this.currentAreaId].atarget = this.selectedTarget || TargetTypeName.new;
21156
+ this.myImageMap.areas[this.currentAreaId].atarget = this.selectedTarget || (this.data.defaultTargetNewWindow ? TargetTypeName.new : TargetTypeName.same);
21151
21157
  this.myImageMap.areas[this.currentAreaId].aalt = this.advisoryTitle;
21152
21158
  }
21153
21159
  this.myImageMap.areas[this.currentAreaId].ahref = ahref;
@@ -21978,7 +21984,7 @@ var app;
21978
21984
  }
21979
21985
  app.Link = Link;
21980
21986
  })(app || (app = {}));
21981
- const ɵ0$4 = function (flags) {
21987
+ const ɵ0$5 = function (flags) {
21982
21988
  if (this.hasFlag(flags, 'RENDER')) {
21983
21989
  this.render();
21984
21990
  }
@@ -22013,7 +22019,7 @@ const NavigatorElementView = joint.dia.ElementView.extend({
22013
22019
  position: ['TRANSFORM'],
22014
22020
  angle: ['TRANSFORM']
22015
22021
  },
22016
- confirmUpdate: ɵ0$4,
22022
+ confirmUpdate: ɵ0$5,
22017
22023
  render: ɵ1,
22018
22024
  update: ɵ2
22019
22025
  });
@@ -22043,7 +22049,7 @@ var appShapes = /*#__PURE__*/Object.freeze({
22043
22049
  erd: erd,
22044
22050
  uml: uml,
22045
22051
  org: org,
22046
- 'ɵ0': ɵ0$4,
22052
+ 'ɵ0': ɵ0$5,
22047
22053
  'ɵ1': ɵ1,
22048
22054
  'ɵ2': ɵ2
22049
22055
  });
@@ -28612,6 +28618,7 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
28612
28618
  data.editorContent = this.qmsckContentInput;
28613
28619
  data.linkJavaScriptLinksAllowed = this.qmsckData.linkJavaScriptLinksAllowed;
28614
28620
  data.enabledInterconnected = this.qmsckData.enabledInterconnected;
28621
+ data.defaultTargetNewWindow = this.qmsckData.defaultTargetNewWindow;
28615
28622
  const dialogTemplate = this.dialog.open(QMSCKEditorImageMapComponent, {
28616
28623
  data,
28617
28624
  disableClose: true,
@@ -30032,7 +30039,7 @@ QmsStepperComponent.propDecorators = {
30032
30039
  selectionChangeEvent: [{ type: Output }]
30033
30040
  };
30034
30041
 
30035
- const ɵ0$3 = { displayDefaultIndicatorType: false };
30042
+ const ɵ0$4 = { displayDefaultIndicatorType: false };
30036
30043
  class QmsStepperModule {
30037
30044
  }
30038
30045
  QmsStepperModule.decorators = [
@@ -30053,7 +30060,7 @@ QmsStepperModule.decorators = [
30053
30060
  ],
30054
30061
  providers: [{
30055
30062
  provide: STEPPER_GLOBAL_OPTIONS,
30056
- useValue: ɵ0$3
30063
+ useValue: ɵ0$4
30057
30064
  }]
30058
30065
  },] }
30059
30066
  ];
@@ -32010,7 +32017,7 @@ var PaginationSize;
32010
32017
  PaginationSize["large"] = "large";
32011
32018
  PaginationSize["mobile"] = "mobile";
32012
32019
  })(PaginationSize || (PaginationSize = {}));
32013
- const ɵ0$2 = { overlayPanelClass: 'customCDKpanel' };
32020
+ const ɵ0$3 = { overlayPanelClass: 'customCDKpanel' };
32014
32021
  class QMSPaginatorComponent {
32015
32022
  constructor(trans) {
32016
32023
  this.trans = trans;
@@ -32197,7 +32204,7 @@ QMSPaginatorComponent.decorators = [
32197
32204
  providers: [
32198
32205
  {
32199
32206
  provide: MAT_SELECT_CONFIG,
32200
- useValue: ɵ0$2,
32207
+ useValue: ɵ0$3,
32201
32208
  },
32202
32209
  ],
32203
32210
  styles: ["::ng-deep .customCDKpanel{transform:none!important}::ng-deep .qms-paginator{display:block}::ng-deep .qms-paginator .qms-paginator-outer-container{display:flex}::ng-deep .qms-paginator .mat-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap-reverse;width:100%}::ng-deep .qms-paginator .mat-paginator-container .qms-btn-icon{width:40px;height:40px;line-height:40px}::ng-deep .qms-paginator .mat-paginator-container .mat-select .mat-select-arrow{margin-top:20px}::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{margin-right:24px;margin-bottom:21px}::ng-deep .qms-paginator .mat-paginator-container .qms-total-result span{font-family:Open Sans;font-weight:400;font-size:14px;line-height:22px;color:rgba(0,0,0,.6)}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size{margin-right:24px;display:flex;align-items:baseline}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-pagesize-label{font-weight:400;font-size:14px;line-height:22px;color:#323232;font-family:Open Sans;font-style:normal;margin-right:8px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-form-page-size .mat-form-field-flex{width:80px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-form-select-page-size .mat-form-field-flex{width:51px;padding-left:9px;padding-right:5px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .jump-page .mat-form-field-wrapper .mat-form-field-flex{width:55px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .mat-form-field-flex{height:40px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .mat-form-field-flex .mat-form-field-infix{padding-top:4px;border-top:0;padding-bottom:0;height:25px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions{display:flex;align-items:center;margin-bottom:15px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions .selected{background-color:#e5eefb;color:#1954a9}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions .qms-3d{font-weight:600;font-size:14px;line-height:22px;color:#323232}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions button:not(.qms-btn-disabled) .qms-btn-icon-wrapper{color:#323232}::ng-deep .qms-paginator .mat-paginator-container-mobile .mat-select .mat-select-arrow{margin-top:20px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-total-result{margin-bottom:16px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-total-result span{font-family:Open Sans;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:rgba(0,0,0,.6)}::ng-deep .qms-paginator .mat-paginator-container-mobile .mat-paginator-container{justify-content:flex-start}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size{margin-right:24px;display:flex;align-items:baseline}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-pagesize-label{font-weight:400;font-size:12px;line-height:22px;color:#323232;font-family:Open Sans;font-style:normal;margin-right:8px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-form-page-size .mat-form-field-flex{width:80px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-form-select-page-size .mat-form-field-flex{width:51px;padding-left:9px;padding-right:5px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .jump-page .mat-form-field-wrapper .mat-form-field-flex{width:55px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .mat-form-field-flex{height:40px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .mat-form-field-flex .mat-form-field-infix{padding-top:4px;border-top:0;padding-bottom:0;height:25px}::ng-deep .qms-paginator .size-small .mat-paginator-container{justify-content:flex-start}::ng-deep .qms-paginator .mr-b-size-small{margin-bottom:17px!important}"]
@@ -33879,7 +33886,7 @@ const SelectDepartmentAnimationTrigger = [
33879
33886
  ])
33880
33887
  ];
33881
33888
 
33882
- const ɵ0$1 = {
33889
+ const ɵ0$2 = {
33883
33890
  clickAction: 'noop'
33884
33891
  };
33885
33892
  class SelectDepartmentComponent {
@@ -34119,7 +34126,7 @@ SelectDepartmentComponent.decorators = [
34119
34126
  providers: [
34120
34127
  {
34121
34128
  provide: MAT_CHECKBOX_DEFAULT_OPTIONS,
34122
- useValue: ɵ0$1
34129
+ useValue: ɵ0$2
34123
34130
  }
34124
34131
  ],
34125
34132
  animations: [SelectDepartmentAnimationTrigger],
@@ -34319,7 +34326,7 @@ class QMSSelectAccessDialog {
34319
34326
  }
34320
34327
  }
34321
34328
 
34322
- const ɵ0 = {
34329
+ const ɵ0$1 = {
34323
34330
  clickAction: 'noop'
34324
34331
  };
34325
34332
  class QMSSelectAccessDialogComponent {
@@ -34871,7 +34878,7 @@ QMSSelectAccessDialogComponent.decorators = [
34871
34878
  providers: [
34872
34879
  {
34873
34880
  provide: MAT_CHECKBOX_DEFAULT_OPTIONS,
34874
- useValue: ɵ0
34881
+ useValue: ɵ0$1
34875
34882
  }
34876
34883
  ],
34877
34884
  encapsulation: ViewEncapsulation.None,
@@ -34934,6 +34941,1465 @@ QMSSelectAccessDialogModule.decorators = [
34934
34941
  class FilterPersonModel {
34935
34942
  }
34936
34943
 
34944
+ class SelectProcessDataTreeComponent {
34945
+ constructor(cdRef, domSanitizer, appIconService, iconRegistry, eleRef, trans, overlay, viewContainerRef, treeDepartmentService) {
34946
+ this.cdRef = cdRef;
34947
+ this.domSanitizer = domSanitizer;
34948
+ this.appIconService = appIconService;
34949
+ this.iconRegistry = iconRegistry;
34950
+ this.eleRef = eleRef;
34951
+ this.trans = trans;
34952
+ this.overlay = overlay;
34953
+ this.viewContainerRef = viewContainerRef;
34954
+ this.treeDepartmentService = treeDepartmentService;
34955
+ this.spinnerArr = new Array(12).fill(0);
34956
+ this.arrSkeleton = new Array(6).fill(0);
34957
+ this.height = '50vh';
34958
+ this.config = new QMSSelectDepartmentTreeConfig();
34959
+ this.isIncludeChildren = false;
34960
+ this.onSearchEvent = new EventEmitter();
34961
+ this.onPagingSearchEvent = new EventEmitter();
34962
+ this.onValueChangeEvent = new EventEmitter();
34963
+ this.selectionNodeChangeEvent = new EventEmitter();
34964
+ this.onCheckNodeEvent = new EventEmitter();
34965
+ this.onExpandNodeEvent = new EventEmitter();
34966
+ this.onLoadMoreEvent = new EventEmitter();
34967
+ this.onCheckItemSearchEvent = new EventEmitter();
34968
+ this.onCheckAllItemSearchEvent = new EventEmitter();
34969
+ this.toggleIncludeChildEvent = new EventEmitter();
34970
+ this.MODE_VIEW_ENUM = ModeDepartmentTreeeViewEnum;
34971
+ this.ITEM_SIZE = 50;
34972
+ this.ngUnsubscribe = new Subject();
34973
+ this.resultSearchSelected = [];
34974
+ this.resultSelected = [];
34975
+ this.getDataTree$ = new BehaviorSubject([]);
34976
+ this.searchDepartment$ = new BehaviorSubject(new QMSDepartmentPagingModel());
34977
+ this.resultSearch = [];
34978
+ this.getIndexView$ = new BehaviorSubject(0);
34979
+ this.scrollToNodeEvent$ = new Subject();
34980
+ this.getActiveNodeEvent$ = new Subject();
34981
+ this.activeNode = '';
34982
+ this.PAGINATION_SIZE = PaginationSize;
34983
+ this.PAGE_SIZE_OPTION = [5, 10, 15, 20, 25, 100];
34984
+ this.CURRENT_PAGESIZE = 10;
34985
+ this.nestedTreeNodeMap = new Map();
34986
+ this.flatTreeNodeMap = new Map();
34987
+ this.checkListSelection = new SelectionModel(true);
34988
+ this.checkListSelectionSearch = new SelectionModel(true);
34989
+ this._selectedList = [];
34990
+ this.selectedListAfterDataNodeChange$ = new Subject();
34991
+ this.formSearchControl = new FormControl('');
34992
+ this.getLoading$ = new BehaviorSubject(false);
34993
+ this.getLoadingMore$ = new BehaviorSubject(true);
34994
+ this.untilDestroyLoadMore$ = new Subject();
34995
+ this.onBeforeInitNodeSelected$ = new Subject();
34996
+ this.textSearchSubject$ = new BehaviorSubject('');
34997
+ this.itemIconType = ItemIconType;
34998
+ this._transformer = (node, level) => {
34999
+ const flatNode = this.convertToFlatNode(node) || new QMSFlatNodeTree();
35000
+ flatNode.id = node.id;
35001
+ flatNode.name = node.name;
35002
+ flatNode.expandable = (node.children && node.children.length > 0) || (!!node.childCount) || node.expandable;
35003
+ flatNode.level = level;
35004
+ flatNode.parentId = node.parentId;
35005
+ flatNode.markedGetChildren = node.children.length > 0;
35006
+ flatNode.itemIcon = node.itemIcon;
35007
+ flatNode.itemIconSvg = node.itemIconSvg;
35008
+ flatNode.isFile = node.isFile;
35009
+ flatNode.disabled = node.disabled;
35010
+ flatNode.isGroup = node.isGroup;
35011
+ flatNode.groupId = node.groupId;
35012
+ flatNode.externalName = node.externalName;
35013
+ flatNode.childCount = node.childCount;
35014
+ flatNode.selectedChildCount = node.selectedChildCount;
35015
+ flatNode.markedGetChildCountRecurrsive = node.markedGetChildCountRecurrsive;
35016
+ flatNode.isIncludeChildWhenChecked = node.isIncludeChildWhenChecked;
35017
+ this.flatTreeNodeMap.set(flatNode, node);
35018
+ this.nestedTreeNodeMap.set(node, flatNode);
35019
+ return flatNode;
35020
+ };
35021
+ this.getLevel = (node) => node === null || node === void 0 ? void 0 : node.level;
35022
+ this._getChild = (node) => node.children;
35023
+ this.isExpandable = (node) => node.expandable;
35024
+ this.hasChild = (_, node) => node.expandable;
35025
+ this._handlingLazyObject = {
35026
+ checkAllSearch: false,
35027
+ checkItemSearch: false,
35028
+ checkNode: false,
35029
+ expand: false
35030
+ };
35031
+ // Init tree data
35032
+ this.getDataTree$
35033
+ .pipe(takeUntil(this.ngUnsubscribe))
35034
+ .subscribe(data => {
35035
+ if (!this.dataSource)
35036
+ return;
35037
+ this.dataSource.data = data;
35038
+ this.cdRef.detectChanges();
35039
+ });
35040
+ // Register icon
35041
+ appIconService.registerProcessIcon(iconRegistry, domSanitizer);
35042
+ appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);
35043
+ appIconService.registerDocumentIcon(iconRegistry, domSanitizer);
35044
+ appIconService.registerFolderIcon(iconRegistry, domSanitizer);
35045
+ appIconService.registerDeviationIcon(iconRegistry, domSanitizer);
35046
+ appIconService.registerChecklistIcon(iconRegistry, domSanitizer);
35047
+ appIconService.registerRiskIcon(iconRegistry, domSanitizer);
35048
+ this.trans.getLanguageSubject$.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
35049
+ if (res) {
35050
+ this.LANG = this.trans.getObjectLang(res);
35051
+ }
35052
+ });
35053
+ this._handleSearchEvent();
35054
+ this._handleActiveNodeEvent();
35055
+ this._handleItemSelectionChanged();
35056
+ this.getLoading$.pipe(takeUntil(this.ngUnsubscribe), tap(res => {
35057
+ res ? this.formSearchControl.disable() : this.formSearchControl.enable();
35058
+ })).subscribe();
35059
+ }
35060
+ set rowsSkeleton(value) {
35061
+ this.arrSkeleton = new Array(value).fill(0);
35062
+ }
35063
+ get departmentRoots() {
35064
+ if (!this.treeControl)
35065
+ return;
35066
+ return this.treeControl.dataNodes.filter(node => node.level === 0);
35067
+ }
35068
+ get isAllDepartmentSelected() {
35069
+ return !!this.treeControl && this.treeControl.dataNodes.every(node => this.isSelectedNode(node));
35070
+ }
35071
+ get isIndeterminateCheckboxAllTree() {
35072
+ return !this.isAllDepartmentSelected && this.checkListSelection.selected.length > 0;
35073
+ }
35074
+ get currentTreeData() {
35075
+ return this.getDataTree$.getValue();
35076
+ }
35077
+ get isSelectAllResultSearch() {
35078
+ return this.resultSearch.length && this.resultSearch.every(x => this.checkListSelectionSearch.isSelected(x));
35079
+ }
35080
+ get indeterminateSearchResult() {
35081
+ return !this.isSelectAllResultSearch && !!this.resultSearch.length && this.resultSearch.some(x => this.checkListSelectionSearch.isSelected(x));
35082
+ }
35083
+ ngAfterContentInit() {
35084
+ this.getLoadingMore$.next(false);
35085
+ this.cdRef.detectChanges();
35086
+ }
35087
+ ngAfterViewInit() {
35088
+ this.getIndexView$.pipe(takeUntil(merge(this.ngUnsubscribe, this.untilDestroyLoadMore$)), tap(_ => this.getLoadingMore$.next(this.config.lazy)), delay(700), tap(value => {
35089
+ this.getLoadingMore$.next(false);
35090
+ if (value === 0)
35091
+ this.cdkVirtualScrollViewport &&
35092
+ this.cdkVirtualScrollViewport.scrolledIndexChange
35093
+ .pipe(takeUntil(this.untilDestroyLoadMore$), map(_ => this.cdkVirtualScrollViewport.measureScrollOffset('bottom')), pairwise(), filter(([x1, x2]) => x1 > x2 && x2 < 140), throttleTime(200), tap(_ => {
35094
+ if (this.getLoadingMore$.value)
35095
+ return;
35096
+ if (!this.config.lazy) {
35097
+ this.onDestroyLoadMore();
35098
+ return;
35099
+ }
35100
+ this.onLoadMoreEvent.emit();
35101
+ this.getLoadingMore$.next(true);
35102
+ }))
35103
+ .subscribe();
35104
+ })).subscribe();
35105
+ this.onBeforeInitNodeSelected$.pipe(takeUntil(this.ngUnsubscribe), tap(_ => {
35106
+ this._handleListSelected();
35107
+ this.getLoadingMore$.next(false);
35108
+ })).subscribe();
35109
+ this.cdRef.detectChanges();
35110
+ }
35111
+ ngOnInit() {
35112
+ this.isIncludeChildren = this.config.isIncludeChildren;
35113
+ this._initTreeData();
35114
+ if (!this.config.lazy) {
35115
+ this._handleListSelected();
35116
+ return;
35117
+ }
35118
+ //action for lazy config
35119
+ this._initListSelected();
35120
+ this._handleAfterDataNodeChangeEvent();
35121
+ this.selectedListAfterDataNodeChange$.next(this.treeControl.dataNodes);
35122
+ }
35123
+ ngOnDestroy() {
35124
+ this.ngUnsubscribe.next();
35125
+ this.ngUnsubscribe.complete();
35126
+ }
35127
+ onDestroyLoadMore() {
35128
+ this.untilDestroyLoadMore$.next();
35129
+ this.untilDestroyLoadMore$.complete();
35130
+ }
35131
+ _initTreeData() {
35132
+ this.treeControl = new FlatTreeControl(this.getLevel, this.isExpandable);
35133
+ this.treeFlattener = new MatTreeFlattener(this._transformer, this.getLevel, this.isExpandable, this._getChild);
35134
+ this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
35135
+ const _treeDataInput = _.cloneDeep(this.config.treeData);
35136
+ if (!_treeDataInput.length)
35137
+ return;
35138
+ const treeData = this.treeDepartmentService.convertToTreeData(_treeDataInput);
35139
+ this.updateDataTree(treeData);
35140
+ this.getLoading$.next(false);
35141
+ }
35142
+ _handleListSelected() {
35143
+ if (!this.config.selectedList.length)
35144
+ return;
35145
+ const selectedList = this.config.selectedList.sort((x, y) => x.isGroup ? -1 : y.isGroup ? 1 : 0);
35146
+ for (let i = 0; i < selectedList.length; i++) {
35147
+ const item = selectedList[i];
35148
+ const node = this.getNodeById(item.id);
35149
+ if (node) {
35150
+ const nestedNode = this.convertToNestedNode(node);
35151
+ nestedNode.isGroup = item.isGroup;
35152
+ nestedNode.groupId = item.groupId;
35153
+ this.checkListSelection.select(node);
35154
+ this.handleCheckNode(node);
35155
+ this.onExpandAllParent(node);
35156
+ }
35157
+ }
35158
+ this.cdRef.detectChanges();
35159
+ }
35160
+ _initListSelected() {
35161
+ this._selectedList = this.treeDepartmentService.convertToTreeData(this.config.selectedList);
35162
+ //Convert array selectedList into nested array as 1 level form
35163
+ const indexRemove = [];
35164
+ for (let i = 0; i < this._selectedList.length; i++) {
35165
+ const item = this._selectedList[i];
35166
+ const result = this.treeDepartmentService.getDescendantsOfNode(item);
35167
+ item.children = result;
35168
+ const index = this._selectedList.findIndex(x => result.some(x1 => x1.id === x.id));
35169
+ if (index < 0)
35170
+ continue;
35171
+ indexRemove.push(index);
35172
+ }
35173
+ this._selectedList = this._selectedList.filter((_, index) => !indexRemove.includes(index));
35174
+ this.resultSelected.push(...this._selectedList);
35175
+ this.onValueChangeEvent.emit(this.resultSelected);
35176
+ }
35177
+ // handle selected list when data nodes change
35178
+ _handleAfterDataNodeChangeEvent() {
35179
+ if (this.config.lazy) {
35180
+ this.selectedListAfterDataNodeChange$
35181
+ .pipe(takeUntil(this.ngUnsubscribe), tap(data => {
35182
+ if (!this._selectedList.length)
35183
+ return;
35184
+ this._selectedList.forEach(item => {
35185
+ if (!item.parentId) {
35186
+ const node = this.getNodeById(item.id);
35187
+ if (node)
35188
+ item.parentId = node.parentId;
35189
+ }
35190
+ });
35191
+ for (let i = 0; i < data.length; i++) {
35192
+ const element = data[i];
35193
+ const item = this._selectedList.find(x => { var _a; return x.id === element.id || ((_a = x.children) === null || _a === void 0 ? void 0 : _a.some(x1 => x1.id === element.id)); });
35194
+ if (!!item) {
35195
+ const node = this.getNodeById(item.id);
35196
+ if (!node)
35197
+ continue;
35198
+ const nestedNode = this.convertToNestedNode(node);
35199
+ nestedNode.isGroup = item.isGroup;
35200
+ nestedNode.groupId = item.groupId;
35201
+ this.checkListSelection.select(node);
35202
+ const descendants = this.getListChildrenOfNode(node);
35203
+ if (node.markedGetChildren) {
35204
+ if (!item.children.length)
35205
+ continue;
35206
+ const itemSelect = descendants.filter(x => item.children.map(x1 => x1.id).includes(x.id));
35207
+ if (!itemSelect.length)
35208
+ continue;
35209
+ itemSelect.forEach(_item => {
35210
+ const _nestedNode = this.convertToNestedNode(_item);
35211
+ _nestedNode.groupId = item.children[0].groupId;
35212
+ _nestedNode.isGroup = false;
35213
+ });
35214
+ this.checkListSelection.select(...itemSelect);
35215
+ }
35216
+ }
35217
+ }
35218
+ }))
35219
+ .subscribe();
35220
+ }
35221
+ }
35222
+ /**
35223
+ * This method use for lazy mode, do some thing before init list node selected
35224
+ * @param callback
35225
+ * @returns
35226
+ */
35227
+ onBeforeInitNodeSelected(callback) {
35228
+ return __awaiter(this, void 0, void 0, function* () {
35229
+ if (!this.config.lazy)
35230
+ return;
35231
+ this.getLoadingMore$.next(true);
35232
+ if (!!callback)
35233
+ yield callback();
35234
+ this.onBeforeInitNodeSelected$.next();
35235
+ });
35236
+ }
35237
+ //Handle item selection changed
35238
+ _handleItemSelectionChanged() {
35239
+ this.checkListSelection.changed
35240
+ .pipe(takeUntil(this.ngUnsubscribe))
35241
+ .subscribe(({ added, removed }) => {
35242
+ const checkExistInResult = (node) => this.resultSelected.findIndex(x => x.id === node.id) > -1;
35243
+ if (added.length) {
35244
+ added.forEach(node => {
35245
+ const nestedNode = _.cloneDeep(this.convertToNestedNode(node));
35246
+ nestedNode.children = [];
35247
+ if (!this.config.lazy)
35248
+ nestedNode.childCount = this.getListChildrenOfNode(node).length;
35249
+ const existGroup = _.cloneDeep(this.getAllParentNode(node)
35250
+ .map(item => this.convertToNestedNode(item))
35251
+ .reverse()
35252
+ .find(x => x.isGroup));
35253
+ if (!!existGroup) {
35254
+ const flatExistGroup = this.getNodeById(existGroup.id);
35255
+ nestedNode.groupId = existGroup.id;
35256
+ const groupResult = this.resultSelected.find(x => x.id === existGroup.id);
35257
+ if (groupResult && !groupResult.children.some(x => x.id === nestedNode.id)) {
35258
+ groupResult.isGroup = existGroup.isGroup;
35259
+ groupResult.children.push(nestedNode);
35260
+ }
35261
+ this._onSelectionNodeChangeEvent('updated', [groupResult]);
35262
+ // re-filter result selected
35263
+ this.resultSelected = this.resultSelected.filter(item => !this.getListChildrenOfNode(flatExistGroup).map(x => x.id).includes(item.id));
35264
+ return;
35265
+ }
35266
+ if (checkExistInResult(node))
35267
+ return;
35268
+ this.resultSelected.push(nestedNode);
35269
+ this._onSelectionNodeChangeEvent('added', [nestedNode]);
35270
+ });
35271
+ }
35272
+ if (removed.length) {
35273
+ removed.forEach(node => {
35274
+ const nestedNode = this.convertToNestedNode(node);
35275
+ const children = this.getListChildrenOfNode(node);
35276
+ if (nestedNode.isGroup) {
35277
+ const _item = this.resultSelected.find(x => x.id === node.id);
35278
+ if (!_item)
35279
+ return;
35280
+ children.forEach(item => item.groupId = null);
35281
+ this.resultSelected.splice(this.resultSelected.indexOf(_item), 1);
35282
+ this._onSelectionNodeChangeEvent('removed', [_item]);
35283
+ return;
35284
+ }
35285
+ const group = this.resultSelected.find(x => x.id === nestedNode.groupId);
35286
+ if (!group) {
35287
+ const _item = this.resultSelected.find(x => x.id === node.id);
35288
+ if (!_item)
35289
+ return;
35290
+ this.resultSelected.splice(this.resultSelected.indexOf(_item), 1);
35291
+ this._onSelectionNodeChangeEvent('removed', [_item]);
35292
+ return;
35293
+ }
35294
+ const childNodes = this.getListChildrenOfNode(node).concat(node);
35295
+ for (let i = 0; i < childNodes.length; i++) {
35296
+ const item = childNodes[i];
35297
+ const _node = this.getNodeById(item.id);
35298
+ if (group.children.some(x => x.id === _node.id) && !this.isSelectedNode(_node)) {
35299
+ const _item = group.children.find(x => x.id === item.id);
35300
+ if (!_item)
35301
+ return;
35302
+ group.children.splice(group.children.indexOf(_item), 1);
35303
+ this._onSelectionNodeChangeEvent('updated', [group]);
35304
+ }
35305
+ }
35306
+ });
35307
+ }
35308
+ this._mapToResultSearch();
35309
+ this.onValueChangeEvent.emit(this.resultSelected);
35310
+ });
35311
+ }
35312
+ _onSelectionNodeChangeEvent(state, data) {
35313
+ switch (state) {
35314
+ case 'removed':
35315
+ this.selectionNodeChangeEvent.emit({
35316
+ removed: data,
35317
+ added: [],
35318
+ updated: [],
35319
+ source: new SelectionModel(true, this.resultSelected)
35320
+ });
35321
+ break;
35322
+ case 'updated':
35323
+ this.selectionNodeChangeEvent.emit({
35324
+ removed: [],
35325
+ added: [],
35326
+ updated: data,
35327
+ source: new SelectionModel(true, this.resultSelected)
35328
+ });
35329
+ break;
35330
+ case 'added':
35331
+ this.selectionNodeChangeEvent.emit({
35332
+ removed: [],
35333
+ added: data,
35334
+ updated: [],
35335
+ source: new SelectionModel(true, this.resultSelected)
35336
+ });
35337
+ break;
35338
+ default:
35339
+ return;
35340
+ }
35341
+ }
35342
+ _handleSearchEvent() {
35343
+ this.searchDepartment$
35344
+ .pipe(takeUntil(this.ngUnsubscribe))
35345
+ .subscribe(result => {
35346
+ this.resultSearch = [];
35347
+ this.CURRENT_PAGESIZE = result.pageSize;
35348
+ this.getLoading$.next(false);
35349
+ if (result && result.length) {
35350
+ result.data.forEach(item => {
35351
+ var _a;
35352
+ const node = this.getNodeById(item.id);
35353
+ let location = [];
35354
+ if (this.config.lazy) {
35355
+ location = ((_a = item.path) === null || _a === void 0 ? void 0 : _a.map(x => ({ name: x }))) || [];
35356
+ }
35357
+ else {
35358
+ const parents = node ? this.getAllParentNode(node) : [];
35359
+ location = parents.length ? parents.map((x) => ({
35360
+ id: x.id,
35361
+ name: x.name,
35362
+ })).reverse() : [];
35363
+ }
35364
+ this.resultSearch.push(Object.assign(Object.assign({}, item), { disabled: !this.config.lazy && this.config.checkSearchMappingTree && !node, location: [
35365
+ ...location,
35366
+ {
35367
+ id: item.id,
35368
+ name: item.name,
35369
+ }
35370
+ ], isLoading: false }));
35371
+ });
35372
+ this.textSearchSubject$.next(this.formSearchControl.value);
35373
+ if (this.config.clearCheckListSelectionSearchWhenHandle)
35374
+ this.checkListSelectionSearch.clear();
35375
+ this._mapToResultSearch();
35376
+ this.setIndexView(1);
35377
+ }
35378
+ });
35379
+ }
35380
+ _handleActiveNodeEvent() {
35381
+ this.scrollToNodeEvent$.pipe(takeUntil(this.ngUnsubscribe), switchMap((val) => {
35382
+ const delayTiming = this.getIndexView$.value === 1 ? 700 : 0;
35383
+ this.setIndexView(0);
35384
+ return of(val).pipe(delay(delayTiming), takeUntil(this.ngUnsubscribe));
35385
+ }))
35386
+ .subscribe(res => {
35387
+ this.onScrollIntoNode(res);
35388
+ });
35389
+ this.getActiveNodeEvent$.pipe(takeUntil(this.ngUnsubscribe), switchMap(val => {
35390
+ this.activeNode = val;
35391
+ return timer(1500);
35392
+ }))
35393
+ .subscribe(_ => {
35394
+ this.activeNode = '';
35395
+ });
35396
+ }
35397
+ updateDataTree(data) {
35398
+ this.getDataTree$.next(data);
35399
+ }
35400
+ setLoadingStateNode(isLoading, nodeId) {
35401
+ const node = this.getNodeById(nodeId);
35402
+ if (!node)
35403
+ return;
35404
+ node.isLoading = isLoading;
35405
+ this.checkLoadingOfParent(node);
35406
+ }
35407
+ onExpandNode(node) {
35408
+ if (!(node === null || node === void 0 ? void 0 : node.expandable))
35409
+ return;
35410
+ this.treeControl.toggle(node);
35411
+ if (this.config.lazy && this.treeControl.isExpanded(node) && !node.markedGetChildren) {
35412
+ node.isLoading = true;
35413
+ this.checkLoadingOfParent(node);
35414
+ }
35415
+ this.onExpandNodeEvent.emit(node);
35416
+ }
35417
+ onOptionSearchSelected(value) {
35418
+ const flatNode = this.getNodeById(value.id);
35419
+ if (!flatNode)
35420
+ return;
35421
+ this.checkListSelection.select(flatNode);
35422
+ this.handleCheckNode(flatNode);
35423
+ this.onScrollIntoNode(flatNode.id);
35424
+ }
35425
+ onCheckAllRootTreeNode() {
35426
+ if (this.config.isSelectOne || !this.config.activeSelectAllNode)
35427
+ return;
35428
+ if (this.isAllDepartmentSelected) {
35429
+ this.treeControl.dataNodes.forEach(node => {
35430
+ const nestedNode = this.convertToNestedNode(node);
35431
+ nestedNode.isGroup = false;
35432
+ });
35433
+ this.checkListSelection.deselect(...this.treeControl.dataNodes);
35434
+ return;
35435
+ }
35436
+ ;
35437
+ this.departmentRoots.forEach(node => {
35438
+ if (!this.isIncludeChildren) {
35439
+ this.treeControl.dataNodes.filter(x => !this.isSelectedNode(x))
35440
+ .forEach(x => this.onCheckNode(x));
35441
+ return;
35442
+ }
35443
+ if (!this.isSelectedNode(node)) {
35444
+ this.onCheckNode(node);
35445
+ return;
35446
+ }
35447
+ const nestedNode = this.convertToNestedNode(node);
35448
+ if (nestedNode.isGroup && this.isCheckAll(node) || !node.expandable)
35449
+ return;
35450
+ this.getListChildrenOfNode(node)
35451
+ .filter(item => !this.isSelectedNode(item))
35452
+ .forEach(item => !this.isSelectedNode(item) && this.onCheckNode(item));
35453
+ if (!nestedNode.isGroup) {
35454
+ this.checkListSelection.deselect(node);
35455
+ this.onCheckNode(node);
35456
+ return;
35457
+ }
35458
+ });
35459
+ }
35460
+ onCheckNode(node, fireEventCheckNode = true) {
35461
+ if (!node)
35462
+ return;
35463
+ if (fireEventCheckNode)
35464
+ this.onCheckNodeEvent.emit(node);
35465
+ this.checkListSelection.toggle(node);
35466
+ if (this.config.isSelectOne) {
35467
+ this._handleSelectOne(node.id);
35468
+ return;
35469
+ }
35470
+ if (this.config.lazy && node.expandable && !node.markedGetChildren && fireEventCheckNode) {
35471
+ if (!this._handlingLazyObject.checkNode) {
35472
+ this.handleCheckNode(node);
35473
+ return;
35474
+ }
35475
+ node.isLoading = this.isIncludeChildren;
35476
+ const children = this.getListChildrenOfNode(node).filter(x => x.expandable && !x.markedGetChildren);
35477
+ children.forEach(x => x.isLoading = this.isIncludeChildren);
35478
+ return;
35479
+ }
35480
+ this.handleCheckNode(node);
35481
+ }
35482
+ _handleSelectOne(nodeId) {
35483
+ const nodeTree = this.treeControl.dataNodes.find(node => node.id === nodeId);
35484
+ const reSelectSelection = (...params) => {
35485
+ params.forEach(selection => {
35486
+ const selected = selection.selected.filter(x => x.id !== nodeId);
35487
+ selection.deselect(...selected);
35488
+ });
35489
+ };
35490
+ if (!nodeTree) {
35491
+ const item = this.checkListSelectionSearch.selected.find(x => x.id === nodeId);
35492
+ if (!item)
35493
+ return;
35494
+ this.resultSelected = [{
35495
+ id: item.id,
35496
+ parentId: item.parentId,
35497
+ name: item.name,
35498
+ externalName: item.externalName,
35499
+ children: []
35500
+ }];
35501
+ this._selectedList = [...this.resultSelected];
35502
+ this.onValueChangeEvent.emit(this.resultSelected);
35503
+ reSelectSelection(this.checkListSelection, this.checkListSelectionSearch);
35504
+ this.cdRef.detectChanges();
35505
+ return;
35506
+ }
35507
+ if (this.isSelectedNode(nodeTree)) {
35508
+ const nestedNode = this.convertToNestedNode(this.checkListSelection.selected[0]);
35509
+ this._selectedList = [...this.resultSelected];
35510
+ reSelectSelection(this.checkListSelection, this.checkListSelectionSearch);
35511
+ return;
35512
+ }
35513
+ this.resultSelected = [];
35514
+ this._selectedList = [];
35515
+ }
35516
+ onExpandAllParent(node) {
35517
+ const parents = this.getAllParentNode(node);
35518
+ if (parents === null || parents === void 0 ? void 0 : parents.length) {
35519
+ parents.forEach(parent => {
35520
+ if (!this.treeControl.isExpanded(parent))
35521
+ this.onExpandNode(parent);
35522
+ });
35523
+ }
35524
+ }
35525
+ onRemoveNode(nodeId) {
35526
+ const flatNode = this.getNodeById(nodeId);
35527
+ if (!flatNode) {
35528
+ const item = this._selectedList.find(x => x.id === nodeId);
35529
+ if (!item)
35530
+ return;
35531
+ this._updateSelectedList('remove', item, this._selectedList, this.resultSelected);
35532
+ this.cdRef.detectChanges();
35533
+ return;
35534
+ }
35535
+ this.checkListSelection.deselect(flatNode);
35536
+ this.handleCheckNode(flatNode);
35537
+ }
35538
+ onSelectNode(...nodeIds) {
35539
+ const nodes = this.treeControl.dataNodes.filter(x => nodeIds.includes(x.id));
35540
+ if (!nodes.length)
35541
+ return;
35542
+ this.checkListSelection.select(...nodes);
35543
+ }
35544
+ onDeselectNode(...nodeIds) {
35545
+ const nodes = this.treeControl.dataNodes.filter(x => nodeIds.includes(x.id));
35546
+ if (!nodes.length)
35547
+ return;
35548
+ this.checkListSelection.deselect(...nodes);
35549
+ }
35550
+ /**
35551
+ * Toggles a value between selected and deselected.
35552
+ * @param nodeId :id of node
35553
+ */
35554
+ onToggleNode(nodeId) {
35555
+ const node = this.getNodeById(nodeId);
35556
+ if (!node)
35557
+ return;
35558
+ this.checkListSelection.toggle(node);
35559
+ }
35560
+ isIndeterminate(node) {
35561
+ const childSelected = this.getListChildrenOfNode(node).filter(item => this.isSelectedNode(item));
35562
+ return (!!childSelected.length && !this.isSelectedNode(node));
35563
+ }
35564
+ isCheckAll(node) {
35565
+ const listCheck = [...this.getListChildrenOfNode(node), node];
35566
+ return listCheck.every(item => this.isSelectedNode(item));
35567
+ }
35568
+ /**
35569
+ * This function handle check node of tree
35570
+ * @param node node of tree
35571
+ * @param callback do something before handle check node
35572
+ * @returns
35573
+ */
35574
+ onBeforeCheckNode(node, callback) {
35575
+ return __awaiter(this, void 0, void 0, function* () {
35576
+ this._handlingLazyObject.checkNode = true;
35577
+ if (!!callback)
35578
+ yield callback(node);
35579
+ this.handleCheckNode(node);
35580
+ this._handlingLazyObject.checkNode = false;
35581
+ });
35582
+ }
35583
+ handleCheckNode(node) {
35584
+ const isSelected = this.isSelectedNode(node);
35585
+ const childSelected = this.getChildrenSelected(node);
35586
+ const nestedNode = this.convertToNestedNode(node);
35587
+ if (isSelected) {
35588
+ // Check existed group
35589
+ const existedGroup = this.getAllParentNode(node).find(x => this.convertToNestedNode(x).isGroup);
35590
+ if (!this.isIncludeChildren) {
35591
+ nestedNode.groupId = existedGroup === null || existedGroup === void 0 ? void 0 : existedGroup.id;
35592
+ return;
35593
+ }
35594
+ const children = this.getListChildrenOfNode(node);
35595
+ nestedNode.isGroup = !existedGroup && !!children.length;
35596
+ if (!children.length)
35597
+ return;
35598
+ children.forEach(x => {
35599
+ const _node = this.convertToNestedNode(x);
35600
+ _node.groupId = existedGroup ? existedGroup.id : node.id;
35601
+ _node.isGroup = false;
35602
+ });
35603
+ this.updateDataTree(this.currentTreeData);
35604
+ this.checkListSelection.deselect(...childSelected.map(x => this.resetNode(x)));
35605
+ this.checkListSelection.select(...children.map(x => this.resetNode(x)));
35606
+ return;
35607
+ }
35608
+ const _selectedIndex = this._selectedList.findIndex(x => x.id === node.id);
35609
+ _selectedIndex > -1 && this._selectedList.splice(_selectedIndex, 1);
35610
+ const deselectNodes = (this.isIncludeChildren || nestedNode.isGroup) ? childSelected : [node];
35611
+ this.checkListSelection.deselect(...deselectNodes);
35612
+ nestedNode.isGroup = false;
35613
+ this.updateDataTree(this.currentTreeData);
35614
+ return;
35615
+ }
35616
+ resetNode(node) {
35617
+ node.isGroup = false;
35618
+ return node;
35619
+ }
35620
+ isSelectedNode(node) {
35621
+ return node && this.checkListSelection.isSelected(node);
35622
+ }
35623
+ getChildrenSelected(node) {
35624
+ return this.getListChildrenOfNode(node).filter(x => this.isSelectedNode(x));
35625
+ }
35626
+ /**
35627
+ * Gets a list of the data node's subtree of descendent data nodes.
35628
+ * @param node
35629
+ * @returns
35630
+ */
35631
+ getListChildrenOfNode(node) {
35632
+ const flatNode = this.getNodeById(node.id);
35633
+ if (!flatNode)
35634
+ return [];
35635
+ return this.treeControl.getDescendants(flatNode);
35636
+ }
35637
+ _mapToNestedListNode(flatNodeList) {
35638
+ return flatNodeList.map(item => this.convertToNestedNode(item));
35639
+ }
35640
+ convertToNestedNode(node) {
35641
+ return this.flatTreeNodeMap.get(node) || {};
35642
+ }
35643
+ convertToFlatNode(node) {
35644
+ return this.nestedTreeNodeMap.get(node);
35645
+ }
35646
+ getAllParentNode(node) {
35647
+ const listParent = [];
35648
+ let parent = this.getParentNode(node);
35649
+ while (parent) {
35650
+ listParent.push(parent);
35651
+ parent = this.getParentNode(parent);
35652
+ }
35653
+ return listParent;
35654
+ }
35655
+ getParentNode(node) {
35656
+ const currentLevel = this.getLevel(node);
35657
+ if (currentLevel < 1)
35658
+ return;
35659
+ const index = this.treeControl.dataNodes.indexOf(node) - 1;
35660
+ for (let i = index; i >= 0; i--) {
35661
+ const currentNode = this.treeControl.dataNodes[i];
35662
+ if (this.getLevel(currentNode) < currentLevel) {
35663
+ return currentNode;
35664
+ }
35665
+ }
35666
+ return;
35667
+ }
35668
+ getItemIconType(item) {
35669
+ if (!!item.itemMatIcon)
35670
+ return this.itemIconType.name;
35671
+ if (!!item.itemIconSvg)
35672
+ return this.itemIconType.svg;
35673
+ if (!!item.itemIcon)
35674
+ return this.itemIconType.path;
35675
+ return;
35676
+ }
35677
+ onScrollIntoNode(nodeId) {
35678
+ const flatNode = this.getNodeById(nodeId);
35679
+ if (!nodeId)
35680
+ return;
35681
+ this.onExpandNode(flatNode);
35682
+ this.onExpandAllParent(flatNode);
35683
+ const index = this.treeControl.dataNodes.findIndex(x => x.id === flatNode.id);
35684
+ if (!this.cdkVirtualScrollViewport)
35685
+ return;
35686
+ this.cdkVirtualScrollViewport.scrollToIndex(index, 'smooth');
35687
+ this.getActiveNodeEvent$.next(nodeId);
35688
+ }
35689
+ onSearch() {
35690
+ var _a;
35691
+ if (!this.formSearchControl.value || ((_a = this.formSearchControl.value) === null || _a === void 0 ? void 0 : _a.trim()) === '')
35692
+ return;
35693
+ this.getLoading$.next(true);
35694
+ this.setIndexView(1);
35695
+ this.onSearchEvent.emit(this.formSearchControl.value);
35696
+ if (!this.paginatorSearch)
35697
+ return;
35698
+ this.paginatorSearch.changePage(0);
35699
+ this.paginatorSearch.renderDisplayNumberOfpages();
35700
+ }
35701
+ setResultSearch(data) {
35702
+ this.searchDepartment$.next(data);
35703
+ }
35704
+ onClickResultItem(item) {
35705
+ const node = this.getNodeById(item.id);
35706
+ if (node) {
35707
+ this.scrollToNode(node.id);
35708
+ }
35709
+ }
35710
+ onBreadCrumbItemClick(item) {
35711
+ const node = this.getNodeById(item.id);
35712
+ if (node) {
35713
+ this.setIndexView(0);
35714
+ of(node.id).pipe(delay(700), takeUntil(this.ngUnsubscribe)).subscribe(res => {
35715
+ this.onScrollIntoNode(res);
35716
+ });
35717
+ }
35718
+ }
35719
+ onCheckItemSearchResult(item) {
35720
+ this.checkListSelectionSearch.toggle(item);
35721
+ if (this.config.isSelectOne) {
35722
+ this.checkListSelectionSearch.deselect(...this.checkListSelectionSearch.selected.filter(x => x.id != item.id));
35723
+ }
35724
+ this.onCheckItemSearchEvent.emit({
35725
+ state: this.checkListSelectionSearch.isSelected(item),
35726
+ item: item
35727
+ });
35728
+ if (this.config.lazy) {
35729
+ if (!this._handlingLazyObject.checkItemSearch) {
35730
+ this._handleCheckResutlSearch(item);
35731
+ return;
35732
+ }
35733
+ return;
35734
+ }
35735
+ this._handleCheckResutlSearch(item);
35736
+ this.onValueChangeEvent.emit(this.resultSelected);
35737
+ }
35738
+ onBeforeCheckItemSearch(item, callback) {
35739
+ return __awaiter(this, void 0, void 0, function* () {
35740
+ item.isLoading = true;
35741
+ this._handlingLazyObject.checkItemSearch = true;
35742
+ // hold state before call method callback to prevent lost it's state unexpected
35743
+ const isSelect = this.isSelectItemSearch(item.id);
35744
+ if (!!callback)
35745
+ yield callback(item);
35746
+ item.isLoading = false;
35747
+ this._handleCheckResutlSearch(item, isSelect);
35748
+ this.onValueChangeEvent.emit(this.resultSelected);
35749
+ this._handlingLazyObject.checkItemSearch = false;
35750
+ });
35751
+ }
35752
+ onBeforeCheckAllSearch(callback) {
35753
+ return __awaiter(this, void 0, void 0, function* () {
35754
+ this._handlingLazyObject.checkAllSearch = true;
35755
+ if (!!callback)
35756
+ yield callback(this.resultSearch);
35757
+ this._handlingLazyObject.checkAllSearch = false;
35758
+ if (!this.resultSearch.length)
35759
+ return;
35760
+ for (let i = 0; i < this.resultSearch.length; i++) {
35761
+ const item = this.resultSearch[i];
35762
+ this._handleCheckResutlSearch(item);
35763
+ }
35764
+ });
35765
+ }
35766
+ canHandleItemSearchResult(item) {
35767
+ if (!this.treeControl)
35768
+ return false;
35769
+ return this.treeControl.dataNodes.some(node => node.id === item.id) || this.config.lazy;
35770
+ }
35771
+ _mapToResultSearch() {
35772
+ if (!!this.resultSearch.length)
35773
+ this.resultSearch.forEach(item => {
35774
+ var _a;
35775
+ const isExistInResultSelected = (_a = this.resultSelected) === null || _a === void 0 ? void 0 : _a.some(x => { var _a; return x.id === item.id || ((_a = x.children) === null || _a === void 0 ? void 0 : _a.some(y => y.id === item.id)); });
35776
+ isExistInResultSelected ? this.checkListSelectionSearch.select(item) : this.checkListSelectionSearch.deselect(item);
35777
+ });
35778
+ }
35779
+ _handleCheckResutlSearch(item, state = this.isSelectItemSearch(item.id)) {
35780
+ item.isLoading = false;
35781
+ const currentNode = this.getNodeById(item.id.toString());
35782
+ if (!!currentNode) {
35783
+ if (state) {
35784
+ if (this.checkListSelection.isSelected(currentNode))
35785
+ return;
35786
+ if (this.checkListSelectionSearch.isSelected(item))
35787
+ this.checkListSelection.select(currentNode);
35788
+ }
35789
+ else {
35790
+ this.checkListSelection.deselect(currentNode);
35791
+ }
35792
+ this.config.isSelectOne ? this._handleSelectOne(currentNode.id) : this.handleCheckNode(currentNode);
35793
+ this.cdRef.detectChanges();
35794
+ return;
35795
+ }
35796
+ if (this.config.isSelectOne) {
35797
+ this._handleSelectOne(item.id);
35798
+ return;
35799
+ }
35800
+ this._updateSelectedList(state ? 'add' : 'remove', item, this._selectedList, this.resultSelected);
35801
+ }
35802
+ isSelectItemSearch(id) {
35803
+ return this.checkListSelectionSearch.selected.some(x => x.id === id);
35804
+ }
35805
+ _updateSelectedList(state, item, ...selectedLists) {
35806
+ if (!item)
35807
+ return;
35808
+ selectedLists.forEach(selectedList => {
35809
+ const itemExisted = selectedList.find(x => x.id === item.id);
35810
+ switch (state) {
35811
+ case 'add':
35812
+ if (item.groupId) {
35813
+ const group = selectedList.find(x => x.id === item.groupId);
35814
+ if (!group && !itemExisted) {
35815
+ selectedList.push(item);
35816
+ }
35817
+ !group.children.some(x => x.id === item.id) && group.children.push(item);
35818
+ return;
35819
+ }
35820
+ !itemExisted && selectedList.push(item);
35821
+ break;
35822
+ case 'remove':
35823
+ if (!itemExisted) {
35824
+ const group = selectedList.find(x => x.children.some(x1 => x1.id === item.id));
35825
+ if (!group)
35826
+ return;
35827
+ const index = group.children.findIndex(x => x.id === item.id);
35828
+ if (index < 0)
35829
+ return;
35830
+ group.children.splice(index, 1);
35831
+ return;
35832
+ }
35833
+ selectedList.splice(selectedList.indexOf(itemExisted), 1);
35834
+ const itemSelectionSearch = this.checkListSelectionSearch.selected.find(x => x.id === itemExisted.id);
35835
+ itemSelectionSearch && this.checkListSelectionSearch.deselect(itemSelectionSearch);
35836
+ break;
35837
+ default:
35838
+ break;
35839
+ }
35840
+ });
35841
+ }
35842
+ onSelectAllSearchResult(checked) {
35843
+ checked = !checked;
35844
+ if (!this.resultSearch.length)
35845
+ return;
35846
+ if (this.config.handleCheckAllItemSearch) {
35847
+ for (let i = 0; i < this.resultSearch.length; i++) {
35848
+ const item = this.resultSearch[i];
35849
+ if (checked) {
35850
+ const treeNode = this.treeControl.dataNodes.find(node => node.id === item.id);
35851
+ const canSelect = (!!treeNode || this.config.lazy);
35852
+ if (!canSelect)
35853
+ continue;
35854
+ !this.checkListSelectionSearch.isSelected(item) && this.checkListSelectionSearch.select(item);
35855
+ }
35856
+ else {
35857
+ const _itemSelections = this.checkListSelectionSearch.selected.filter(x => x.id === item.id);
35858
+ if (_itemSelections.length)
35859
+ this.checkListSelectionSearch.deselect(..._itemSelections);
35860
+ }
35861
+ if (!this.config.lazy || !this._handlingLazyObject.checkAllSearch)
35862
+ this._handleCheckResutlSearch(item, checked);
35863
+ }
35864
+ }
35865
+ this.onCheckAllItemSearchEvent.emit(checked);
35866
+ this.onValueChangeEvent.emit(this.resultSelected);
35867
+ }
35868
+ isDisableChecboxAllSearch() {
35869
+ return this.resultSearch && this.resultSearch.every(x => x.disabled);
35870
+ }
35871
+ onPagingSearchResult(val) {
35872
+ this.getLoading$.next(true);
35873
+ this.onPagingSearchEvent.emit(val);
35874
+ }
35875
+ scrollToNode(nodeId) {
35876
+ this.scrollToNodeEvent$.next(nodeId);
35877
+ }
35878
+ setIndexView(index) {
35879
+ if (index === 1 && this.config.resetToggleIncludeChildWhenChangeView) {
35880
+ this.isIncludeChildren = false;
35881
+ }
35882
+ this.getIndexView$.next(index);
35883
+ }
35884
+ canActiveNodeExternal(node) {
35885
+ const allParent = this.getAllParentNode(node);
35886
+ return !allParent || allParent.every(item => this.treeControl.isExpanded(item));
35887
+ }
35888
+ getHeightStyleRefNode(nodeId) {
35889
+ const nodeEle = this.eleRef.nativeElement.querySelector(`.mat-tree-node#mat-node-${nodeId}`);
35890
+ return `${(nodeEle === null || nodeEle === void 0 ? void 0 : nodeEle.clientHeight) || 0}px`;
35891
+ }
35892
+ getSelectedNodeStorage() {
35893
+ return JSON.parse(localStorage.getItem('selectedNode'));
35894
+ }
35895
+ setSelectedNodeStorage(node) {
35896
+ this.isIncludeChildren && localStorage.setItem('selectedNode', JSON.stringify(node));
35897
+ }
35898
+ setDefaultPaginatorSize(options) {
35899
+ this.PAGE_SIZE_OPTION = options;
35900
+ }
35901
+ trackBy(index, item) {
35902
+ return item;
35903
+ }
35904
+ /**
35905
+ * This function use for lazy load children of node
35906
+ * @param node node update. if node is null data auto insert as roots
35907
+ * @param data list children to update node.
35908
+ * @param mode default is update that replace current list children by new list children , if mode = 'insert' will insert new values to list children existed before.
35909
+ */
35910
+ updateChildOfNode(node, data = [], mode = 'update') {
35911
+ node.isLoading = false;
35912
+ this.checkLoadingOfParent(node);
35913
+ const nestedNode = this.convertToNestedNode(node);
35914
+ const dataNodes = this.treeDepartmentService.convertToTreeData(data).filter(x => x.parentId === node.id);
35915
+ if (!nestedNode)
35916
+ return;
35917
+ switch (mode) {
35918
+ case 'insert':
35919
+ nestedNode.children.push(...dataNodes);
35920
+ break;
35921
+ case 'update':
35922
+ nestedNode.children = dataNodes;
35923
+ break;
35924
+ }
35925
+ this.updateDataTree(this.currentTreeData);
35926
+ const _node = this.getNodeById(node.id);
35927
+ const nodes = this.treeControl.getDescendants(_node);
35928
+ for (let i = 0; i < this.resultSelected.length; i++) {
35929
+ const item = this.resultSelected[i];
35930
+ this._reUpdateSelectionNode(item.id);
35931
+ const descendants = this.treeDepartmentService.getDescendantsOfNode(item);
35932
+ if (!descendants.length)
35933
+ continue;
35934
+ for (let j = 0; j < descendants.length; j++) {
35935
+ const child = descendants[j];
35936
+ this._reUpdateSelectionNode(child.id);
35937
+ }
35938
+ }
35939
+ this.selectedListAfterDataNodeChange$.next([_node, ...nodes]);
35940
+ }
35941
+ //re-select when update children of node
35942
+ _reUpdateSelectionNode(nodeId) {
35943
+ const node = this.getNodeById(nodeId);
35944
+ if (!node || this.checkListSelection.isSelected(node))
35945
+ return;
35946
+ const existInSelection = this.checkListSelection.selected.find(x => x.id == node.id);
35947
+ if (existInSelection)
35948
+ this.checkListSelection.deselect(existInSelection);
35949
+ this.checkListSelection.select(node);
35950
+ }
35951
+ checkLoadingOfParent(node) {
35952
+ const allParent = this.getAllParentNode(node);
35953
+ if (!allParent.length)
35954
+ return;
35955
+ for (let i = 0; i < allParent.length; i++) {
35956
+ const parent = allParent[i];
35957
+ const descendants = this.treeControl.getDescendants(parent);
35958
+ parent.isLoading = descendants.some(x => x.isLoading);
35959
+ }
35960
+ }
35961
+ getNodeById(id) {
35962
+ return this.treeControl.dataNodes.find(node => node.id === id) || undefined;
35963
+ }
35964
+ getRootOfNode(node) {
35965
+ const allParent = this.getAllParentNode(node);
35966
+ if (!allParent.length)
35967
+ return undefined;
35968
+ return allParent.pop();
35969
+ }
35970
+ addRootTree(data = []) {
35971
+ this.getLoadingMore$.next(false);
35972
+ if (!data.length)
35973
+ return;
35974
+ const treeNodeData = this.treeDepartmentService.convertToTreeData(data);
35975
+ // re-check root was existed in tree
35976
+ for (let i = 0; i < treeNodeData.length; i++) {
35977
+ const item = treeNodeData[i];
35978
+ const node = this.getNodeById(item.id);
35979
+ if (!!node && node.expandable && !node.markedGetChildren) {
35980
+ const nestedNode = this.convertToNestedNode(node);
35981
+ nestedNode.children = item.children;
35982
+ nestedNode.markedGetChildren = true;
35983
+ return;
35984
+ }
35985
+ if (!node)
35986
+ this.currentTreeData.push(item);
35987
+ }
35988
+ this.updateDataTree(this.currentTreeData);
35989
+ this.selectedListAfterDataNodeChange$.next(data);
35990
+ }
35991
+ getCheckedStatusNode(node) {
35992
+ return this.isSelectedNode(node);
35993
+ }
35994
+ updateNodeInformation(node) {
35995
+ let nestedNode = this.convertToNestedNode(node);
35996
+ if (!nestedNode) {
35997
+ return;
35998
+ }
35999
+ nestedNode.childCount = node.childCount;
36000
+ nestedNode.name = node.name;
36001
+ nestedNode.itemIcon = node.itemIcon;
36002
+ nestedNode.itemIconSvg = node.itemIconSvg;
36003
+ nestedNode.selectedChildCount = node.selectedChildCount;
36004
+ nestedNode.markedGetChildCountRecurrsive = node.markedGetChildCountRecurrsive;
36005
+ nestedNode.isIncludeChildWhenChecked = node.isIncludeChildWhenChecked;
36006
+ }
36007
+ updateSelectedResultData(node) {
36008
+ const nodeResult = this.resultSelected.find((x) => x.id === node.id);
36009
+ if (nodeResult) {
36010
+ nodeResult.childCount = node.childCount;
36011
+ nodeResult.selectedChildCount = node.selectedChildCount;
36012
+ }
36013
+ }
36014
+ callCheckNodeOutside(node) {
36015
+ this.checkListSelection.toggle(node);
36016
+ //this.handleCheckNode(node);
36017
+ }
36018
+ }
36019
+ SelectProcessDataTreeComponent.decorators = [
36020
+ { type: Component, args: [{
36021
+ selector: 'qms-select-process-data-tree',
36022
+ template: "<div [ngClass]=\"['qms-select-department-tree-container', (config.customClass || '')]\">\n <div class=\"input-select-department\">\n <form (ngSubmit)=\"!getLoading$.value && onSearch()\" *ngIf=\"config.enableTreeSearch\" class=\"input-field\">\n <mat-form-field class=\"w100\" qms-form qms-search-field>\n <input [formControl]=\"formSearchControl\" type=\"text\" placeholder=\"Search\" matInput />\n <button *ngIf=\"!getLoading$.value\" type=\"submit\" qms-btn-icon color=\"light\" matSuffix>\n <mat-icon>search</mat-icon>\n </button>\n <mat-progress-spinner [@inOutAnimation] matSuffix mode=\"indeterminate\" diameter=\"20\"\n *ngIf=\"getLoading$.value\"></mat-progress-spinner>\n <div *ngIf=\"!!formSearchControl.value && !getLoading$.value\" qms-input-clear matSuffix>\n <button qms-btn-icon color=\"light\" [@inOutAnimation] aria-label=\"Clear\" (click)=\"formSearchControl.reset()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </mat-form-field>\n </form>\n <div [@inOutAnimation] *ngIf=\"(getIndexView$ | async) === 1 && (textSearchSubject$ | async)\"\n class=\"sub-text ms-1 fw500\">\n {{LANG.RESULT_SEARCH_FOR}}<i><b>\"{{textSearchSubject$ | async}}\"</b></i>\n </div>\n <div [class.justify-content-between]=\"config.enableIncludeChild && !config.isSelectOne\"\n class=\"select__toggle-include toggle-include-child my-1 d-flex justify-content-end align-items-center\">\n <mat-slide-toggle *ngIf=\"config.enableIncludeChild && !config.isSelectOne\"\n [disabled]=\"(getIndexView$ | async) === 1 && config.disableToggleIncludeChildWhenChangeView\"\n [(ngModel)]=\"isIncludeChildren\" (ngModelChange)=\"toggleIncludeChildEvent.emit($event)\" color=\"default\"\n qms-group-options>\n <span class=\"text-label\">{{config.selectIncludeLabel || LANG.SELECT_INCLUDE_CHILD}}</span>\n </mat-slide-toggle>\n <button class=\"btn-arrow\" [@inOutAnimation] *ngIf=\"(getIndexView$ | async) === 1 && config.enableTreeSearch\"\n (click)=\"setIndexView(0)\" qms-btn-icon color=\"light\" [qms-tool-tip]=\"LANG.BACK_TO_TREE\" mode=\"dark\"\n position=\"top\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <button class=\"btn-arrow\" [@inOutAnimation]\n *ngIf=\"(getIndexView$ | async) === 0 && config.enableTreeSearch && (textSearchSubject$ | async)\"\n (click)=\"setIndexView(1)\" qms-btn-icon color=\"light\" [qms-tool-tip]=\"LANG.GOTO_SEACH_RESULT\" mode=\"dark\"\n position=\"top\">\n <mat-icon>arrow_forward</mat-icon>\n </button>\n </div>\n </div>\n <div [@inOutAnimation]\n *ngIf=\"(getIndexView$ | async) === 0 && config.modeView === MODE_VIEW_ENUM.ExternalView && !!config.headerName\"\n class=\"header-view-tree\">\n <div class=\"header-view header-title\">\n {{config.headerName.treeName}}\n </div>\n <div class=\"header-view header-title\">\n {{config.headerName.externalName}}\n </div>\n </div>\n <mat-divider class=\"mx-auto\"></mat-divider>\n <div [@animateSlideView]=\"(getIndexView$ | async)\" [ngStyle]=\"{\n minHeight: height\n }\" class=\"tree-department-wrapper\">\n <div *ngIf=\"(getIndexView$ | async) === 0\" class=\"tree-view w100 h100\">\n <div class=\"tree-view-main h100\">\n <div *ngIf=\"!config.isSelectOne && !!treeControl.dataNodes && config.activeSelectAllNode\"\n class=\"checkbox-all-tree\" [class.sticky-position]=\"config.modeView === MODE_VIEW_ENUM.ExternalView\">\n <!-- Checkbox all root node -->\n <mat-checkbox [@inOutAnimation] (click)=\"onCheckAllRootTreeNode()\"\n [indeterminate]=\"isIndeterminateCheckboxAllTree\" [checked]=\"isAllDepartmentSelected\" qms-group-options\n color=\"default\" label=\"none\" class=\"checkbox-all\">\n <span class=\"text-label \">{{LANG.CHOOSE_ALL}}</span>\n <span>(<b>{{treeControl.dataNodes.length}}</b>)</span>\n </mat-checkbox>\n <mat-divider class=\"mx-auto\"></mat-divider>\n </div>\n <cdk-virtual-scroll-viewport *ngIf=\"dataSource.data\" [ngClass]=\"{\n 'has-checkbox-all': !config.isSelectOne && config.modeView === MODE_VIEW_ENUM.Basic,\n 'select-department-tree': true\n }\" [itemSize]=\"ITEM_SIZE\" [ngStyle]=\"{height: height}\">\n <ng-container *cdkVirtualFor=\"let node of dataSource; trackBy: trackBy\">\n <div class=\"qms-tree-node mt-1\" [style.padding-left]=\"node.level * (config.isMobile ? 12 :24) + 'px'\"\n [attr.data-id]=\"node.id\" [id]=\"'mat-node-'+node.id\" [@triggerColor]=\"activeNode == node.id\" [ngClass]=\"{\n 'mat-tree-node-disabled-all': node.disabled,\n 'w-100': config.isSelectOne,\n 'selected-theme': this.checkListSelection.isSelected(node) && config.isSelectOne,\n 'expand-node': treeControl.isExpandable(node) && treeControl.isExpanded(node),\n 'active-external-view': config.modeView === MODE_VIEW_ENUM.ExternalView,\n 'node-loading': node.isLoading\n }\">\n <div class=\"node-expand-area\">\n <button class=\"btn-toggle\" qms-btn-icon color=\"light\" (click)=\"onExpandNode(node)\"\n *ngIf=\"treeControl.isExpandable(node) && !node.isLoading\">\n <mat-icon>\n {{ treeControl.isExpanded(node) ? \"expand_more\" : \"chevron_right\" }}\n </mat-icon>\n </button>\n <ng-container *ngIf=\"node.isLoading; then loadingSpinner\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"config.isSelectOne ? nodeWithoutCheckboxTemplate : showCheckboxTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"></ng-container>\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\" class=\"external-view-node\">\n <span class=\"node-external\" qms-elipsify position=\"top\" mode=\"dark\">\n {{node.externalName || ''}}\n </span>\n </div>\n </div>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n <ng-container [@inOutAnimation] *ngIf=\"config.spinnerWhenGetMore && getLoadingMore$| async ;then maskOverlay\">\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"(getIndexView$ | async) === 1\" [ngStyle]=\"{\n height: height\n }\" class=\"qms-view-search-result\">\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\"\n class=\"qms-view-search-result__header d-flex align-items-center justify-content-between\">\n <div class=\"header-title\">\n <span qms-elipsify mode=\"dark\" position=\"top\">\n {{config.headerName.resultSearchName}}\n </span>\n </div>\n <div class=\"header-title\">\n <span qms-elipsify mode=\"dark\" position=\"top\">\n {{config.headerName.externalName}}\n </span>\n </div>\n </div>\n <ng-container *ngIf=\"getLoading$.value; then loading\"></ng-container>\n <div class=\"qms-view-search-result__wrapper\"\n [class.active-external]=\"config.modeView === MODE_VIEW_ENUM.ExternalView\"\n *ngIf=\"!!resultSearch.length && !getLoading$.value\">\n <div class=\"\">\n <mat-checkbox [@inOutAnimation]\n [disabled]=\"!resultSearch.length || config.isSelectOne || isDisableChecboxAllSearch()\" #checkAllSearch\n [indeterminate]=\"indeterminateSearchResult\" [checked]=\"isSelectAllResultSearch\" qms-group-options\n color=\"default\" label=\"none\" class=\"checkbox-all\"\n (click)=\"!config.isSelectOne && onSelectAllSearchResult(checkAllSearch.checked)\">\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}}</span>\n <span>(<b>{{resultSearch.length}}</b>)</span>\n </mat-checkbox>\n </div>\n <div [@inOutAnimation] [@listAnimation]\n [class.active-paging]=\"searchDepartment$.value.length > 10 && config.enablePagingSearch\" class=\"result\">\n <div [qms-tool-tip]=\"!canHandleItemSearchResult(item) ? LANG.ITEM_NOT_MATCH_TO_TREE : ''\" mode=\"dark\"\n position=\"top\" *ngFor=\"let item of resultSearch\"\n (click)=\"$event.stopImmediatePropagation(); !item.disabled && onCheckItemSearchResult(item)\"\n [class.active]=\"checkListSelectionSearch.isSelected(item)\" class=\"result-item user-select-none\" matRipple>\n <mat-checkbox [@inOutAnimation] *ngIf=\"!item.isLoading\" [disabled]=\"item.disabled\"\n (click)=\"$event.stopImmediatePropagation(); !item.disabled && onCheckItemSearchResult(item)\"\n [checked]=\"checkListSelectionSearch.isSelected(item)\" qms-group-options color=\"default\" label=\"none\">\n </mat-checkbox>\n <div *ngIf=\"item.isLoading\" [@inOutAnimation] class=\"position-relative\">\n <ng-container *ngIf=\"item.isLoading; then loadingSpinner\"></ng-container>\n </div>\n <div class=\"result-item__content\">\n <div class=\"item-result-content-wraper\">\n <div class=\"text-gray fw-bold fs-base mb0\">{{item.name}}</div>\n <qms-breadcrumb *ngIf=\"item.location?.length > 1\" [type]=\"config.isMobile ? 'mobile': ''\"\n [numDisplayItem]=\"6\" (onItemClick)=\"$event.stopImmediatePropagation()\" class=\"breadcrumb-container\"\n [nodes]=\"item.location\">\n </qms-breadcrumb>\n <div *ngIf=\"item.location?.length === 1\" class=\"d-flex align-items-center\">\n <span qms-elipsify mode=\"dark\" position=\"top\"\n class=\"item-breadcrumb-disable d-block\">{{item.location[0].name}}</span>\n </div>\n </div>\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\" class=\"external-name\">\n <span qms-elipsify mode=\"dark\" position=\"top\" class=\"text-gray fs-base mb0\">{{item.externalName}}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div [@inOutAnimation] *ngIf=\"!resultSearch.length && !getLoading$.value\" class=\"result no-result\">\n <ng-container *ngTemplateOutlet=\"noResult\"></ng-container>\n </div>\n <mat-divider *ngIf=\"searchDepartment$.value.length > 10 && config.enablePagingSearch\"\n class=\"mx-auto\"></mat-divider>\n <qms-paginator #paginatorSearch *ngIf=\"searchDepartment$.value.length > 10 && config.enablePagingSearch \"\n [length]=\"searchDepartment$.value.length\" [numHidden]=\"0\" [pageSize]=\"CURRENT_PAGESIZE\"\n [pageSizeOptions]=\"PAGE_SIZE_OPTION\" (page)='onPagingSearchResult($event)'\n [size]='config.isMobile ? PAGINATION_SIZE.small : PAGINATION_SIZE.medium'>\n </qms-paginator>\n </div>\n </div>\n\n <!-- Template for Checkbox -->\n <ng-template #showCheckboxTemplate let-node=\"node\">\n <mat-checkbox [id]=\"'node-'+node.id\" qms-group-options color=\"default\" label=\"none\" class=\"flex-direction-row\"\n [disabled]=\"node.isLoading\" [checked]=\"checkListSelection.isSelected(node)\"\n (click)=\"!node.isLoading && onCheckNode(node)\" [attr.disabled]=\"node.disabled || node.isLoading\">\n <img [title]=\"node.itemIconSvg\" *ngIf=\"node.itemIconSvg\" class=\"material-icons type-icon\"\n [src]=\"node.itemIconSvg\" />\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\n class=\"material-icons-outlined type-icon\"></span>\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon\">{{\n node.itemMatIcon }}\n </span>\n <span class=\"text-name cursor-pointer ml5 123\" [ngClass]=\"{ disabled: node.disabled }\">{{ node.name}}\n </span>\n </mat-checkbox>\n </ng-template>\n\n <!-- Template node without checkbox -->\n <ng-template #nodeWithoutCheckboxTemplate let-node=\"node\">\n <div [id]=\"'node-'+node.id\" (click)=\"onCheckNode(node)\" class=\"node-without-checkbox\">\n <div class=\"node-info\">\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\n class=\"material-icons-outlined type-icon\"></span>\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon\">{{\n node.itemMatIcon }}\n </span>\n <span class=\"text-name cursor-pointer pl-10 123\" [ngClass]=\"{ disabled: node.disabled }\">{{ node.name }}</span>\n </div>\n <div class=\"node-state\">\n <mat-icon *ngIf=\"checkListSelection.isSelected(node)\">check</mat-icon>\n </div>\n </div>\n </ng-template>\n</div>\n\n<ng-template #noResult>\n <svg width=\"89\" height=\"130\" viewBox=\"0 0 89 88\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"white\" />\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"#0163B2\" fill-opacity=\"0.12\" />\n <path\n d=\"M44.5 56.6936L58.096 64.8996L54.488 49.4336L66.5 39.0276L50.682 37.6856L44.5 23.0996L38.318 37.6856L22.5 39.0276L34.512 49.4336L30.904 64.8996L44.5 56.6936Z\"\n fill=\"#0163B3\" />\n <text x=\"10\" y=\"105\" fill=\"#0163B2\">{{LANG.NO_RESULT}}</text>\n </svg>\n</ng-template>\n\n<!-- Template loading -->\n<ng-template #loading>\n <div [ngStyle]=\"{\n 'height': searchDepartment$.value.length ? (config.modeView === MODE_VIEW_ENUM.ExternalView ? 'calc(100% - 90px)' : 'calc(100% - 50px)' ) : height\n }\" class=\"qms-loading-container\">\n <div class=\"qms-loader\" *ngFor=\"let item of arrSkeleton\">\n <div class=\"qms-loader__wrapper\">\n <div class=\"row-loader\">\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n<!-- Template mask overlay -->\n<ng-template #maskOverlay>\n <div class=\"mask-overlay\">\n <mat-spinner [diameter]=\"50\" [strokeWidth]=\"5\"></mat-spinner>\n </div>\n</ng-template>\n\n<!-- Loading spinner -->\n<ng-template #loadingSpinner>\n <div class=\"qms-spinner center\">\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\"></mat-spinner>\n </div>\n</ng-template>",
36023
+ animations: [
36024
+ AnimationTreeDepartment
36025
+ ],
36026
+ changeDetection: ChangeDetectionStrategy.OnPush,
36027
+ styles: ["@charset \"UTF-8\";@font-face{font-family:icomoon;src:url(../assets/fonts/icomoon.eot?aghldx);src:url(../assets/fonts/icomoon.eot?aghldx#iefix) format(\"embedded-opentype\"),url(../assets/fonts/icomoon.ttf?aghldx) format(\"truetype\"),url(../assets/fonts/icomoon.woff?aghldx) format(\"woff\"),url(../assets/fonts/icomoon.svg?aghldx#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:block}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-acutely-toxic .path1:before{content:\"\uE91B\";color:#e32730}.icon-acutely-toxic .path2:before{content:\"\uE922\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path3:before{content:\"\uE923\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path4:before{content:\"\uE924\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path5:before{content:\"\uE925\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path6:before{content:\"\uE926\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path7:before{content:\"\uE927\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path8:before{content:\"\uE928\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path9:before{content:\"\uE929\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path10:before{content:\"\uE92A\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path11:before{content:\"\uE92B\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path12:before{content:\"\uE92C\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path13:before{content:\"\uE92D\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path14:before{content:\"\uE92E\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path15:before{content:\"\uE92F\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path16:before{content:\"\uE930\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path17:before{content:\"\uE931\";margin-left:-1em;color:#323232}.icon-add-column:before{content:\"\uE932\"}.icon-add-tooltip:before{content:\"\uE933\"}.icon-admin:before{content:\"\uE934\"}.icon-annual-cycle:before{content:\"\uE935\"}.icon-assignment-repete:before{content:\"\uE936\"}.icon-barrier-add:before{content:\"\uE937\"}.icon-barrier-edit:before{content:\"\uE938\"}.icon-barrier-view:before{content:\"\uE939\"}.icon-button-group:before{content:\"\uE93A\"}.icon-chemical-manager:before{content:\"\uE93B\"}.icon-chronic-health-hazard .path1:before{content:\"\uE93C\";color:#e32730}.icon-chronic-health-hazard .path2:before{content:\"\uE93D\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path3:before{content:\"\uE93E\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path4:before{content:\"\uE93F\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path5:before{content:\"\uE940\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path6:before{content:\"\uE941\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path7:before{content:\"\uE942\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path8:before{content:\"\uE943\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path9:before{content:\"\uE944\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path10:before{content:\"\uE945\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path11:before{content:\"\uE946\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path12:before{content:\"\uE947\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path13:before{content:\"\uE948\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path14:before{content:\"\uE949\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path15:before{content:\"\uE94A\";margin-left:-1em;color:#323232}.icon-contingency:before{content:\"\uE94B\"}.icon-corrosive .path1:before{content:\"\uE94C\";color:#323232}.icon-corrosive .path2:before{content:\"\uE94D\";margin-left:-1em;color:#323232}.icon-corrosive .path3:before{content:\"\uE94E\";margin-left:-1em;color:#323232}.icon-corrosive .path4:before{content:\"\uE94F\";margin-left:-1em;color:#323232}.icon-corrosive .path5:before{content:\"\uE950\";margin-left:-1em;color:#323232}.icon-corrosive .path6:before{content:\"\uE951\";margin-left:-1em;color:#323232}.icon-corrosive .path7:before{content:\"\uE952\";margin-left:-1em;color:#323232}.icon-corrosive .path8:before{content:\"\uE953\";margin-left:-1em;color:#323232}.icon-corrosive .path9:before{content:\"\uE954\";margin-left:-1em;color:#323232}.icon-corrosive .path10:before{content:\"\uE955\";margin-left:-1em;color:#323232}.icon-corrosive .path11:before{content:\"\uE956\";margin-left:-1em;color:#323232}.icon-corrosive .path12:before{content:\"\uE957\";margin-left:-1em;color:#323232}.icon-corrosive .path13:before{content:\"\uE958\";margin-left:-1em;color:#323232}.icon-corrosive .path14:before{content:\"\uE959\";margin-left:-1em;color:#323232}.icon-corrosive .path15:before{content:\"\uE95A\";margin-left:-1em;color:#323232}.icon-corrosive .path16:before{content:\"\uE95B\";margin-left:-1em;color:#323232}.icon-corrosive .path17:before{content:\"\uE95C\";margin-left:-1em;color:#323232}.icon-corrosive .path18:before{content:\"\uE95D\";margin-left:-1em;color:#323232}.icon-corrosive .path19:before{content:\"\uE95E\";margin-left:-1em;color:#323232}.icon-corrosive .path20:before{content:\"\uE95F\";margin-left:-1em;color:#323232}.icon-corrosive .path21:before{content:\"\uE960\";margin-left:-1em;color:#e32730}.icon-dashboard:before{content:\"\uE961\"}.icon-database-sds:before{content:\"\uE962\"}.icon-description-add:before{content:\"\uE963\"}.icon-description-edit:before{content:\"\uE964\"}.icon-description-view:before{content:\"\uE965\";color:#666}.icon-document-read .path1:before{content:\"\uE966\";color:#000;opacity:.6}.icon-document-read .path2:before{content:\"\uE967\";margin-left:-1em;color:#fff}.icon-document-read .path3:before{content:\"\uE968\";margin-left:-1em;color:#000;opacity:.6}.icon-draft:before{content:\"\uE969\"}.icon-expired-off:before{content:\"\uE96A\"}.icon-expired-on:before{content:\"\uE96B\"}.icon-explosive .path1:before{content:\"\uE96C\";color:#e32730}.icon-explosive .path2:before{content:\"\uE96D\";margin-left:-1em;color:#323232}.icon-explosive .path3:before{content:\"\uE96E\";margin-left:-1em;color:#323232}.icon-explosive .path4:before{content:\"\uE96F\";margin-left:-1em;color:#323232}.icon-explosive .path5:before{content:\"\uE970\";margin-left:-1em;color:#323232}.icon-explosive .path6:before{content:\"\uE971\";margin-left:-1em;color:#323232}.icon-explosive .path7:before{content:\"\uE972\";margin-left:-1em;color:#323232}.icon-explosive .path8:before{content:\"\uE973\";margin-left:-1em;color:#323232}.icon-explosive .path9:before{content:\"\uE974\";margin-left:-1em;color:#323232}.icon-explosive .path10:before{content:\"\uE975\";margin-left:-1em;color:#323232}.icon-explosive .path11:before{content:\"\uE976\";margin-left:-1em;color:#323232}.icon-explosive .path12:before{content:\"\uE977\";margin-left:-1em;color:#323232}.icon-explosive .path13:before{content:\"\uE978\";margin-left:-1em;color:#323232}.icon-explosive .path14:before{content:\"\uE979\";margin-left:-1em;color:#323232}.icon-explosive .path15:before{content:\"\uE97A\";margin-left:-1em;color:#323232}.icon-explosive .path16:before{content:\"\uE97B\";margin-left:-1em;color:#323232}.icon-explosive .path17:before{content:\"\uE97C\";margin-left:-1em;color:#323232}.icon-explosive .path18:before{content:\"\uE97D\";margin-left:-1em;color:#323232}.icon-explosive .path19:before{content:\"\uE97E\";margin-left:-1em;color:#323232}.icon-explosive .path20:before{content:\"\uE97F\";margin-left:-1em;color:#323232}.icon-explosive .path21:before{content:\"\uE980\";margin-left:-1em;color:#323232}.icon-explosive .path22:before{content:\"\uE981\";margin-left:-1em;color:#323232}.icon-explosive .path23:before{content:\"\uE982\";margin-left:-1em;color:#323232}.icon-explosive .path24:before{content:\"\uE983\";margin-left:-1em;color:#323232}.icon-explosive .path25:before{content:\"\uE984\";margin-left:-1em;color:#323232}.icon-explosive .path26:before{content:\"\uE985\";margin-left:-1em;color:#323232}.icon-explosive .path27:before{content:\"\uE986\";margin-left:-1em;color:#323232}.icon-explosive .path28:before{content:\"\uE987\";margin-left:-1em;color:#323232}.icon-explosive .path29:before{content:\"\uE988\";margin-left:-1em;color:#323232}.icon-explosive .path30:before{content:\"\uE989\";margin-left:-1em;color:#323232}.icon-explosive .path31:before{content:\"\uE98A\";margin-left:-1em;color:#323232}.icon-explosive .path32:before{content:\"\uE98B\";margin-left:-1em;color:#323232}.icon-explosive .path33:before{content:\"\uE98C\";margin-left:-1em;color:#323232}.icon-explosive .path34:before{content:\"\uE98D\";margin-left:-1em;color:#323232}.icon-explosive .path35:before{content:\"\uE98E\";margin-left:-1em;color:#323232}.icon-explosive .path36:before{content:\"\uE98F\";margin-left:-1em;color:#323232}.icon-explosive .path37:before{content:\"\uE990\";margin-left:-1em;color:#323232}.icon-explosive .path38:before{content:\"\uE991\";margin-left:-1em;color:#323232}.icon-explosive .path39:before{content:\"\uE992\";margin-left:-1em;color:#323232}.icon-explosive .path40:before{content:\"\uE993\";margin-left:-1em;color:#323232}.icon-explosive .path41:before{content:\"\uE994\";margin-left:-1em;color:#323232}.icon-explosive .path42:before{content:\"\uE995\";margin-left:-1em;color:#323232}.icon-explosive .path43:before{content:\"\uE996\";margin-left:-1em;color:#323232}.icon-explosive .path44:before{content:\"\uE997\";margin-left:-1em;color:#323232}.icon-explosive .path45:before{content:\"\uE998\";margin-left:-1em;color:#323232}.icon-explosive .path46:before{content:\"\uE999\";margin-left:-1em;color:#323232}.icon-file-excel:before{content:\"\uE99A\"}.icon-file-pdf:before{content:\"\uE99B\"}.icon-file-pdf-verified .path1:before{content:\"\uE99C\";color:#000;opacity:.6}.icon-file-pdf-verified .path2:before{content:\"\uE99D\";margin-left:-1em;color:#fff}.icon-file-pdf-verified .path3:before{content:\"\uE99E\";margin-left:-1em;color:#000;opacity:.6}.icon-file-word:before{content:\"\uE99F\"}.icon-filter-alt:before{content:\"\uE9A0\"}.icon-flammable .path1:before{content:\"\uE9A1\";color:#323232}.icon-flammable .path2:before{content:\"\uE9A2\";margin-left:-1em;color:#323232}.icon-flammable .path3:before{content:\"\uE9A3\";margin-left:-1em;color:#e32730}.icon-gas-under-pressure .path1:before{content:\"\uE9A4\";color:#323232}.icon-gas-under-pressure .path2:before{content:\"\uE9A5\";margin-left:-1em;color:#e32730}.icon-health-hazard .path1:before{content:\"\uE9A6\";color:#323232}.icon-health-hazard .path2:before{content:\"\uE9A7\";margin-left:-1em;color:#e32730}.icon-line-break:before{content:\"\uE9A8\"}.icon-location:before{content:\"\uE9A9\"}.icon-measure-add:before{content:\"\uE9AA\"}.icon-measure-edit:before{content:\"\uE9AB\"}.icon-measure-view:before{content:\"\uE9AC\";color:#666}.icon-messages:before{content:\"\uE9AD\"}.icon-monitoring:before{content:\"\uE9AE\";color:#666}.icon-move:before{content:\"\uE9AF\"}.icon-oxidizing .path1:before{content:\"\uE9B0\";color:#e32730}.icon-oxidizing .path2:before{content:\"\uE9B1\";margin-left:-1em;color:#323232}.icon-oxidizing .path3:before{content:\"\uE9B2\";margin-left:-1em;color:#323232}.icon-oxidizing .path4:before{content:\"\uE9B3\";margin-left:-1em;color:#323232}.icon-process-area-closed:before{content:\"\uE9B4\"}.icon-process-area-open:before{content:\"\uE9B5\"}.icon-process-linked .path1:before{content:\"\uE9B6\";color:#000;opacity:.6}.icon-process-linked .path2:before{content:\"\uE9B7\";margin-left:-1em;color:#666}.icon-risk:before{content:\"\uE9B8\"}.icon-search-in-file:before{content:\"\uE9B9\"}.icon-sort-ascending:before{content:\"\uE9BA\"}.icon-sort-descending:before{content:\"\uE9BB\"}.icon-subscript:before{content:\"\uE9BC\"}.icon-superscript:before{content:\"\uE9BD\"}.icon-syncronice-favorites:before{content:\"\uE9BE\"}.icon-system-settings:before{content:\"\uE9BF\"}.icon-view-three-outlined:before{content:\"\uE9C0\"}.icon-workplace-safety:before{content:\"\uE9C1\"}.icon-checklist:before{content:\"\uE900\"}.icon-department-document .path1:before{content:\"\uE901\";color:#000;opacity:.6}.icon-department-document .path2:before{content:\"\uE902\";margin-left:-1em;color:#00804c}.icon-department-folder-closed .path1:before{content:\"\uE903\";color:#000;opacity:.6}.icon-department-folder-closed .path2:before{content:\"\uE904\";margin-left:-1em;color:#00804c}.icon-department-folder-open .path1:before{content:\"\uE905\";color:#000;opacity:.6}.icon-department-folder-open .path2:before{content:\"\uE906\";margin-left:-1em;color:#00804c}.icon-deviation:before{content:\"\uE907\"}.icon-dropdown-folder .path1:before{content:\"\uE908\";color:#00324e}.icon-dropdown-folder .path2:before{content:\"\uE909\";margin-left:-1em;color:#fff;opacity:.6}.icon-enterprise-document .path1:before{content:\"\uE90A\";color:#000;opacity:.6}.icon-enterprise-document .path2:before{content:\"\uE90B\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-closed .path1:before{content:\"\uE90C\";color:#000;opacity:.6}.icon-enterprise-folder-closed .path2:before{content:\"\uE90D\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-open .path1:before{content:\"\uE90E\";color:#000;opacity:.6}.icon-enterprise-folder-open .path2:before{content:\"\uE90F\";margin-left:-1em;color:#cf4714}.icon-folder-closed:before{content:\"\uE910\"}.icon-folder-open:before{content:\"\uE911\"}.icon-keyboard_arrow_down:before{content:\"\uE912\"}.icon-keyboard_arrow_up:before{content:\"\uE913\"}.icon-local-document .path1:before{content:\"\uE914\";color:#000;opacity:.6}.icon-local-document .path2:before{content:\"\uE915\";margin-left:-1em;color:#1954a9}.icon-local-folder-closed .path1:before{content:\"\uE916\";color:#000;opacity:.6}.icon-local-folder-closed .path2:before{content:\"\uE917\";margin-left:-1em;color:#1954a9}.icon-local-folder-open .path1:before{content:\"\uE918\";color:#000;opacity:.6}.icon-local-folder-open .path2:before{content:\"\uE919\";margin-left:-1em;color:#1954a9}.icon-process:before{content:\"\uE91A\"}.icon-regional-document .path1:before{content:\"\uE91C\";color:#000;opacity:.6}.icon-regional-document .path2:before{content:\"\uE91D\";margin-left:-1em;color:#662e0d}.icon-regional-folder-closed .path1:before{content:\"\uE91E\";color:#000;opacity:.6}.icon-regional-folder-closed .path2:before{content:\"\uE91F\";margin-left:-1em;color:#662e0d}.icon-regional-folder-open .path1:before{content:\"\uE920\";color:#000;opacity:.6}.icon-regional-folder-open .path2:before{content:\"\uE921\";margin-left:-1em;color:#662e0d}.qms-select-department-tree-container{font-family:Open Sans,sans-serif}.qms-select-department-tree-container .mr10{margin-right:10px}.qms-select-department-tree-container .mt5{margin-bottom:5px}.qms-select-department-tree-container .mb5{margin-top:5px}.qms-select-department-tree-container .w100{width:100%}.qms-select-department-tree-container .h100{height:100%}.qms-select-department-tree-container .fw500{font-weight:500!important}.qms-select-department-tree-container .text-right{text-align:right}.qms-select-department-tree-container .mt20{margin-top:20px}.qms-select-department-tree-container .d-flex{display:flex}.qms-select-department-tree-container .align-items-center{align-items:center}.qms-select-department-tree-container .justify-content-end{justify-content:flex-end}.qms-select-department-tree-container .text-selected{color:rgba(0,0,0,.6);font-size:12px;line-height:16px;margin-top:1rem}.qms-select-department-tree-container .input-field{display:flex;align-items:center;position:relative}.qms-select-department-tree-container .input-field ::ng-deep .mat-form-field-wrapper{padding-bottom:8px!important}.qms-select-department-tree-container .input-field ::ng-deep .mat-form-field-underline{bottom:8px!important}.qms-select-department-tree-container .input-field input.input-search{width:100%;padding:10px;outline:none;border:none;background:var(--background-input-text)}.qms-select-department-tree-container .input-field .btn-search{cursor:pointer;vertical-align:middle;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.qms-select-department-tree-container .input-field .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qms-select-department-tree-container .header-title{font-weight:500;color:var(--ws-text-primary);font-size:16px;display:flex;align-items:center}.qms-select-department-tree-container .header-title .header-view{padding:4px 0}.qms-select-department-tree-container .sticky-position{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:1;background:#fff}.qms-select-department-tree-container .header-view-tree{display:grid;grid-template-columns:1fr 200px;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px;padding:4px 12px 4px 0}.qms-select-department-tree-container .header-view-tree .header-view:first-child{padding-left:12px}.qms-select-department-tree-container .tree-department-wrapper{padding-right:4px;overflow:hidden;position:relative;transition:height .3s ease-in-out}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view{width:100%;display:grid;grid-template-columns:1fr 200px;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main>.separate{height:38px}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main>.separate.h-0{height:0}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main:last-child{height:100%;padding-left:4px;position:relative}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main:last-child:after{position:absolute;content:\"\";top:0;bottom:-38px;left:0;width:1px;background:rgba(0,0,0,.12)}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main .external-list-item-container .node-external{overflow:hidden;transition:all .1s ease-in-out}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main .external-list-item-container .node-external .node-external-content{padding:5px 15px;height:calc(100% - 2px);color:var(--default-color);font-size:14px;display:flex;align-items:center}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main .external-list-item-container .node-external .node-external-content span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qms-select-department-tree-container .mask-overlay{z-index:1000;background-color:rgba(34,33,33,.1);position:absolute;top:0;left:0;width:100%;height:100%;border-radius:4px;overflow:hidden;display:grid;place-items:center}.qms-select-department-tree-container .select-department-tree>.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{padding:0 4px!important}.qms-select-department-tree-container .select-department-tree .qms-tree-node{display:flex;align-items:center;border-radius:4px}.qms-select-department-tree-container .select-department-tree .qms-tree-node:hover{background-color:rgba(0,0,0,.08)}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.node-expand-area{width:48px;height:48px;position:relative}.qms-select-department-tree-container .select-department-tree .qms-tree-node.active-external-view .mat-checkbox.qms-group-options{width:calc(100% - 250px)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.node-loading{background:var(--primary-light-6-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node{flex-basis:200px;overflow:hidden}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node .node-external{overflow:hidden;transition:all .1s ease-in-out;display:block}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node .node-external .node-external-content{padding:5px 15px;height:calc(100% - 2px);color:var(--default-color);font-size:14px;display:flex;align-items:center}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node .node-external .node-external-content span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node{color:var(--primary)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node:hover{background:var(--primary-light-6-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node:active{background:var(--primary-light-12-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node .mat-icon{color:var(--primary)}.qms-select-department-tree-container .select-department-tree .qms-tree-node .node-without-checkbox{cursor:pointer;width:100%;display:flex;justify-content:space-between;align-items:center}.qms-select-department-tree-container .select-department-tree .qms-tree-node .node-without-checkbox .mat-icon{color:var(--primary);margin-right:4px}.qms-select-department-tree-container .select-department-tree .qms-tree-node.selected-theme{background:var(--primary-light-12-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all{cursor:default!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all .mat-icon-rtl-mirror,.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all .type-icon,.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all button.mat-button-disabled{color:rgba(0,0,0,.38)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all .text-name.disabled{color:rgba(0,0,0,.38);cursor:default!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all.active{background-color:transparent}.qms-select-department-tree-container .text-name{position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:pointer;width:100%}.qms-select-department-tree-container .cursor-pointer{cursor:pointer}.qms-select-department-tree-container .ml5{margin-left:15px!important}.qms-select-department-tree-container .pl-10{padding-left:10px}.qms-select-department-tree-container ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-layout{white-space:normal}.qms-select-department-tree-container ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .node-text>span{display:block}.qms-select-department-tree-container ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-label{flex-direction:row;align-items:center;position:relative;padding-bottom:2px}.qms-select-department-tree-container .qms-view-search-result{width:100%;overflow:hidden}.qms-select-department-tree-container .qms-view-search-result__header{position:relative}.qms-select-department-tree-container .qms-view-search-result__header:after{position:absolute;content:\"\";bottom:0;left:0;width:100%;height:1px;background-color:rgba(0,0,0,.1)}.qms-select-department-tree-container .qms-view-search-result__header .header-title{padding:8px 0;display:inline-block}.qms-select-department-tree-container .qms-view-search-result__header .header-title:first-child{padding-left:12px}.qms-select-department-tree-container .qms-view-search-result__header .header-title:nth-child(2){flex-basis:200px}.qms-select-department-tree-container .qms-view-search-result>.no-result{height:100%;display:flex;justify-content:center;align-items:center}.qms-select-department-tree-container .qms-view-search-result__wrapper{height:calc(100% - 50px);width:100%}.qms-select-department-tree-container .qms-view-search-result__wrapper.active-external{height:calc(100% - 90px)!important}.qms-select-department-tree-container .qms-view-search-result__wrapper .result{max-height:calc(100% - 44px);overflow-y:auto;margin-bottom:4px;padding-right:4px}.qms-select-department-tree-container .qms-view-search-result__wrapper .result.active-paging{max-height:calc(100% - 40px)}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item{border-radius:4px;display:grid;grid-template-columns:45px 1fr;align-items:center;cursor:pointer;transition:background .3s ease;min-height:40px}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item:not(:first-child){margin-top:4px!important}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item.active,.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item:hover{background:linear-gradient(0deg,rgba(1,99,178,.12),rgba(1,99,178,.12)),#fff}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content{display:flex;align-items:center}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content .item-result-content-wraper{padding:5px 15px;width:100%}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content .external-name{flex-basis:200px}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content .external-name span{width:200px;display:inline-block}.qms-select-department-tree-container .qms-view-search-result ::ng-deep .mat-checkbox.qms-group-options{display:flex;height:100%}.qms-select-department-tree-container ::ng-deep .breadcrumb-container{flex-wrap:wrap}.qms-select-department-tree-container ::ng-deep .mat-button-focus-overlay{background-color:transparent}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item{margin:0}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transition:color .3s ease}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item-text:not(:last-child){max-width:150px!important}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{margin-bottom:0;margin-right:12px;height:100%;display:flex;align-items:center}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result span{font-weight:600;color:rgba(0,0,0,.8)}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions{margin-bottom:0;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions>.qms-total-result{margin-bottom:0}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-form-field-wrapper{padding-bottom:0}.qms-select-department-tree-container ::ng-deep .qms-paginator .qms-paginator-page-size{align-items:center}.qms-select-department-tree-container .text-gray{color:#242424}.qms-select-department-tree-container .mb0{margin-bottom:0!important}.qms-select-department-tree-container .fs-base{font-size:14px!important}.qms-select-department-tree-container .user-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.qms-select-department-tree-container .item-breadcrumb-disable{cursor:not-allowed;color:rgba(0,0,0,.6);font-weight:400;font-size:14px;max-width:250px}.qms-select-department-tree-container ::ng-deep .mat-checkbox.checkbox-all .mat-checkbox-label{flex-direction:row;align-items:center;grid-column-gap:4px;-moz-column-gap:4px;column-gap:4px}.qms-select-department-tree-container ::ng-deep .btn-arrow{width:40px;height:40px;line-height:40px}.qms-select-department-tree-container .qms-loading-container{overflow:hidden;display:grid;grid-template-rows:repeat(60px)}.qms-select-department-tree-container .qms-loading-container .qms-loader{position:relative;width:100%;height:100%;padding:10px 0;overflow:hidden}.qms-select-department-tree-container .qms-loading-container .qms-loader:after{content:\"\";position:absolute;width:100%;height:100%;top:0;left:0;background:linear-gradient(110deg,hsla(0,0%,91%,0),hsla(0,0%,89%,0) 40%,hsla(0,0%,89%,.5) 50%,hsla(0,0%,89%,0) 60%,hsla(0,0%,89%,0));-webkit-animation:animate-loading 1.2s linear infinite;animation:animate-loading 1.2s linear infinite}.qms-select-department-tree-container .qms-loading-container .qms-loader__wrapper{position:relative;width:100%;height:100%}.qms-select-department-tree-container .qms-loading-container .qms-loader__wrapper .row-loader{background-color:#eee;position:absolute;left:0;width:100%;height:40px}@-webkit-keyframes animate-loading{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes animate-loading{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.qms-select-department-tree-container .qms-spinner{font-size:20px;position:relative;display:inline-block;width:1em;height:1em}.qms-select-department-tree-container .qms-spinner.center{position:absolute;left:0;right:0;top:0;bottom:0;margin:auto}.qms-select-department-tree-container .mat-spinner circle,.qms-select-department-tree-container ::ng-deep .mat-progress-spinner circle{stroke:#1b75be!important}@media screen and (max-width:600px){.qms-select-department-tree-container .external-view-node{flex-basis:65px!important}.qms-select-department-tree-container .qms-tree-node.active-external-view .mat-checkbox.qms-group-options{width:calc(100% - 110px)!important}.qms-select-department-tree-container .header-view-tree{grid-template-columns:1fr 80px!important}.qms-select-department-tree-container ::ng-deep .cdk-virtual-scroll-content-wrapper{right:0!important}.qms-select-department-tree-container .header-title{font-size:14px!important}.qms-select-department-tree-container .node-external,.qms-select-department-tree-container .text-label,.qms-select-department-tree-container .text-label+span,.qms-select-department-tree-container .text-name{font-size:12px}.qms-select-department-tree-container .node-expand-area{width:30px!important;height:30px!important}.qms-select-department-tree-container .node-expand-area .qms-btn-icon{width:30px;height:30px;line-height:30px}.qms-select-department-tree-container .fs-base{font-size:12px!important}.qms-select-department-tree-container .qms-select-department-tree-container .breadcrumb-container{flex-wrap:nowrap!important}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item-text{font-size:12px!important;max-width:175px!important}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{display:none!important}.qms-select-department-tree-container ::ng-deep .qms-paginator .size-small .mat-paginator-container{justify-content:center!important}.qms-select-department-tree-container .qms-view-search-result__header>.header-title:nth-child(2){flex-basis:120px!important}.qms-select-department-tree-container .result-item__content .external-name{flex-basis:75px!important}.qms-select-department-tree-container .result-item__content .external-name span{width:75px!important}}"]
36028
+ },] }
36029
+ ];
36030
+ SelectProcessDataTreeComponent.ctorParameters = () => [
36031
+ { type: ChangeDetectorRef },
36032
+ { type: DomSanitizer },
36033
+ { type: QMSIconRegistryService },
36034
+ { type: MatIconRegistry },
36035
+ { type: ElementRef },
36036
+ { type: TranslateLibraryService },
36037
+ { type: Overlay },
36038
+ { type: ViewContainerRef },
36039
+ { type: QMSSelectDepartmentTreeGlobalService }
36040
+ ];
36041
+ SelectProcessDataTreeComponent.propDecorators = {
36042
+ rowsSkeleton: [{ type: Input }],
36043
+ height: [{ type: Input }],
36044
+ config: [{ type: Input }],
36045
+ onSearchEvent: [{ type: Output }],
36046
+ onPagingSearchEvent: [{ type: Output }],
36047
+ onValueChangeEvent: [{ type: Output }],
36048
+ selectionNodeChangeEvent: [{ type: Output }],
36049
+ onCheckNodeEvent: [{ type: Output }],
36050
+ onExpandNodeEvent: [{ type: Output }],
36051
+ onLoadMoreEvent: [{ type: Output }],
36052
+ onCheckItemSearchEvent: [{ type: Output }],
36053
+ onCheckAllItemSearchEvent: [{ type: Output }],
36054
+ toggleIncludeChildEvent: [{ type: Output }],
36055
+ cdkVirtualScrollViewport: [{ type: ViewChild, args: [CdkVirtualScrollViewport,] }],
36056
+ paginatorSearch: [{ type: ViewChild, args: ['paginatorSearch',] }]
36057
+ };
36058
+
36059
+ class QMSSelectProcessDataTreeModule {
36060
+ }
36061
+ QMSSelectProcessDataTreeModule.decorators = [
36062
+ { type: NgModule, args: [{
36063
+ declarations: [
36064
+ SelectProcessDataTreeComponent
36065
+ ],
36066
+ exports: [
36067
+ SelectProcessDataTreeComponent
36068
+ ],
36069
+ imports: [
36070
+ CommonModule,
36071
+ MatTreeModule,
36072
+ MatCheckboxModule,
36073
+ MatAutocompleteModule,
36074
+ MatIconModule,
36075
+ MatProgressBarModule,
36076
+ QmsAngularModule,
36077
+ MatInputModule,
36078
+ ReactiveFormsModule,
36079
+ FormsModule,
36080
+ MatButtonModule,
36081
+ MatExpansionModule,
36082
+ MatSlideToggleModule,
36083
+ QMSButtonModule,
36084
+ MatFormFieldModule,
36085
+ MatChipsModule,
36086
+ SharedModule,
36087
+ QMSBreadcrumbModule,
36088
+ MatRippleModule,
36089
+ QmsPaginatorModule,
36090
+ MatPaginatorModule,
36091
+ MatDividerModule,
36092
+ ScrollingModule,
36093
+ MatProgressSpinnerModule
36094
+ ]
36095
+ },] }
36096
+ ];
36097
+
36098
+ const ɵ0 = {
36099
+ clickAction: 'noop'
36100
+ };
36101
+ class SelectProcessDataComponent {
36102
+ constructor(cdRef, dialogRef, data, trans) {
36103
+ this.cdRef = cdRef;
36104
+ this.dialogRef = dialogRef;
36105
+ this.data = data;
36106
+ this.trans = trans;
36107
+ this.ngUnsubscribe = new Subject();
36108
+ this.onPagingEvent = new EventEmitter();
36109
+ this.popupData = new SelectDepartmentPopupData();
36110
+ this.resultSelected = [];
36111
+ this.onSearchEvent = new EventEmitter();
36112
+ this.onCheckNodeEvent = new EventEmitter();
36113
+ this.onExpandNodeEvent = new EventEmitter();
36114
+ this.onLoadMoreEvent = new EventEmitter();
36115
+ this.onCheckItemSearchEvent = new EventEmitter();
36116
+ this.onCheckAllItemSearchEvent = new EventEmitter();
36117
+ this.toggleIncludeChildEvent = new EventEmitter();
36118
+ this.resultSearch = [];
36119
+ this.isActiveViewSearch = false;
36120
+ this.trans.getLanguageSubject$.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
36121
+ if (res) {
36122
+ this.LANG = this.trans.getObjectLang(res);
36123
+ }
36124
+ });
36125
+ // Init popup data
36126
+ this.popupData = _.cloneDeep(this.data);
36127
+ }
36128
+ get isIncludeChild() {
36129
+ return !!this.treeProcessData && this.treeProcessData.isIncludeChildren;
36130
+ }
36131
+ ngAfterViewInit() {
36132
+ console.log(this.treeProcessData);
36133
+ this.cdRef.detectChanges();
36134
+ }
36135
+ onCloseDialog() {
36136
+ this.dialogRef.close(this.treeProcessData.resultSelected);
36137
+ }
36138
+ ngOnInit() {
36139
+ }
36140
+ ngOnDestroy() {
36141
+ this.ngUnsubscribe.next();
36142
+ this.ngUnsubscribe.complete();
36143
+ }
36144
+ get currentTreeData() {
36145
+ return this.treeProcessData ? this.treeProcessData.currentTreeData : [];
36146
+ }
36147
+ displayWhenSelectDepartmentOption($event) {
36148
+ return '';
36149
+ }
36150
+ onScrollToNode(node) {
36151
+ // this.treeProcessData.scrollToNode(node.id);
36152
+ }
36153
+ onRemoveNode(node) {
36154
+ this.treeProcessData.onRemoveNode(node.id);
36155
+ }
36156
+ /**
36157
+ * Gets a list of the data node's subtree of descendent data nodes.
36158
+ */
36159
+ getChildrenNode(node) {
36160
+ return this.treeProcessData.getListChildrenOfNode(node);
36161
+ }
36162
+ onResultDepartmentChange(data) {
36163
+ this.resultSelected = data.map(item => {
36164
+ return Object.assign(Object.assign({}, item), { tooltip: this.generateTootip(item) });
36165
+ });
36166
+ }
36167
+ defaultFormatTooltipNode(node) {
36168
+ return node.isGroup ? this.formatString(this.popupData.config.tooltipIncludeLabel ? this.popupData.config.tooltipIncludeLabel : this.LANG.TOOLTIP_INCLUDE_SUB_DEPARTMENT, node.name, node.children.length.toString()) : node.name;
36169
+ }
36170
+ generateTootip(node) {
36171
+ return !!this.popupData.formatTooltipItemResult ? this.popupData.formatTooltipItemResult(node) : this.defaultFormatTooltipNode(node);
36172
+ }
36173
+ updateResultSearch(data) {
36174
+ if (!this.treeProcessData)
36175
+ return;
36176
+ this.treeProcessData.setResultSearch(data);
36177
+ }
36178
+ formatString(...replacements) {
36179
+ let result = arguments[0];
36180
+ for (let i = 0; i < arguments.length - 1; i++) {
36181
+ const reg = new RegExp(`\\{${i}\\}`, 'gm');
36182
+ result = result.replace(reg, arguments[i + 1]);
36183
+ }
36184
+ return result;
36185
+ }
36186
+ /**
36187
+ * This function use for lazy load children of node
36188
+ * @param node node update
36189
+ * @param data list children to update node.
36190
+ * @param mode default is update that replace current list children by new list children , if mode = 'insert' will insert new value to list children existed before.
36191
+ */
36192
+ updateChildOfNode(node, data, mode = 'update') {
36193
+ this.treeProcessData.updateChildOfNode(node, data, mode);
36194
+ }
36195
+ addRootTree(data = []) {
36196
+ this.treeProcessData.addRootTree(data);
36197
+ }
36198
+ /**
36199
+ * This function handle check node of tree
36200
+ * @param node node of tree
36201
+ * @param callback do something before handle check node
36202
+ * @returns
36203
+ */
36204
+ onBeforeCheckNode(node, callback) {
36205
+ return this.treeProcessData.onBeforeCheckNode(node, callback);
36206
+ }
36207
+ handleCheckNode(node) {
36208
+ if (!this.treeProcessData)
36209
+ return;
36210
+ this.treeProcessData.handleCheckNode(node);
36211
+ }
36212
+ /**
36213
+ * This method use for lazy mode, do some thing before init list node selected
36214
+ * @param callback
36215
+ * @returns
36216
+ */
36217
+ onBeforeInitNodeSelected(callback) {
36218
+ return __awaiter(this, void 0, void 0, function* () {
36219
+ if (!this.treeProcessData)
36220
+ return;
36221
+ if (!!callback)
36222
+ yield this.treeProcessData.onBeforeInitNodeSelected(callback);
36223
+ });
36224
+ }
36225
+ /**
36226
+ * Get node by id of node
36227
+ * @param nodeId id of node
36228
+ * @returns
36229
+ */
36230
+ findNode(nodeId) {
36231
+ if (!this.treeProcessData)
36232
+ return;
36233
+ return this.treeProcessData.treeControl.dataNodes.find(node => node.id === nodeId.toString());
36234
+ }
36235
+ /**
36236
+ * This method use for lazy mode, do some thing before select all result search
36237
+ * @param callback
36238
+ * @returns
36239
+ */
36240
+ onBeforeCheckAllSearch(callback) {
36241
+ return __awaiter(this, void 0, void 0, function* () {
36242
+ if (!this.treeProcessData)
36243
+ return;
36244
+ yield this.treeProcessData.onBeforeCheckAllSearch(callback);
36245
+ });
36246
+ }
36247
+ /**
36248
+ * This method use for lazy mode, do some thing before check item result
36249
+ * @param callback
36250
+ * @returns
36251
+ */
36252
+ onBeforeCheckItemSearch(item, callback) {
36253
+ return this.treeProcessData.onBeforeCheckItemSearch(item, callback);
36254
+ }
36255
+ setLoadingStateNode(isLoading, nodeId) {
36256
+ !!this.treeProcessData && this.treeProcessData.setLoadingStateNode(isLoading, nodeId);
36257
+ }
36258
+ /**
36259
+ * Select a value or an array of values.
36260
+ */
36261
+ onSelectNode(...nodeIds) {
36262
+ this.treeProcessData.onSelectNode(...nodeIds);
36263
+ }
36264
+ /**
36265
+ * Deselects a value or an array of values.
36266
+ */
36267
+ onDeselectNode(...nodeIds) {
36268
+ this.treeProcessData.onDeselectNode(...nodeIds);
36269
+ }
36270
+ /**
36271
+ * Toggles a value between selected and deselected.
36272
+ */
36273
+ onToggleNode(nodeId) {
36274
+ this.treeProcessData.onToggleNode(nodeId);
36275
+ }
36276
+ getNodeById(nodeId) {
36277
+ return this.treeProcessData.getNodeById(nodeId);
36278
+ }
36279
+ isNodeLoading(nodeId) {
36280
+ if (!this.treeProcessData)
36281
+ return false;
36282
+ const node = this.treeProcessData.getNodeById(nodeId);
36283
+ return !!node && node.isLoading;
36284
+ }
36285
+ setLoadingMore(state) {
36286
+ if (!this.treeProcessData)
36287
+ return;
36288
+ this.treeProcessData.getLoadingMore$.next(state);
36289
+ }
36290
+ setLoading(state) {
36291
+ if (!this.treeProcessData)
36292
+ return;
36293
+ this.treeProcessData.getLoading$.next(state);
36294
+ }
36295
+ setLoadingNode(nodeId, state) {
36296
+ if (!this.treeProcessData)
36297
+ return;
36298
+ const node = this.treeProcessData.getNodeById(nodeId);
36299
+ if (!!node)
36300
+ node.isLoading = state;
36301
+ }
36302
+ updateTreeData(data = this.currentTreeData) {
36303
+ !!this.treeProcessData && this.treeProcessData.updateDataTree(data);
36304
+ }
36305
+ onDestroyLoadMore() {
36306
+ this.treeProcessData.onDestroyLoadMore();
36307
+ }
36308
+ setSelectedListData(data) {
36309
+ this.popupData.config.selectedList = data;
36310
+ }
36311
+ getCheckedStatusNode(node) {
36312
+ return this.treeProcessData.getCheckedStatusNode(node);
36313
+ }
36314
+ updateNodeInformation(node) {
36315
+ return this.treeProcessData.updateNodeInformation(node);
36316
+ }
36317
+ updateSelectedResultData(node) {
36318
+ return this.treeProcessData.updateSelectedResultData(node);
36319
+ }
36320
+ getAllParentNode(node) {
36321
+ return this.treeProcessData.getAllParentNode(node);
36322
+ }
36323
+ onCheckNode(node, fireEventCheckNode = true) {
36324
+ return this.treeProcessData.onCheckNode(node, fireEventCheckNode);
36325
+ }
36326
+ getChildrenSelected(node) {
36327
+ return this.treeProcessData.getChildrenSelected(node);
36328
+ }
36329
+ }
36330
+ SelectProcessDataComponent.decorators = [
36331
+ { type: Component, args: [{
36332
+ selector: 'qms-select-process-data',
36333
+ template: "<div class=\"qms-select-department\">\n <div class=\"header-dialog mb-2\">\n <span>{{popupData.headerName}}</span>\n <button matDialogClose class=\"btn-close-dialog\" color=\"light\" qms-btn-icon>\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <div class=\"qms-scrollbar\">\n <div>\n <qms-select-process-data-tree #treeProcessData customClass=\"custom-department-tree\"\n [height]=\"popupData.config.isMobile ? '38vh' : '50vh'\" [rowsSkeleton]=\"9\" [config]=\"popupData.config\"\n (onSearchEvent)=\"onSearchEvent.emit($event)\" (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\n (onPagingSearchEvent)=\"onPagingEvent.emit($event)\" (onCheckNodeEvent)=\"onCheckNodeEvent.emit($event)\"\n (onExpandNodeEvent)=\"onExpandNodeEvent.emit($event)\" (onLoadMoreEvent)=\"onLoadMoreEvent.emit()\"\n (onCheckAllItemSearchEvent)=\"onCheckAllItemSearchEvent.emit($event)\"\n (onCheckItemSearchEvent)=\"onCheckItemSearchEvent.emit($event)\"\n (toggleIncludeChildEvent)=\"toggleIncludeChildEvent.emit($event)\">\n </qms-select-process-data-tree>\n </div>\n </div>\n <div class=\"line__divider\"></div>\n <div [@heightAnimation] *ngIf=\"treeProcessData && !!treeProcessData.resultSelected.length\" class=\" pr-0 pe-0\">\n <div class=\"header-title\">{{LANG.RESULTS}}</div>\n <div class=\"result-content pr-0 pe-0\">\n <mat-chip-list class=\"panel__item qms-scrollbar\">\n <div [@inOutAnimation_2] [id]=\"'item-result-'+item.id\" *ngFor=\"let item of treeProcessData.resultSelected\">\n <mat-chip [@updateItemAnimation] *qmsContentChanges=\"item.children?.length\"\n [qms-tool-tip]=\"generateTootip(item)\" position=\"top\" mode=\"dark\" qms-chip [removable]=\"true\">\n <span (click)=\"onScrollToNode(item)\" qms-chip-body>\n <span class=\"related__item__content_name\" #itemName>\n <span>{{item.name}}</span>\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && !popupData.config.lazy\">\n {{item.children.length}}/{{item.childCount}}\n </span>\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && popupData.config.lazy\">\n {{item.selectedChildCount}}/{{item.childCount}}\n </span>\n </span>\n </span>\n <mat-icon *ngIf=\"!isNodeLoading(item.id); else loadingSpinner\"\n (click)=\"onRemoveNode(item)\">cancel</mat-icon>\n </mat-chip>\n </div>\n </mat-chip-list>\n </div>\n </div>\n <mat-divider *ngIf=\"treeProcessData && !!treeProcessData.resultSelected.length\" class=\"mx-auto\"></mat-divider>\n <div class=\"confirm__button__groups\">\n <button (click)=\"onCloseDialog()\" class=\"btn-add\"\n [disabled]=\"!resultSelected.length && !popupData.config.canAddNullResult\"\n [class.qms-btn-disabled]=\"!resultSelected.length && !popupData.config.canAddNullResult\" qms-btn>\n <span>{{LANG.ADD}}</span>\n <span>\n ({{treeProcessData.resultSelected.length}})\n </span>\n </button>\n <button qms-btn-text mat-dialog-close>\n Cancel\n </button>\n </div>\n </div>\n</div>\n\n<!-- Loading spinner -->\n<ng-template #loadingSpinner>\n <div class=\"qms-spinner-wrapper\">\n <div class=\"qms-spinner center\">\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\"></mat-spinner>\n </div>\n </div>\n</ng-template>",
36334
+ providers: [
36335
+ {
36336
+ provide: MAT_CHECKBOX_DEFAULT_OPTIONS,
36337
+ useValue: ɵ0
36338
+ }
36339
+ ],
36340
+ animations: [SelectDepartmentAnimationTrigger],
36341
+ styles: ["@charset \"UTF-8\";@font-face{font-family:icomoon;src:url(../assets/fonts/icomoon.eot?aghldx);src:url(../assets/fonts/icomoon.eot?aghldx#iefix) format(\"embedded-opentype\"),url(../assets/fonts/icomoon.ttf?aghldx) format(\"truetype\"),url(../assets/fonts/icomoon.woff?aghldx) format(\"woff\"),url(../assets/fonts/icomoon.svg?aghldx#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:block}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-acutely-toxic .path1:before{content:\"\uE91B\";color:#e32730}.icon-acutely-toxic .path2:before{content:\"\uE922\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path3:before{content:\"\uE923\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path4:before{content:\"\uE924\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path5:before{content:\"\uE925\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path6:before{content:\"\uE926\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path7:before{content:\"\uE927\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path8:before{content:\"\uE928\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path9:before{content:\"\uE929\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path10:before{content:\"\uE92A\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path11:before{content:\"\uE92B\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path12:before{content:\"\uE92C\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path13:before{content:\"\uE92D\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path14:before{content:\"\uE92E\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path15:before{content:\"\uE92F\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path16:before{content:\"\uE930\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path17:before{content:\"\uE931\";margin-left:-1em;color:#323232}.icon-add-column:before{content:\"\uE932\"}.icon-add-tooltip:before{content:\"\uE933\"}.icon-admin:before{content:\"\uE934\"}.icon-annual-cycle:before{content:\"\uE935\"}.icon-assignment-repete:before{content:\"\uE936\"}.icon-barrier-add:before{content:\"\uE937\"}.icon-barrier-edit:before{content:\"\uE938\"}.icon-barrier-view:before{content:\"\uE939\"}.icon-button-group:before{content:\"\uE93A\"}.icon-chemical-manager:before{content:\"\uE93B\"}.icon-chronic-health-hazard .path1:before{content:\"\uE93C\";color:#e32730}.icon-chronic-health-hazard .path2:before{content:\"\uE93D\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path3:before{content:\"\uE93E\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path4:before{content:\"\uE93F\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path5:before{content:\"\uE940\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path6:before{content:\"\uE941\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path7:before{content:\"\uE942\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path8:before{content:\"\uE943\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path9:before{content:\"\uE944\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path10:before{content:\"\uE945\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path11:before{content:\"\uE946\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path12:before{content:\"\uE947\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path13:before{content:\"\uE948\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path14:before{content:\"\uE949\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path15:before{content:\"\uE94A\";margin-left:-1em;color:#323232}.icon-contingency:before{content:\"\uE94B\"}.icon-corrosive .path1:before{content:\"\uE94C\";color:#323232}.icon-corrosive .path2:before{content:\"\uE94D\";margin-left:-1em;color:#323232}.icon-corrosive .path3:before{content:\"\uE94E\";margin-left:-1em;color:#323232}.icon-corrosive .path4:before{content:\"\uE94F\";margin-left:-1em;color:#323232}.icon-corrosive .path5:before{content:\"\uE950\";margin-left:-1em;color:#323232}.icon-corrosive .path6:before{content:\"\uE951\";margin-left:-1em;color:#323232}.icon-corrosive .path7:before{content:\"\uE952\";margin-left:-1em;color:#323232}.icon-corrosive .path8:before{content:\"\uE953\";margin-left:-1em;color:#323232}.icon-corrosive .path9:before{content:\"\uE954\";margin-left:-1em;color:#323232}.icon-corrosive .path10:before{content:\"\uE955\";margin-left:-1em;color:#323232}.icon-corrosive .path11:before{content:\"\uE956\";margin-left:-1em;color:#323232}.icon-corrosive .path12:before{content:\"\uE957\";margin-left:-1em;color:#323232}.icon-corrosive .path13:before{content:\"\uE958\";margin-left:-1em;color:#323232}.icon-corrosive .path14:before{content:\"\uE959\";margin-left:-1em;color:#323232}.icon-corrosive .path15:before{content:\"\uE95A\";margin-left:-1em;color:#323232}.icon-corrosive .path16:before{content:\"\uE95B\";margin-left:-1em;color:#323232}.icon-corrosive .path17:before{content:\"\uE95C\";margin-left:-1em;color:#323232}.icon-corrosive .path18:before{content:\"\uE95D\";margin-left:-1em;color:#323232}.icon-corrosive .path19:before{content:\"\uE95E\";margin-left:-1em;color:#323232}.icon-corrosive .path20:before{content:\"\uE95F\";margin-left:-1em;color:#323232}.icon-corrosive .path21:before{content:\"\uE960\";margin-left:-1em;color:#e32730}.icon-dashboard:before{content:\"\uE961\"}.icon-database-sds:before{content:\"\uE962\"}.icon-description-add:before{content:\"\uE963\"}.icon-description-edit:before{content:\"\uE964\"}.icon-description-view:before{content:\"\uE965\";color:#666}.icon-document-read .path1:before{content:\"\uE966\";color:#000;opacity:.6}.icon-document-read .path2:before{content:\"\uE967\";margin-left:-1em;color:#fff}.icon-document-read .path3:before{content:\"\uE968\";margin-left:-1em;color:#000;opacity:.6}.icon-draft:before{content:\"\uE969\"}.icon-expired-off:before{content:\"\uE96A\"}.icon-expired-on:before{content:\"\uE96B\"}.icon-explosive .path1:before{content:\"\uE96C\";color:#e32730}.icon-explosive .path2:before{content:\"\uE96D\";margin-left:-1em;color:#323232}.icon-explosive .path3:before{content:\"\uE96E\";margin-left:-1em;color:#323232}.icon-explosive .path4:before{content:\"\uE96F\";margin-left:-1em;color:#323232}.icon-explosive .path5:before{content:\"\uE970\";margin-left:-1em;color:#323232}.icon-explosive .path6:before{content:\"\uE971\";margin-left:-1em;color:#323232}.icon-explosive .path7:before{content:\"\uE972\";margin-left:-1em;color:#323232}.icon-explosive .path8:before{content:\"\uE973\";margin-left:-1em;color:#323232}.icon-explosive .path9:before{content:\"\uE974\";margin-left:-1em;color:#323232}.icon-explosive .path10:before{content:\"\uE975\";margin-left:-1em;color:#323232}.icon-explosive .path11:before{content:\"\uE976\";margin-left:-1em;color:#323232}.icon-explosive .path12:before{content:\"\uE977\";margin-left:-1em;color:#323232}.icon-explosive .path13:before{content:\"\uE978\";margin-left:-1em;color:#323232}.icon-explosive .path14:before{content:\"\uE979\";margin-left:-1em;color:#323232}.icon-explosive .path15:before{content:\"\uE97A\";margin-left:-1em;color:#323232}.icon-explosive .path16:before{content:\"\uE97B\";margin-left:-1em;color:#323232}.icon-explosive .path17:before{content:\"\uE97C\";margin-left:-1em;color:#323232}.icon-explosive .path18:before{content:\"\uE97D\";margin-left:-1em;color:#323232}.icon-explosive .path19:before{content:\"\uE97E\";margin-left:-1em;color:#323232}.icon-explosive .path20:before{content:\"\uE97F\";margin-left:-1em;color:#323232}.icon-explosive .path21:before{content:\"\uE980\";margin-left:-1em;color:#323232}.icon-explosive .path22:before{content:\"\uE981\";margin-left:-1em;color:#323232}.icon-explosive .path23:before{content:\"\uE982\";margin-left:-1em;color:#323232}.icon-explosive .path24:before{content:\"\uE983\";margin-left:-1em;color:#323232}.icon-explosive .path25:before{content:\"\uE984\";margin-left:-1em;color:#323232}.icon-explosive .path26:before{content:\"\uE985\";margin-left:-1em;color:#323232}.icon-explosive .path27:before{content:\"\uE986\";margin-left:-1em;color:#323232}.icon-explosive .path28:before{content:\"\uE987\";margin-left:-1em;color:#323232}.icon-explosive .path29:before{content:\"\uE988\";margin-left:-1em;color:#323232}.icon-explosive .path30:before{content:\"\uE989\";margin-left:-1em;color:#323232}.icon-explosive .path31:before{content:\"\uE98A\";margin-left:-1em;color:#323232}.icon-explosive .path32:before{content:\"\uE98B\";margin-left:-1em;color:#323232}.icon-explosive .path33:before{content:\"\uE98C\";margin-left:-1em;color:#323232}.icon-explosive .path34:before{content:\"\uE98D\";margin-left:-1em;color:#323232}.icon-explosive .path35:before{content:\"\uE98E\";margin-left:-1em;color:#323232}.icon-explosive .path36:before{content:\"\uE98F\";margin-left:-1em;color:#323232}.icon-explosive .path37:before{content:\"\uE990\";margin-left:-1em;color:#323232}.icon-explosive .path38:before{content:\"\uE991\";margin-left:-1em;color:#323232}.icon-explosive .path39:before{content:\"\uE992\";margin-left:-1em;color:#323232}.icon-explosive .path40:before{content:\"\uE993\";margin-left:-1em;color:#323232}.icon-explosive .path41:before{content:\"\uE994\";margin-left:-1em;color:#323232}.icon-explosive .path42:before{content:\"\uE995\";margin-left:-1em;color:#323232}.icon-explosive .path43:before{content:\"\uE996\";margin-left:-1em;color:#323232}.icon-explosive .path44:before{content:\"\uE997\";margin-left:-1em;color:#323232}.icon-explosive .path45:before{content:\"\uE998\";margin-left:-1em;color:#323232}.icon-explosive .path46:before{content:\"\uE999\";margin-left:-1em;color:#323232}.icon-file-excel:before{content:\"\uE99A\"}.icon-file-pdf:before{content:\"\uE99B\"}.icon-file-pdf-verified .path1:before{content:\"\uE99C\";color:#000;opacity:.6}.icon-file-pdf-verified .path2:before{content:\"\uE99D\";margin-left:-1em;color:#fff}.icon-file-pdf-verified .path3:before{content:\"\uE99E\";margin-left:-1em;color:#000;opacity:.6}.icon-file-word:before{content:\"\uE99F\"}.icon-filter-alt:before{content:\"\uE9A0\"}.icon-flammable .path1:before{content:\"\uE9A1\";color:#323232}.icon-flammable .path2:before{content:\"\uE9A2\";margin-left:-1em;color:#323232}.icon-flammable .path3:before{content:\"\uE9A3\";margin-left:-1em;color:#e32730}.icon-gas-under-pressure .path1:before{content:\"\uE9A4\";color:#323232}.icon-gas-under-pressure .path2:before{content:\"\uE9A5\";margin-left:-1em;color:#e32730}.icon-health-hazard .path1:before{content:\"\uE9A6\";color:#323232}.icon-health-hazard .path2:before{content:\"\uE9A7\";margin-left:-1em;color:#e32730}.icon-line-break:before{content:\"\uE9A8\"}.icon-location:before{content:\"\uE9A9\"}.icon-measure-add:before{content:\"\uE9AA\"}.icon-measure-edit:before{content:\"\uE9AB\"}.icon-measure-view:before{content:\"\uE9AC\";color:#666}.icon-messages:before{content:\"\uE9AD\"}.icon-monitoring:before{content:\"\uE9AE\";color:#666}.icon-move:before{content:\"\uE9AF\"}.icon-oxidizing .path1:before{content:\"\uE9B0\";color:#e32730}.icon-oxidizing .path2:before{content:\"\uE9B1\";margin-left:-1em;color:#323232}.icon-oxidizing .path3:before{content:\"\uE9B2\";margin-left:-1em;color:#323232}.icon-oxidizing .path4:before{content:\"\uE9B3\";margin-left:-1em;color:#323232}.icon-process-area-closed:before{content:\"\uE9B4\"}.icon-process-area-open:before{content:\"\uE9B5\"}.icon-process-linked .path1:before{content:\"\uE9B6\";color:#000;opacity:.6}.icon-process-linked .path2:before{content:\"\uE9B7\";margin-left:-1em;color:#666}.icon-risk:before{content:\"\uE9B8\"}.icon-search-in-file:before{content:\"\uE9B9\"}.icon-sort-ascending:before{content:\"\uE9BA\"}.icon-sort-descending:before{content:\"\uE9BB\"}.icon-subscript:before{content:\"\uE9BC\"}.icon-superscript:before{content:\"\uE9BD\"}.icon-syncronice-favorites:before{content:\"\uE9BE\"}.icon-system-settings:before{content:\"\uE9BF\"}.icon-view-three-outlined:before{content:\"\uE9C0\"}.icon-workplace-safety:before{content:\"\uE9C1\"}.icon-checklist:before{content:\"\uE900\"}.icon-department-document .path1:before{content:\"\uE901\";color:#000;opacity:.6}.icon-department-document .path2:before{content:\"\uE902\";margin-left:-1em;color:#00804c}.icon-department-folder-closed .path1:before{content:\"\uE903\";color:#000;opacity:.6}.icon-department-folder-closed .path2:before{content:\"\uE904\";margin-left:-1em;color:#00804c}.icon-department-folder-open .path1:before{content:\"\uE905\";color:#000;opacity:.6}.icon-department-folder-open .path2:before{content:\"\uE906\";margin-left:-1em;color:#00804c}.icon-deviation:before{content:\"\uE907\"}.icon-dropdown-folder .path1:before{content:\"\uE908\";color:#00324e}.icon-dropdown-folder .path2:before{content:\"\uE909\";margin-left:-1em;color:#fff;opacity:.6}.icon-enterprise-document .path1:before{content:\"\uE90A\";color:#000;opacity:.6}.icon-enterprise-document .path2:before{content:\"\uE90B\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-closed .path1:before{content:\"\uE90C\";color:#000;opacity:.6}.icon-enterprise-folder-closed .path2:before{content:\"\uE90D\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-open .path1:before{content:\"\uE90E\";color:#000;opacity:.6}.icon-enterprise-folder-open .path2:before{content:\"\uE90F\";margin-left:-1em;color:#cf4714}.icon-folder-closed:before{content:\"\uE910\"}.icon-folder-open:before{content:\"\uE911\"}.icon-keyboard_arrow_down:before{content:\"\uE912\"}.icon-keyboard_arrow_up:before{content:\"\uE913\"}.icon-local-document .path1:before{content:\"\uE914\";color:#000;opacity:.6}.icon-local-document .path2:before{content:\"\uE915\";margin-left:-1em;color:#1954a9}.icon-local-folder-closed .path1:before{content:\"\uE916\";color:#000;opacity:.6}.icon-local-folder-closed .path2:before{content:\"\uE917\";margin-left:-1em;color:#1954a9}.icon-local-folder-open .path1:before{content:\"\uE918\";color:#000;opacity:.6}.icon-local-folder-open .path2:before{content:\"\uE919\";margin-left:-1em;color:#1954a9}.icon-process:before{content:\"\uE91A\"}.icon-regional-document .path1:before{content:\"\uE91C\";color:#000;opacity:.6}.icon-regional-document .path2:before{content:\"\uE91D\";margin-left:-1em;color:#662e0d}.icon-regional-folder-closed .path1:before{content:\"\uE91E\";color:#000;opacity:.6}.icon-regional-folder-closed .path2:before{content:\"\uE91F\";margin-left:-1em;color:#662e0d}.icon-regional-folder-open .path1:before{content:\"\uE920\";color:#000;opacity:.6}.icon-regional-folder-open .path2:before{content:\"\uE921\";margin-left:-1em;color:#662e0d}.qms-select-department{font-family:Open Sans,sans-serif}.qms-select-department .cursor-pointer{cursor:pointer}.qms-select-department .ml-5{margin-left:10px}.qms-select-department .padding-5{padding:5px}.qms-select-department .header-dialog{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:16px}.qms-select-department .input__field{display:flex;align-items:center;position:relative}.qms-select-department .input__field input.input-search{width:100%;padding:10px;outline:none;border:none;background:var(--background-input-text)}.qms-select-department .input__field .btn-search{cursor:pointer;vertical-align:middle;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.qms-select-department .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qms-select-department .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qms-select-department .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qms-select-department .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qms-select-department .panel__item{max-height:175px;margin-top:4px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;display:block}.qms-select-department .panel__item .related__item__inline{max-width:100%}.qms-select-department .panel__item ::ng-deep .mat-chip-list-wrapper{margin:0 -4px!important}.qms-select-department .panel__item .select__toggle-include{width:100%}.qms-select-department .panel__item .select__toggle-include.toggle-include-child .mat-slide-toggle.qms-group-options .mat-slide-toggle-thumb{background-color:#5a5a5a!important}.qms-select-department .panel__item .related__item__content{height:32px;line-height:32px;background-color:var(--related-item-background);max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qms-select-department .panel__item .related__item__content .mat-icon{color:var(--related-mat-icon-color);font-size:24px}.qms-select-department .header-title{font-weight:600;color:rgba(0,0,0,.87)}.qms-select-department .result-content{padding-right:0!important}.qms-select-department .result-content .mat-chip-list{min-height:40px}.qms-select-department .result-content .mat-chip-list .mat-icon{color:rgba(0,0,0,.3)!important;cursor:pointer}.qms-select-department .result-content .mat-chip-list .mat-icon:hover{color:#000!important}.qms-select-department .result-content span.related__item__content_name{min-width:calc(100% - 13px);max-width:250px;display:flex;align-items:center}.qms-select-department .result-content span.related__item__content_name>span:first-child{display:inline-block;margin-right:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.qms-select-department .result-content span.related__item__content_name .select__include-children__count{font-size:.75rem;color:rgba(0,0,0,.5);font-weight:600;line-height:16px}.qms-select-department .text-name{position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:pointer;width:100%}.qms-select-department ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-layout{white-space:normal}.qms-select-department ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-label{flex-direction:row;align-items:center;position:relative;padding-bottom:2px}.qms-select-department .confirm__button__groups .btn-add>.qms-btn-wrapper{display:flex;justify-content:center;align-items:center}.qms-select-department ::ng-deep .custom-department-tree .qms-view-search-result{height:100%!important}.qms-select-department ::ng-deep .custom-department-tree .qms-view-search-result .result{max-height:calc(100% - 80px)!important}.qms-select-department ::ng-deep .custom-department-tree .loading-container{height:calc(100% - 40px)!important}.qms-select-department ::ng-deep.btn-close-dialog.qms-btn-icon:focus:not(:hover){background-color:unset!important;color:unset!important}.qms-spinner-wrapper{display:inline-block;width:22px;height:22px}.qms-spinner-wrapper .qms-spinner{font-size:20px;width:1em;height:1em;position:absolute;right:5px;top:50%;transform:translateY(-50%)}.qms-spinner-wrapper .qms-spinner .mat-progress-spinner circle,.qms-spinner-wrapper .qms-spinner .mat-spinner circle{stroke:#1b75be!important}@media screen and (max-width:600px){::ng-deep .cdk-global-overlay-wrapper{justify-content:center!important;width:100vw}.header-title{font-size:14px}.related__item__content_name{font-size:12px!important}}"]
36342
+ },] }
36343
+ ];
36344
+ SelectProcessDataComponent.ctorParameters = () => [
36345
+ { type: ChangeDetectorRef },
36346
+ { type: MatDialogRef },
36347
+ { type: SelectDepartmentPopupData, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
36348
+ { type: TranslateLibraryService }
36349
+ ];
36350
+ SelectProcessDataComponent.propDecorators = {
36351
+ treeProcessData: [{ type: ViewChild, args: ['treeProcessData',] }],
36352
+ onPagingEvent: [{ type: Output }],
36353
+ onSearchEvent: [{ type: Output }],
36354
+ onCheckNodeEvent: [{ type: Output }],
36355
+ onExpandNodeEvent: [{ type: Output }],
36356
+ onLoadMoreEvent: [{ type: Output }],
36357
+ onCheckItemSearchEvent: [{ type: Output }],
36358
+ onCheckAllItemSearchEvent: [{ type: Output }],
36359
+ toggleIncludeChildEvent: [{ type: Output }]
36360
+ };
36361
+
36362
+ class QMSSelectProcessDataModule {
36363
+ }
36364
+ QMSSelectProcessDataModule.decorators = [
36365
+ { type: NgModule, args: [{
36366
+ declarations: [
36367
+ SelectProcessDataComponent,
36368
+ ],
36369
+ imports: [
36370
+ CommonModule,
36371
+ MatProgressBarModule,
36372
+ MatTreeModule,
36373
+ MatCheckboxModule,
36374
+ ReactiveFormsModule,
36375
+ FormsModule,
36376
+ QmsAngularModule,
36377
+ MatIconModule,
36378
+ QMSTreeModule,
36379
+ MatButtonModule,
36380
+ MatDialogModule,
36381
+ MatExpansionModule,
36382
+ MatAutocompleteModule,
36383
+ MatInputModule,
36384
+ QMSAppIconModule,
36385
+ QMSButtonModule,
36386
+ MatSlideToggleModule,
36387
+ QMSButtonModule,
36388
+ MatFormFieldModule,
36389
+ MatChipsModule,
36390
+ QMSSelectProcessDataTreeModule,
36391
+ MatDividerModule,
36392
+ MatProgressSpinnerModule
36393
+ ],
36394
+ exports: [
36395
+ SelectProcessDataComponent
36396
+ ],
36397
+ schemas: [
36398
+ CUSTOM_ELEMENTS_SCHEMA
36399
+ ]
36400
+ },] }
36401
+ ];
36402
+
34937
36403
  /*
34938
36404
  * Public API Surface of qms-angular
34939
36405
  */
@@ -34942,5 +36408,5 @@ class FilterPersonModel {
34942
36408
  * Generated bundle index. Do not edit.
34943
36409
  */
34944
36410
 
34945
- export { AnimationTreeDepartment, AutocompleteOffDirective, BREADCRUMB_DROPDOWN_ICON, BUTTON_TOGGLE_DEFAULT_OPTIONS, BUTTON_TOGGLE_GROUP, BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, BannerType, BpmnService, BreadcrumbNode, BreadcrumbType, ButtonToggleChange, CHECKLIST_ICON, CKEditorEventConst, CKEditorModule, CdkDetailRowDirective, ConfirmDialog, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, DataType, DateFormatPipe, DepartmentLocationBreadCrumb, DepartmentSearchResultModel, DocumentNodeType$1 as DocumentNodeType, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, EllipsifyDirective, FileErrorType, FileType, FilterPersonModel, FlatNodeNavDrawer, FlowChartConst, FlowchartViewMode, ISelectOneItem, InformationCoverItem, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, LinkAnchor, LinkType, MarginDirective, MfeUtil, ModeDepartmentTreeeViewEnum, ModuleType$1 as ModuleType, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, NavigatorElementView, NavigatorLinkView, NewTreeComponent, NewTreeModel, OptionSelectAccessEnum, OptionSelectAccessModel, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, PROCESS_INTERCONNECTED_ICON, PaginationSize, PopupData, ProtocolType, ProtocolTypeName, QMSAccessItem, QMSAccessPagingChangeModel, QMSAccessPagingModel, QMSAnchor, QMSAppBar, QMSAppIconModule, QMSAttachmentListDirective, QMSBPMNComponent, QMSBPMNConfig, QMSBasicTreeComponent, QMSBreadcrumb, QMSBreadcrumbDirectionIconDirective, QMSBreadcrumbItemDirective, QMSBreadcrumbModule, QMSButton, QMSButtonIcon, QMSButtonModule, QMSButtonToggle, QMSButtonToggleGroup, QMSCKEditorBaseComponent, QMSCKEditorBaseService, QMSCKEditorBpmn, QMSCKEditorBpmnApiService, QMSCKEditorBpmnComponent, QMSCKEditorBpmnTemplate, QMSCKEditorComponent, QMSCKEditorConfirmComponent, QMSCKEditorData, QMSCKEditorDialogData, QMSCKEditorFlowchart, QMSCKEditorFlowchartService, QMSCKEditorFullscreenComponent, QMSCKEditorGlobalService, QMSCKEditorInjector, QMSCKEditorLinkAnchorDocument, QMSCKEditorLinkComponent, QMSCKEditorLinkService, QMSCKEditorLoadTemplateComponent, QMSCKEditorModule, QMSCKEditorPlugin, QMSCKEditorRelatedComponent, QMSCKEditorRelation, QMSCKEditorSaveAsTemplate, QMSCKEditorTemplate, QMSCKEditorTemplateService, QMSCKEditorToastService, QMSCKEditorTreeComponent, QMSCKEdtiorInputData, QMSChipBodyDirective, QMSChipInputChipListDirective, QMSChipInputDirective, QMSChipInputSelectDropDownDirective, QMSChipInputSelectFieldDirective, QMSChipInputSelectTriggerDirective, QMSCollapseGroupDirective, QMSComment, QMSConfirmDialog, QMSContentChangesDirective, QMSDepartmentPagingModel, QMSDialogConfig, QMSDialogContainer, QMSDialogContainerV2, QMSDialogContent, QMSDialogFooter, QMSDialogHeader, QMSDrawerContentDirective, QMSDrawerDirective, QMSDrawerHeaderActionDirective, QMSDrawerHeaderDirective, QMSDropdownMenuItem, QMSEditFileNameDialog, QMSEditFileNameDialogModule, QMSFileAttachment, QMSFileUploadDirective, QMSFileUploadDisplayDirective, QMSFileUploadMultipleDirective, QMSFileUploadMultipleDisplayDirective, QMSFileUploadMultipleSelectorDirective, QMSFileUploadSelectorDirective, QMSFlatNodeTree, QMSFormDialog, QMSFormFieldDatePickerDirective, QMSFormFieldDirective, QMSFormFieldTextareaDirective, QMSGroupOptionDirective, QMSIconRegistryService, QMSInputChipDirective, QMSInputClearDirective, QMSList, QMSListExpansion, QMSListExpansionHeader, QMSListHeader, QMSListItem, QMSListLeadingIcon, QMSListLine, QMSListModule, QMSMultiIconDirective, QMSNavDrawerComponent, QMSNavDrawerModule, QMSNavigationDrawerComponent, QMSNavigationDrawerModule, QMSNewTreeModule, QMSPaginatorComponent, QMSProcessDocumentItem, QMSRangeSliderDirective, QMSRangeSliderLockUpDirective, QMSRangeSliderModule, QMSRelatedGlobalService, QMSRelatedModule, QMSRichText, QMSRichTextModule, QMSRowDetailDirective, QMSScrolableAttachmentListDirective, QMSScrollbarDirective, QMSSearchFieldDirective, QMSSelectAccessData, QMSSelectAccessDialog, QMSSelectAccessDialogComponent, QMSSelectAccessDialogModule, QMSSelectAccessGlobalService, QMSSelectAccessResult, QMSSelectDepartmentGlobalService, QMSSelectDepartmentModule, QMSSelectDepartmentTreeConfig, QMSSelectDepartmentTreeGlobalService, QMSSelectDepartmentTreeModule, QMSSelectIncludeChildrenGlobalService, QMSSelectIncludeChildrenModule, QMSSelectOneGlobalService, QMSSelectOneModule, QMSSelectProcessDocumentGlobalService, QMSSelectProcessDocumentModule, QMSSideSheetModule, QMSSnackbarConfig, QMSSuffixDirective, QMSSuffixFieldDirective, QMSTabGroupAdvancedDirective, QMSTabGroupDirective, QMSTabLabelDirective, QMSTabModule, QMSTableAction, QMSTableActionBlock, QMSTableChildrenDirective, QMSTableDirective, QMSTableModule, QMSTableRowDirective, QMSTextBlockDirective, QMSTextBlockLine, QMSTextTruncateDirective, QMSThemingLibraryService, QMSToolTipComponent, QMSToolTipRendererDirective, QMSTooltipImageDirective, QMSTooltipModule, QMSTreeConfig, QMSTreeGlobalService, QMSTreeModel, QMSTreeModule, QMSUploadFileErrorDialog, QMSUploadFileErrorDialogModule, QMSUploadingFileGuard, QMS_LANGUAGES, QMS_THEMES, QMS_THEME_DEFAULT, QmsAngularComponent, QmsAngularModule, QmsAngularService, QmsAppBarComponent, QmsAppBarModule, QmsBPMNModule, QmsBadgesComponent, QmsBadgesModule, QmsBannerButtonType, QmsBannerComponent, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerConfirmComponent, QmsBannerConfirmModule, QmsBannerContent, QmsBannerLoadingComponent, QmsBannerLoadingModule, QmsBannerModule, QmsCkeditorLinkSimpleComponent, QmsPaginatorModule, QmsReportContentPortraitComponent, QmsReportCoverPortraitComponent, QmsReportModule, QmsStatusDropdownComponent, QmsStatusDropdownModule, QmsStatusDropdownOption, QmsStatusDropdownType, QmsStepperComponent, QmsStepperModule, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON, RelatedConst, RelatedContentComponent, RelatedItemType, RelatedListComponent, RelatedPopupComponent, Result, RiskAnalysis, RiskAnalysisComponent, RiskDanger, RiskListComponent, RiskResult, RiskResultComponent, SaveTemplateComponent, ScrollToSelectedDirective, SelectAccessAnimationTrigger, SelectConst, SelectDepartmentComponent, SelectDepartmentPopupData, SelectDepartmentTreeComponent, SelectDialog, SelectIncludeChildrenPopUpComponent, SelectOneDialog, SelectOneNextData, SelectOneNextDialog, SelectOnePopupData, SelectOption, SelectOptionTypes, SelectPopupData, SelectProcessDocumentPopupComponent, SelectProcessDocumentPopupData, SelectedOption, SelectedProcessDocumentItem, SharedModule, ShowHideSearchResultConst, SideNav, SideNavItem, SidenavComponent, TargetType, TargetTypeName, TranslateLibraryService, TreeComponent, TreeConfig, TreeFlatNode, TreeModel, TreeModelNavDrawer, TreeNode$1 as TreeNode, UploadErrorData, app, basic, en, erd, fsa, mixinColor, no, notExceedSize, org, pn, requiredFileType, standard, uml, ɵ2, SharedMaterialModule as ɵa, TreeComponent as ɵb, QMSCKEditorUploadService as ɵc, QMSTreeModule as ɵd, QMSBasicTreeComponent as ɵe, QMSCKEditorTreeService as ɵf, QMSCKEditorTemplateComponent as ɵg, QMSCKEditorCommonService as ɵh, QMSSelectProcessDocumentGlobalService as ɵi, LinkAttachmentComponent as ɵj, QMSCKEditorTooltipComponent as ɵk, QMSCKEditorTooltip as ɵl, QMSCKEditorImageMapComponent as ɵm, QMSCKEditorImageMap as ɵn, QMSCKEditorBPMNConnectionService as ɵo, QMSCKEditorBpmnData as ɵp, QMSCKEditorAboutComponent as ɵq, QMSCKEditorFlowchartComponent as ɵr, BPMNLinkComponent as ɵs, ShapeLink as ɵt };
36411
+ export { AnimationTreeDepartment, AutocompleteOffDirective, BREADCRUMB_DROPDOWN_ICON, BUTTON_TOGGLE_DEFAULT_OPTIONS, BUTTON_TOGGLE_GROUP, BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, BannerType, BpmnService, BreadcrumbNode, BreadcrumbType, ButtonToggleChange, CHECKLIST_ICON, CKEditorEventConst, CKEditorModule, CdkDetailRowDirective, ConfirmDialog, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, DataType, DateFormatPipe, DepartmentLocationBreadCrumb, DepartmentSearchResultModel, DocumentNodeType$1 as DocumentNodeType, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, EllipsifyDirective, FileErrorType, FileType, FilterPersonModel, FlatNodeNavDrawer, FlowChartConst, FlowchartViewMode, ISelectOneItem, InformationCoverItem, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, LinkAnchor, LinkType, MarginDirective, MfeUtil, ModeDepartmentTreeeViewEnum, ModuleType$1 as ModuleType, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, NavigatorElementView, NavigatorLinkView, NewTreeComponent, NewTreeModel, OptionSelectAccessEnum, OptionSelectAccessModel, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, PROCESS_INTERCONNECTED_ICON, PaginationSize, PopupData, ProtocolType, ProtocolTypeName, QMSAccessItem, QMSAccessPagingChangeModel, QMSAccessPagingModel, QMSAnchor, QMSAppBar, QMSAppIconModule, QMSAttachmentListDirective, QMSBPMNComponent, QMSBPMNConfig, QMSBasicTreeComponent, QMSBreadcrumb, QMSBreadcrumbDirectionIconDirective, QMSBreadcrumbItemDirective, QMSBreadcrumbModule, QMSButton, QMSButtonIcon, QMSButtonModule, QMSButtonToggle, QMSButtonToggleGroup, QMSCKEditorBaseComponent, QMSCKEditorBaseService, QMSCKEditorBpmn, QMSCKEditorBpmnApiService, QMSCKEditorBpmnComponent, QMSCKEditorBpmnTemplate, QMSCKEditorComponent, QMSCKEditorConfirmComponent, QMSCKEditorData, QMSCKEditorDialogData, QMSCKEditorFlowchart, QMSCKEditorFlowchartService, QMSCKEditorFullscreenComponent, QMSCKEditorGlobalService, QMSCKEditorInjector, QMSCKEditorLinkAnchorDocument, QMSCKEditorLinkComponent, QMSCKEditorLinkService, QMSCKEditorLoadTemplateComponent, QMSCKEditorModule, QMSCKEditorPlugin, QMSCKEditorRelatedComponent, QMSCKEditorRelation, QMSCKEditorSaveAsTemplate, QMSCKEditorTemplate, QMSCKEditorTemplateService, QMSCKEditorToastService, QMSCKEditorTreeComponent, QMSCKEdtiorInputData, QMSChipBodyDirective, QMSChipInputChipListDirective, QMSChipInputDirective, QMSChipInputSelectDropDownDirective, QMSChipInputSelectFieldDirective, QMSChipInputSelectTriggerDirective, QMSCollapseGroupDirective, QMSComment, QMSConfirmDialog, QMSContentChangesDirective, QMSDepartmentPagingModel, QMSDialogConfig, QMSDialogContainer, QMSDialogContainerV2, QMSDialogContent, QMSDialogFooter, QMSDialogHeader, QMSDrawerContentDirective, QMSDrawerDirective, QMSDrawerHeaderActionDirective, QMSDrawerHeaderDirective, QMSDropdownMenuItem, QMSEditFileNameDialog, QMSEditFileNameDialogModule, QMSFileAttachment, QMSFileUploadDirective, QMSFileUploadDisplayDirective, QMSFileUploadMultipleDirective, QMSFileUploadMultipleDisplayDirective, QMSFileUploadMultipleSelectorDirective, QMSFileUploadSelectorDirective, QMSFlatNodeTree, QMSFormDialog, QMSFormFieldDatePickerDirective, QMSFormFieldDirective, QMSFormFieldTextareaDirective, QMSGroupOptionDirective, QMSIconRegistryService, QMSInputChipDirective, QMSInputClearDirective, QMSList, QMSListExpansion, QMSListExpansionHeader, QMSListHeader, QMSListItem, QMSListLeadingIcon, QMSListLine, QMSListModule, QMSMultiIconDirective, QMSNavDrawerComponent, QMSNavDrawerModule, QMSNavigationDrawerComponent, QMSNavigationDrawerModule, QMSNewTreeModule, QMSPaginatorComponent, QMSProcessDocumentItem, QMSRangeSliderDirective, QMSRangeSliderLockUpDirective, QMSRangeSliderModule, QMSRelatedGlobalService, QMSRelatedModule, QMSRichText, QMSRichTextModule, QMSRowDetailDirective, QMSScrolableAttachmentListDirective, QMSScrollbarDirective, QMSSearchFieldDirective, QMSSelectAccessData, QMSSelectAccessDialog, QMSSelectAccessDialogComponent, QMSSelectAccessDialogModule, QMSSelectAccessGlobalService, QMSSelectAccessResult, QMSSelectDepartmentGlobalService, QMSSelectDepartmentModule, QMSSelectDepartmentTreeConfig, QMSSelectDepartmentTreeGlobalService, QMSSelectDepartmentTreeModule, QMSSelectIncludeChildrenGlobalService, QMSSelectIncludeChildrenModule, QMSSelectOneGlobalService, QMSSelectOneModule, QMSSelectProcessDataModule, QMSSelectProcessDataTreeModule, QMSSelectProcessDocumentGlobalService, QMSSelectProcessDocumentModule, QMSSideSheetModule, QMSSnackbarConfig, QMSSuffixDirective, QMSSuffixFieldDirective, QMSTabGroupAdvancedDirective, QMSTabGroupDirective, QMSTabLabelDirective, QMSTabModule, QMSTableAction, QMSTableActionBlock, QMSTableChildrenDirective, QMSTableDirective, QMSTableModule, QMSTableRowDirective, QMSTextBlockDirective, QMSTextBlockLine, QMSTextTruncateDirective, QMSThemingLibraryService, QMSToolTipComponent, QMSToolTipRendererDirective, QMSTooltipImageDirective, QMSTooltipModule, QMSTreeConfig, QMSTreeGlobalService, QMSTreeModel, QMSTreeModule, QMSUploadFileErrorDialog, QMSUploadFileErrorDialogModule, QMSUploadingFileGuard, QMS_LANGUAGES, QMS_THEMES, QMS_THEME_DEFAULT, QmsAngularComponent, QmsAngularModule, QmsAngularService, QmsAppBarComponent, QmsAppBarModule, QmsBPMNModule, QmsBadgesComponent, QmsBadgesModule, QmsBannerButtonType, QmsBannerComponent, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerConfirmComponent, QmsBannerConfirmModule, QmsBannerContent, QmsBannerLoadingComponent, QmsBannerLoadingModule, QmsBannerModule, QmsCkeditorLinkSimpleComponent, QmsPaginatorModule, QmsReportContentPortraitComponent, QmsReportCoverPortraitComponent, QmsReportModule, QmsStatusDropdownComponent, QmsStatusDropdownModule, QmsStatusDropdownOption, QmsStatusDropdownType, QmsStepperComponent, QmsStepperModule, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON, RelatedConst, RelatedContentComponent, RelatedItemType, RelatedListComponent, RelatedPopupComponent, Result, RiskAnalysis, RiskAnalysisComponent, RiskDanger, RiskListComponent, RiskResult, RiskResultComponent, SaveTemplateComponent, ScrollToSelectedDirective, SelectAccessAnimationTrigger, SelectConst, SelectDepartmentComponent, SelectDepartmentPopupData, SelectDepartmentTreeComponent, SelectDialog, SelectIncludeChildrenPopUpComponent, SelectOneDialog, SelectOneNextData, SelectOneNextDialog, SelectOnePopupData, SelectOption, SelectOptionTypes, SelectPopupData, SelectProcessDataComponent, SelectProcessDataTreeComponent, SelectProcessDocumentPopupComponent, SelectProcessDocumentPopupData, SelectedOption, SelectedProcessDocumentItem, SharedModule, ShowHideSearchResultConst, SideNav, SideNavItem, SidenavComponent, TargetType, TargetTypeName, TranslateLibraryService, TreeComponent, TreeConfig, TreeFlatNode, TreeModel, TreeModelNavDrawer, TreeNode$1 as TreeNode, UploadErrorData, app, basic, en, erd, fsa, mixinColor, no, notExceedSize, org, pn, requiredFileType, standard, uml, ɵ2, SharedMaterialModule as ɵa, TreeComponent as ɵb, QMSCKEditorUploadService as ɵc, QMSTreeModule as ɵd, QMSBasicTreeComponent as ɵe, QMSCKEditorTreeService as ɵf, QMSCKEditorTemplateComponent as ɵg, QMSCKEditorCommonService as ɵh, QMSSelectProcessDocumentGlobalService as ɵi, LinkAttachmentComponent as ɵj, QMSCKEditorTooltipComponent as ɵk, QMSCKEditorTooltip as ɵl, QMSCKEditorImageMapComponent as ɵm, QMSCKEditorImageMap as ɵn, QMSCKEditorBPMNConnectionService as ɵo, QMSCKEditorBpmnData as ɵp, QMSCKEditorAboutComponent as ɵq, QMSCKEditorFlowchartComponent as ɵr, BPMNLinkComponent as ɵs, ShapeLink as ɵt };
34946
36412
  //# sourceMappingURL=qms-angular.js.map