qms-angular 1.0.63 → 1.0.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/bundles/qms-angular.umd.js +2132 -120
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/common/enum/data-type.enum.js +14 -0
  4. package/esm2015/lib/common/enum/document-node-type.enum.js +12 -0
  5. package/esm2015/lib/common/enum/module-type.enum.js +8 -0
  6. package/esm2015/lib/common/related.const.js +6 -0
  7. package/esm2015/lib/components/badges/qms-badges.component.js +7 -4
  8. package/esm2015/lib/components/breadcrumb/breadcrumb.js +1 -1
  9. package/esm2015/lib/components/qms-app-bar/qms-app-bar.component.js +3 -3
  10. package/esm2015/lib/components/qms-stepper/qms-stepper.component.js +3 -2
  11. package/esm2015/lib/components/related/model/related-data.model.js +3 -1
  12. package/esm2015/lib/components/related/popup/related-popup.component.js +31 -10
  13. package/esm2015/lib/components/related/risk/analysis/analysis.component.js +1 -3
  14. package/esm2015/lib/components/select-include-children/select-include-children.component.js +7 -8
  15. package/esm2015/lib/components/select-one/select-one.component.js +10 -2
  16. package/esm2015/lib/components/select-process-document/index.js +2 -0
  17. package/esm2015/lib/components/select-process-document/models/pop-up-data.model.js +13 -0
  18. package/esm2015/lib/components/select-process-document/models/qms-process-document-item.model.js +3 -0
  19. package/esm2015/lib/components/select-process-document/models/selected-process-document-item.model.js +3 -0
  20. package/esm2015/lib/components/select-process-document/public-api.js +7 -0
  21. package/esm2015/lib/components/select-process-document/select-process-document.component.js +832 -0
  22. package/esm2015/lib/components/select-process-document/select-process-document.module.js +59 -0
  23. package/esm2015/lib/components/select-process-document/services/select-process-document-global.service.js +29 -0
  24. package/esm2015/lib/components/tree/model/tree-config.model.js +1 -1
  25. package/esm2015/lib/components/tree/tree.component.js +33 -28
  26. package/esm2015/lib/components/treeNew/index.js +2 -0
  27. package/esm2015/lib/components/treeNew/model/tree-node.model.js +3 -0
  28. package/esm2015/lib/components/treeNew/model/tree.model.js +3 -0
  29. package/esm2015/lib/components/treeNew/public-api.js +5 -0
  30. package/esm2015/lib/components/treeNew/tree.component.js +785 -0
  31. package/esm2015/lib/components/treeNew/tree.function.js +97 -0
  32. package/esm2015/lib/components/treeNew/tree.module.js +51 -0
  33. package/esm2015/lib/directives/app-bar/app-bar.directive.js +24 -0
  34. package/esm2015/lib/model/en.js +3 -3
  35. package/esm2015/lib/model/no.js +3 -3
  36. package/esm2015/lib/qms-angular.module.js +6 -3
  37. package/esm2015/public-api.js +8 -1
  38. package/fesm2015/qms-angular.js +2109 -209
  39. package/fesm2015/qms-angular.js.map +1 -1
  40. package/lib/common/enum/data-type.enum.d.ts +12 -0
  41. package/lib/common/enum/document-node-type.enum.d.ts +10 -0
  42. package/lib/common/enum/module-type.enum.d.ts +6 -0
  43. package/lib/common/related.const.d.ts +5 -0
  44. package/lib/components/badges/qms-badges.component.d.ts +3 -0
  45. package/lib/components/related/model/related-data.model.d.ts +3 -0
  46. package/lib/components/related/popup/related-popup.component.d.ts +7 -3
  47. package/lib/components/select-include-children/select-include-children.component.d.ts +8 -9
  48. package/lib/components/select-one/select-one.component.d.ts +1 -0
  49. package/lib/components/select-process-document/index.d.ts +1 -0
  50. package/lib/components/select-process-document/models/pop-up-data.model.d.ts +17 -0
  51. package/lib/components/select-process-document/models/qms-process-document-item.model.d.ts +13 -0
  52. package/lib/components/select-process-document/models/selected-process-document-item.model.d.ts +16 -0
  53. package/lib/components/select-process-document/public-api.d.ts +6 -0
  54. package/lib/components/select-process-document/select-process-document.component.d.ts +116 -0
  55. package/lib/components/select-process-document/select-process-document.module.d.ts +2 -0
  56. package/lib/components/select-process-document/services/select-process-document-global.service.d.ts +14 -0
  57. package/lib/components/tree/model/tree-config.model.d.ts +2 -2
  58. package/lib/components/tree/tree.component.d.ts +1 -2
  59. package/lib/components/treeNew/index.d.ts +1 -0
  60. package/lib/components/treeNew/model/tree-node.model.d.ts +8 -0
  61. package/lib/components/treeNew/model/tree.model.d.ts +11 -0
  62. package/lib/components/treeNew/public-api.d.ts +4 -0
  63. package/lib/components/treeNew/tree.component.d.ts +135 -0
  64. package/lib/components/treeNew/tree.function.d.ts +13 -0
  65. package/lib/components/treeNew/tree.module.d.ts +2 -0
  66. package/lib/directives/app-bar/app-bar.directive.d.ts +8 -0
  67. package/lib.theme.scss +1 -0
  68. package/package.json +1 -1
  69. package/public-api.d.ts +7 -0
  70. package/qms-angular.metadata.json +1 -1
  71. package/src/assets/jointjs/scss/bpmn.scss +1 -9
  72. package/src/assets/jointjs/scss/dist/bpmn.css +854 -0
  73. package/src/assets/qms-ckeditor-plugin/package-lock.json +12177 -9
  74. package/src/assets/qms-ckeditor-plugin/src/dist/ckeditor.dev.js +173 -0
  75. package/src/assets/qms-ckeditor-plugin/src/plugins/fullscreen/dist/qmsCKEditorFullscreenPlugin.dev.js +87 -0
  76. package/src/lib/components/badges/_qms-badges-base.scss +7 -2
  77. package/src/lib/components/breadcrumb/breadcrumb.scss +1 -1
  78. package/src/lib/components/qms-app-bar/qms-app-bar.component.scss +16 -2
  79. package/src/lib/components/related/popup/related-popup.component.scss +22 -1
  80. package/src/lib/components/select-process-document/select-process-document.component.scss +300 -0
  81. package/src/lib/components/tree/tree.component.scss +4 -6
  82. package/src/lib/components/treeNew/tree.component.scss +175 -0
  83. package/src/themes/core/_app-bar.scss +14 -0
@@ -85,8 +85,8 @@ const en = {
85
85
  "CAPTION_TITLE": "In causal assessments, all causes related to the event are automatically added.",
86
86
  "CAUSAL_ANALYZES": "Selected Assessments",
87
87
  "FINISHED": "Finished",
88
- "PROCESS_ID": "Process ID",
89
- "DOCUMENT_ID": "Document ID",
88
+ "PROCESS_ID": "ID",
89
+ "DOCUMENT_ID": "ID",
90
90
  "PROCESS_AREA": "Process area",
91
91
  "FOLDER": "Folder",
92
92
  "DEVIATION_TYPE": "Deviation type",
@@ -347,8 +347,8 @@ const no = {
347
347
  "CAPTION_TITLE": "I årsaksanalyser blir automatisk alle årsaker knyttet til hendelsen lagt til.",
348
348
  "CAUSAL_ANALYZES": "Valgte Analyser",
349
349
  "FINISHED": "Ferdig",
350
- "PROCESS_ID": "Prosess ID",
351
- "DOCUMENT_ID": "Dokument ID",
350
+ "PROCESS_ID": "ID",
351
+ "DOCUMENT_ID": "ID",
352
352
  "PROCESS_AREA": "Prosessområder",
353
353
  "FOLDER": "Mappe",
354
354
  "DEVIATION_TYPE": "Sakstype",
@@ -2801,6 +2801,29 @@ SharedModule.decorators = [
2801
2801
  { type: NgModule, args: [{},] }
2802
2802
  ];
2803
2803
 
2804
+ class QMSAppBar {
2805
+ constructor(elRef) {
2806
+ this.elRef = elRef;
2807
+ this.mode = "dark";
2808
+ }
2809
+ ngOnInit() {
2810
+ }
2811
+ ngAfterViewChecked() {
2812
+ this.elRef.nativeElement.classList.add(`qms-app-bar-${this.mode}`);
2813
+ }
2814
+ }
2815
+ QMSAppBar.decorators = [
2816
+ { type: Directive, args: [{
2817
+ selector: '[qms-app-bar]'
2818
+ },] }
2819
+ ];
2820
+ QMSAppBar.ctorParameters = () => [
2821
+ { type: ElementRef }
2822
+ ];
2823
+ QMSAppBar.propDecorators = {
2824
+ mode: [{ type: Input, args: ['mode',] }]
2825
+ };
2826
+
2804
2827
  const ɵ0$2 = { appearance: 'fill' }, ɵ1 = { color: 'none' };
2805
2828
  class QmsAngularModule {
2806
2829
  }
@@ -2855,7 +2878,8 @@ QmsAngularModule.decorators = [
2855
2878
  QMSChipInputChipListDirective,
2856
2879
  ScrollToSelectedDirective,
2857
2880
  QMSTooltipImageDirective,
2858
- SelectDialog
2881
+ SelectDialog,
2882
+ QMSAppBar
2859
2883
  ],
2860
2884
  imports: [
2861
2885
  CommonModule,
@@ -2912,7 +2936,8 @@ QmsAngularModule.decorators = [
2912
2936
  QMSChipInputChipListDirective,
2913
2937
  ScrollToSelectedDirective,
2914
2938
  QMSTooltipImageDirective,
2915
- SelectDialog
2939
+ SelectDialog,
2940
+ QMSAppBar
2916
2941
  ],
2917
2942
  providers: [
2918
2943
  { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: ɵ0$2 },
@@ -3791,7 +3816,7 @@ QMSBreadcrumb.decorators = [
3791
3816
  selector: 'qms-breadcrumb',
3792
3817
  template: "<div>\r\n <div class=\"breadcrumb-container\" *ngIf=\"!isMobileType\">\r\n <!-- Home -->\r\n <span\r\n qms-breadcrumb-item\r\n *ngIf=\"!isOverflow || type=='table'\"\r\n [(showTooltip)]=\"homeNode.isOverflow\"\r\n >\r\n <mat-icon\r\n *ngIf=\"homeNode.displayType === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ homeNode.itemIcon }}\r\n </mat-icon>\r\n <mat-icon\r\n *ngIf=\"homeNode.displayType === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"homeNode.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n <img\r\n *ngIf=\"homeNode.displayType === itemIconType.path\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"homeNode.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"homeNode.displayType === itemIconType.base64\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(homeNode)\"\r\n />\r\n <div\r\n [qms-tool-tip]=\"homeNode.name\"\r\n [showToolTip]=\"homeNode.isOverflow\"\r\n #breadcrumbItemText\r\n mode=\"dark\"\r\n (click)=\"onItemSelect(homeNode)\"\r\n >\r\n {{homeNode.name}}\r\n </div>\r\n <mat-icon *ngIf=\"!isOverflow && type !=='table'\">keyboard_arrow_right</mat-icon>\r\n <span\r\n *ngIf=\"itemNodes.length && type=='table'\"\r\n qms-breadcrumb-direction-icon\r\n >\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </span>\r\n\r\n <!-- Dropdown not table -->\r\n <span qms-breadcrumb-item *ngIf=\"isOverflow && type!='table'\">\r\n <button\r\n qms-btn-icon\r\n color=\"light\"\r\n class=\"breadcrumb__dropdown-btn\"\r\n [matMenuTriggerFor]=\"bodyMediumMenu\"\r\n >\r\n <mat-icon svgIcon=\"breadcrumb_dropdown\"></mat-icon>\r\n </button>\r\n <mat-menu\r\n #bodyMediumMenu=\"matMenu\"\r\n yPosition=\"below\"\r\n class=\"qms-breadcrumb-menu\"\r\n >\r\n <div (click)=\"$event.stopPropagation()\">\r\n <div\r\n qms-menu-item\r\n mat-menu-item\r\n disableRipple\r\n *ngFor=\"let item of dropdownNodes\"\r\n (keydown.enter)=\"onKeyPressed($event)\"\r\n (click)=\"onItemSelect(item)\"\r\n >\r\n <div #menuItemContent qms-expansion-header>\r\n <div qms-list-header>\r\n <div qms-line color=\"default-subtitle\">{{item.name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </span>\r\n\r\n <!-- Dropdown table -->\r\n <span qms-breadcrumb-item *ngIf=\"isOverflow && type=='table'\">\r\n <button qms-btn-icon color=\"light\" [matMenuTriggerFor]=\"bodyMediumMenu\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n <mat-menu\r\n #bodyMediumMenu=\"matMenu\"\r\n yPosition=\"below\"\r\n class=\"qms-breadcrumb-menu\"\r\n >\r\n <div (click)=\"$event.stopPropagation()\">\r\n <div\r\n qms-menu-item\r\n mat-menu-item\r\n disableRipple\r\n *ngFor=\"let item of dropdownNodes\"\r\n (keydown.enter)=\"onKeyPressed($event)\"\r\n (click)=\"onItemSelect(item)\"\r\n >\r\n <div #menuItemContent qms-expansion-header>\r\n <div qms-list-header>\r\n <div qms-line color=\"default-subtitle\">{{item.name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </span>\r\n <!-- Item list -->\r\n <span\r\n qms-breadcrumb-item\r\n *ngFor=\"let item of itemNodes;let i=index\"\r\n [isLastItem]=\"i === itemNodes.length - 1\"\r\n [(showTooltip)]=\"item.isOverflow\"\r\n >\r\n <mat-icon\r\n *ngIf=\"item.displayType === itemIconType.name && item.isShow\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ item.itemIcon }}\r\n </mat-icon>\r\n <mat-icon\r\n *ngIf=\"item.displayType === itemIconType.svg && item.isShow\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"item.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n <img\r\n *ngIf=\"item.displayType === itemIconType.path && item.isShow\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"item.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"item.displayType === itemIconType.base64 && item.isShow\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(item)\"\r\n />\r\n <div\r\n [qms-tool-tip]=\"item.name\"\r\n [showToolTip]=\"item.isOverflow\"\r\n #breadcrumbItemText\r\n mode=\"dark\"\r\n *ngIf=\"item.isShow\"\r\n (click)=\"onItemSelect(item, i == itemNodes.length - 1);\"\r\n >\r\n {{item.name}}\r\n </div>\r\n <span\r\n qms-breadcrumb-direction-icon\r\n *ngIf=\"item.isShow && i !== itemNodes.length - 1\"\r\n >\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div class=\"breadcrumb-container\" *ngIf=\"isMobileType\">\r\n <!-- Home -->\r\n <span qms-breadcrumb-item [(showTooltip)]=\"previousNode.isOverflow\">\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_backspace</mat-icon>\r\n </span>\r\n <mat-icon\r\n *ngIf=\"previousNode.displayType === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ previousNode.itemIcon }}\r\n </mat-icon>\r\n <mat-icon\r\n *ngIf=\"previousNode.displayType === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"previousNode.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n <img\r\n *ngIf=\"previousNode.displayType === itemIconType.path\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"previousNode.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"previousNode.displayType === itemIconType.base64\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(previousNode)\"\r\n />\r\n <div\r\n [qms-tool-tip]=\"previousNode.name\"\r\n [showToolTip]=\"previousNode.isOverflow\"\r\n #breadcrumbItemText\r\n mode=\"dark\"\r\n (click)=\"onItemSelect(previousNode)\"\r\n >\r\n {{previousNode.name}}\r\n </div>\r\n </span>\r\n </div>\r\n</div>\r\n",
3793
3818
  encapsulation: ViewEncapsulation.None,
3794
- styles: [".breadcrumb-container{display:flex;font-family:Open Sans;font-size:14px;font-weight:600;color:#323232}.breadcrumb-container .qms-breadcrumb-direction-icon,.breadcrumb-container .qms-breadcrumb-item{display:flex;align-items:center;padding:3px 0 2px}.breadcrumb-container .qms-breadcrumb-direction-icon .mat-icon{width:18px;height:18px;font-size:18px;margin-left:.5rem;margin-right:.5rem}.breadcrumb-container .item-icon{margin-right:2px}.breadcrumb-container .qms-breadcrumb-item{cursor:pointer}.breadcrumb-container .qms-breadcrumb-item .qms-btn-icon{width:1.5rem;height:1.5rem;line-height:2rem}.breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-text{max-width:240px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.breadcrumb-container .qms-breadcrumb-item .breadcrumb__dropdown-btn{width:2rem;height:2rem}.breadcrumb-container .qms-breadcrumb-item .breadcrumb__dropdown-btn svg{display:block}.breadcrumb-container .qms-breadcrumb-last-item{color:rgba(0,0,0,.6);font-weight:400;cursor:not-allowed}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-direction-icon .mat-icon{width:12px;height:12px;font-size:12px;margin-left:.25rem;margin-right:.25rem;color:rgba(0,0,0,.6)}.qms-breadcrumb-table .breadcrumb-container .item-icon{margin-right:1px}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-text{max-width:200px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:12px;font-weight:400;color:rgba(0,0,0,.6)}.qms-breadcrumb__multi-line .breadcrumb-container{flex-wrap:wrap}.qms-breadcrumb-menu .qms-dropdown-menu-item{border:none}"]
3819
+ styles: [".breadcrumb-container{display:flex;font-family:Open Sans;font-size:14px;font-weight:600;color:#323232}.breadcrumb-container .qms-breadcrumb-direction-icon,.breadcrumb-container .qms-breadcrumb-item{display:flex;align-items:center;padding:3px 0 2px}.breadcrumb-container .qms-breadcrumb-direction-icon .mat-icon{width:18px;height:18px;font-size:18px;margin-left:.5rem;margin-right:.5rem}.breadcrumb-container .item-icon{margin-right:2px}.breadcrumb-container .qms-breadcrumb-item{cursor:inherit}.breadcrumb-container .qms-breadcrumb-item .qms-btn-icon{width:1.5rem;height:1.5rem;line-height:2rem}.breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-text{max-width:240px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.breadcrumb-container .qms-breadcrumb-item .breadcrumb__dropdown-btn{width:2rem;height:2rem}.breadcrumb-container .qms-breadcrumb-item .breadcrumb__dropdown-btn svg{display:block}.breadcrumb-container .qms-breadcrumb-last-item{color:rgba(0,0,0,.6);font-weight:400;cursor:not-allowed}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-direction-icon .mat-icon{width:12px;height:12px;font-size:12px;margin-left:.25rem;margin-right:.25rem;color:rgba(0,0,0,.6)}.qms-breadcrumb-table .breadcrumb-container .item-icon{margin-right:1px}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-text{max-width:200px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:12px;font-weight:400;color:rgba(0,0,0,.6)}.qms-breadcrumb__multi-line .breadcrumb-container{flex-wrap:wrap}.qms-breadcrumb-menu .qms-dropdown-menu-item{border:none}"]
3795
3820
  },] }
3796
3821
  ];
3797
3822
  QMSBreadcrumb.ctorParameters = () => [
@@ -3858,7 +3883,7 @@ QMSBreadcrumbModule.decorators = [
3858
3883
  },] }
3859
3884
  ];
3860
3885
 
3861
- var DataType$1;
3886
+ var DataType$2;
3862
3887
  (function (DataType) {
3863
3888
  DataType[DataType["process"] = 2] = "process";
3864
3889
  DataType[DataType["document"] = 1] = "document";
@@ -3870,9 +3895,9 @@ var DataType$1;
3870
3895
  DataType[DataType["deviationType"] = 8] = "deviationType";
3871
3896
  DataType[DataType["checklistCategory"] = 9] = "checklistCategory";
3872
3897
  DataType[DataType["riskFolder"] = 10] = "riskFolder";
3873
- })(DataType$1 || (DataType$1 = {}));
3898
+ })(DataType$2 || (DataType$2 = {}));
3874
3899
 
3875
- var DocumentNodeType$1;
3900
+ var DocumentNodeType$2;
3876
3901
  (function (DocumentNodeType) {
3877
3902
  DocumentNodeType[DocumentNodeType["Document"] = 1] = "Document";
3878
3903
  DocumentNodeType[DocumentNodeType["LinkDocument"] = 2] = "LinkDocument";
@@ -3882,24 +3907,24 @@ var DocumentNodeType$1;
3882
3907
  DocumentNodeType[DocumentNodeType["TopFolder"] = 6] = "TopFolder";
3883
3908
  DocumentNodeType[DocumentNodeType["DepartmentFolder"] = 7] = "DepartmentFolder";
3884
3909
  DocumentNodeType[DocumentNodeType["RegionalFolder"] = 8] = "RegionalFolder";
3885
- })(DocumentNodeType$1 || (DocumentNodeType$1 = {}));
3910
+ })(DocumentNodeType$2 || (DocumentNodeType$2 = {}));
3886
3911
 
3887
- class RelatedConst {
3912
+ class RelatedConst$1 {
3888
3913
  }
3889
- RelatedConst.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
3890
- RelatedConst.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
3891
- RelatedConst.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
3914
+ RelatedConst$1.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
3915
+ RelatedConst$1.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
3916
+ RelatedConst$1.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
3892
3917
 
3893
3918
  class TreeNode$1 {
3894
3919
  }
3895
3920
 
3896
- let objData$1 = {};
3897
- let json = JSON;
3898
- function buildArrayTree$1(obj, level) {
3921
+ let objData$2 = {};
3922
+ let json$1 = JSON;
3923
+ function buildArrayTree$2(obj, level) {
3899
3924
  return Object.keys(obj).reduce((accumulator, key) => {
3900
3925
  const value = obj[key];
3901
3926
  const node = new TreeNode$1();
3902
- const keyObj = json.parse(key);
3927
+ const keyObj = json$1.parse(key);
3903
3928
  node.id = keyObj["id"];
3904
3929
  node.name = keyObj["name"];
3905
3930
  node.parentId = keyObj["parentId"];
@@ -3915,8 +3940,8 @@ function buildArrayTree$1(obj, level) {
3915
3940
  return accumulator.concat(node);
3916
3941
  }, []);
3917
3942
  }
3918
- function buildObjectTree$1(arr) {
3919
- objData$1 = {};
3943
+ function buildObjectTree$2(arr) {
3944
+ objData$2 = {};
3920
3945
  let objTreeData;
3921
3946
  const root = arr.filter((x) => {
3922
3947
  return x.parentId === '';
@@ -3926,7 +3951,7 @@ function buildObjectTree$1(arr) {
3926
3951
  });
3927
3952
  return objTreeData;
3928
3953
  }
3929
- function findParent$1(id, array) {
3954
+ function findParent$2(id, array) {
3930
3955
  const objParent = {};
3931
3956
  const parent = array.filter((x) => {
3932
3957
  return x.rootId === id;
@@ -3938,7 +3963,7 @@ function findParent$1(id, array) {
3938
3963
  parentId: item.rootId,
3939
3964
  levelType: item.levelType
3940
3965
  };
3941
- objParent[json.stringify(parentKey)] = null;
3966
+ objParent[json$1.stringify(parentKey)] = null;
3942
3967
  });
3943
3968
  // find child
3944
3969
  const child = array.filter((x) => {
@@ -3954,10 +3979,10 @@ function findParent$1(id, array) {
3954
3979
  levelType: parent[0].levelType
3955
3980
  };
3956
3981
  // add node to tree
3957
- objData$1[json.stringify(key)] = objParent;
3958
- return objData$1;
3982
+ objData$2[json$1.stringify(key)] = objParent;
3983
+ return objData$2;
3959
3984
  }
3960
- function findChild$1(id, objParent, array) {
3985
+ function findChild$2(id, objParent, array) {
3961
3986
  const subNode = array.filter((x) => {
3962
3987
  return x.parentId === id;
3963
3988
  });
@@ -3969,7 +3994,7 @@ function findChild$1(id, objParent, array) {
3969
3994
  parentId: item.rootId,
3970
3995
  levelType: item.levelType
3971
3996
  };
3972
- processNode[json.stringify(nodeKey)] = null;
3997
+ processNode[json$1.stringify(nodeKey)] = null;
3973
3998
  this.findChild(item.rootId, processNode, array);
3974
3999
  let key = {
3975
4000
  id: item.rootId,
@@ -3977,14 +4002,14 @@ function findChild$1(id, objParent, array) {
3977
4002
  parentId: id,
3978
4003
  levelType: item.levelType
3979
4004
  };
3980
- objParent[json.stringify(key)] = Object.assign(Object.assign({}, objParent[json.stringify(key)]), processNode);
4005
+ objParent[json$1.stringify(key)] = Object.assign(Object.assign({}, objParent[json$1.stringify(key)]), processNode);
3981
4006
  });
3982
4007
  }
3983
- const TreeFunctions = {
3984
- buildArrayTree: buildArrayTree$1,
3985
- buildObjectTree: buildObjectTree$1,
3986
- findParent: findParent$1,
3987
- findChild: findChild$1
4008
+ const TreeFunctions$1 = {
4009
+ buildArrayTree: buildArrayTree$2,
4010
+ buildObjectTree: buildObjectTree$2,
4011
+ findParent: findParent$2,
4012
+ findChild: findChild$2
3988
4013
  };
3989
4014
 
3990
4015
  class TreeFlatNode {
@@ -4013,8 +4038,6 @@ class TreeComponent {
4013
4038
  this.arrIndex = [];
4014
4039
  this.checkedNodeList = [];
4015
4040
  this.useExpandFeature = true;
4016
- this.allowSelectFolder = false;
4017
- this.areaOfCurrentProcess = '';
4018
4041
  this.showCheckBox = false;
4019
4042
  this.allowMultipleCheck = true;
4020
4043
  this.singleSelectedNode = false;
@@ -4038,7 +4061,7 @@ class TreeComponent {
4038
4061
  this.isChecked = false;
4039
4062
  this.idCheckIcon = '';
4040
4063
  this.listChildNode = [];
4041
- this.dataType = DataType$1;
4064
+ this.dataType = DataType$2;
4042
4065
  this.transformer = (node, level) => {
4043
4066
  let checkHasChild = true;
4044
4067
  if (!node.children) {
@@ -4052,7 +4075,7 @@ class TreeComponent {
4052
4075
  node.children.length &&
4053
4076
  node.children.length === 1 &&
4054
4077
  !node.children[0].name &&
4055
- node.id.toString() === this.areaOfCurrentProcess) {
4078
+ node.id.toString() === '') {
4056
4079
  checkHasChild = false;
4057
4080
  }
4058
4081
  if (!(this.listParentObj[node.id] === 1)) {
@@ -4099,10 +4122,11 @@ class TreeComponent {
4099
4122
  (changes.selectedData.currentValue.length > 0 ||
4100
4123
  JSON.stringify(changes.selectedData.currentValue) !==
4101
4124
  JSON.stringify(changes.selectedData.previousValue))) {
4102
- if (changes.selectedData.currentValue) {
4125
+ if (changes.selectedData.currentValue && changes.selectedData.currentValue[0] !== null) {
4103
4126
  this.checkSelected(changes.selectedData.currentValue);
4104
4127
  }
4105
4128
  else {
4129
+ this.idCheckIcon = '';
4106
4130
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4107
4131
  this.checklistSelection.deselect(this.treeControl.dataNodes[i]);
4108
4132
  }
@@ -4120,7 +4144,7 @@ class TreeComponent {
4120
4144
  // this.initTreeData();
4121
4145
  }
4122
4146
  initTreeData() {
4123
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
4147
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
4124
4148
  this.treeData.forEach(item => {
4125
4149
  if (!!item.parentId && item.parentId.length > 0) {
4126
4150
  this.listParentObj[item.parentId] = 1;
@@ -4130,30 +4154,28 @@ class TreeComponent {
4130
4154
  }
4131
4155
  });
4132
4156
  this.filterData = this.treeData;
4133
- this.treeObject = TreeFunctions.buildObjectTree(this.filterData);
4134
- this.dataSource.data = TreeFunctions.buildArrayTree(this.treeObject || {}, 0).map(element => {
4157
+ this.treeObject = TreeFunctions$1.buildObjectTree(this.filterData);
4158
+ this.dataSource.data = TreeFunctions$1.buildArrayTree(this.treeObject || {}, 0).map(element => {
4135
4159
  const item = this.sortDataTree(element);
4136
4160
  element = null;
4137
4161
  element = Object.assign({}, item);
4138
4162
  return element;
4139
4163
  });
4140
4164
  this.useExpandFeature = !((_a = this.treeConfig) === null || _a === void 0 ? void 0 : _a.showCheckBox);
4141
- this.allowSelectFolder = (_b = this.treeConfig) === null || _b === void 0 ? void 0 : _b.allowSelectFolder;
4142
- this.areaOfCurrentProcess = (_c = this.treeConfig) === null || _c === void 0 ? void 0 : _c.areaOfCurrentProcess;
4143
- this.showCheckBox = (_d = this.treeConfig) === null || _d === void 0 ? void 0 : _d.showCheckBox;
4144
- this.onlyCheckBoxForChild = (_e = this.treeConfig) === null || _e === void 0 ? void 0 : _e.onlyCheckBoxForChild;
4145
- this.moduleId = (_f = this.treeConfig) === null || _f === void 0 ? void 0 : _f.moduleId;
4146
- this.openIcon = (_g = this.treeConfig) === null || _g === void 0 ? void 0 : _g.openIcon;
4147
- this.openIconColor = ((_h = this.treeConfig) === null || _h === void 0 ? void 0 : _h.openIconColor) ? (_j = this.treeConfig) === null || _j === void 0 ? void 0 : _j.openIconColor : this.openIconColor;
4148
- this.closeIcon = (_k = this.treeConfig) === null || _k === void 0 ? void 0 : _k.closeIcon;
4149
- this.closeIconColor = ((_l = this.treeConfig) === null || _l === void 0 ? void 0 : _l.closeIconColor) ? (_m = this.treeConfig) === null || _m === void 0 ? void 0 : _m.closeIconColor : this.closeIconColor;
4150
- this.itemIcon = (_o = this.treeConfig) === null || _o === void 0 ? void 0 : _o.itemIcon;
4151
- this.itemIconSvg = (_p = this.treeConfig) === null || _p === void 0 ? void 0 : _p.itemIconSvg;
4152
- this.itemIconPath = (_q = this.treeConfig) === null || _q === void 0 ? void 0 : _q.itemIconPath;
4153
- this.itemIconBase64 = this.domSanitizer.bypassSecurityTrustResourceUrl((_r = this.treeConfig) === null || _r === void 0 ? void 0 : _r.itemIconBase64);
4154
- this.allowMultipleCheck = (_s = this.treeConfig) === null || _s === void 0 ? void 0 : _s.allowMultipleCheck;
4155
- this.singleSelectedNode = (_t = this.treeConfig) === null || _t === void 0 ? void 0 : _t.singleSelectedNode;
4156
- this.onlyFolder = (_u = this.treeConfig) === null || _u === void 0 ? void 0 : _u.onlyFolder;
4165
+ this.showCheckBox = (_b = this.treeConfig) === null || _b === void 0 ? void 0 : _b.showCheckBox;
4166
+ this.onlyCheckBoxForChild = (_c = this.treeConfig) === null || _c === void 0 ? void 0 : _c.onlyCheckBoxForChild;
4167
+ this.moduleId = (_d = this.treeConfig) === null || _d === void 0 ? void 0 : _d.moduleId;
4168
+ this.openIcon = (_e = this.treeConfig) === null || _e === void 0 ? void 0 : _e.openIcon;
4169
+ this.openIconColor = ((_f = this.treeConfig) === null || _f === void 0 ? void 0 : _f.openIconColor) ? (_g = this.treeConfig) === null || _g === void 0 ? void 0 : _g.openIconColor : this.openIconColor;
4170
+ this.closeIcon = (_h = this.treeConfig) === null || _h === void 0 ? void 0 : _h.closeIcon;
4171
+ this.closeIconColor = ((_j = this.treeConfig) === null || _j === void 0 ? void 0 : _j.closeIconColor) ? (_k = this.treeConfig) === null || _k === void 0 ? void 0 : _k.closeIconColor : this.closeIconColor;
4172
+ this.itemIcon = (_l = this.treeConfig) === null || _l === void 0 ? void 0 : _l.itemIcon;
4173
+ this.itemIconSvg = (_m = this.treeConfig) === null || _m === void 0 ? void 0 : _m.itemIconSvg;
4174
+ this.itemIconPath = (_o = this.treeConfig) === null || _o === void 0 ? void 0 : _o.itemIconPath;
4175
+ this.itemIconBase64 = this.domSanitizer.bypassSecurityTrustResourceUrl((_p = this.treeConfig) === null || _p === void 0 ? void 0 : _p.itemIconBase64);
4176
+ this.allowMultipleCheck = (_q = this.treeConfig) === null || _q === void 0 ? void 0 : _q.allowMultipleCheck;
4177
+ this.singleSelectedNode = (_r = this.treeConfig) === null || _r === void 0 ? void 0 : _r.singleSelectedNode;
4178
+ this.onlyFolder = (_s = this.treeConfig) === null || _s === void 0 ? void 0 : _s.onlyFolder;
4157
4179
  this.checklistSelection = new SelectionModel(this.allowMultipleCheck); /* true: multiple */
4158
4180
  this.displayType = this.getItemIconType(this.treeConfig);
4159
4181
  // Expand child node tree
@@ -4219,7 +4241,7 @@ class TreeComponent {
4219
4241
  return;
4220
4242
  }
4221
4243
  let itemMarkChecked = this.expandToChildNode[this.expandToChildNode.length - 1].toUpperCase();
4222
- this.idCheckIcon = itemMarkChecked;
4244
+ let parentItem = '';
4223
4245
  // get all children nodes on same level
4224
4246
  let listChildNodeSameLevel = this.findChildNode(itemMarkChecked, this.dataSource.data);
4225
4247
  // get all children in all level
@@ -4228,6 +4250,7 @@ class TreeComponent {
4228
4250
  this.getChildNodeSelectOne.emit(this.listChildNode);
4229
4251
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4230
4252
  if (itemMarkChecked === this.treeControl.dataNodes[i].id) {
4253
+ parentItem = this.treeControl.dataNodes[i].parentId;
4231
4254
  this.selectNodeEvent.emit(this.treeControl.dataNodes[i]);
4232
4255
  }
4233
4256
  this.expandToChildNode.forEach(el => {
@@ -4236,6 +4259,7 @@ class TreeComponent {
4236
4259
  }
4237
4260
  });
4238
4261
  }
4262
+ this.idCheckIcon = this.idToCheckSelectOne(itemMarkChecked, parentItem);
4239
4263
  }
4240
4264
  }
4241
4265
  checkDisabledList() {
@@ -4254,7 +4278,7 @@ class TreeComponent {
4254
4278
  //Selected node with select one
4255
4279
  if (this.disabledList.length && this.treeConfig.selectOne) {
4256
4280
  let itemMarkChecked = this.disabledList[this.disabledList.length - 1].toUpperCase();
4257
- this.idCheckIcon = itemMarkChecked;
4281
+ let parentItem = '';
4258
4282
  // get all children nodes on same level
4259
4283
  let listChildNodeSameLevel = this.findChildNode(itemMarkChecked, this.dataSource.data);
4260
4284
  // get all children in all level
@@ -4263,6 +4287,7 @@ class TreeComponent {
4263
4287
  this.getChildNodeSelectOne.emit(this.listChildNode);
4264
4288
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4265
4289
  if (itemMarkChecked === this.treeControl.dataNodes[i].id) {
4290
+ parentItem = this.treeControl.dataNodes[i].parentId;
4266
4291
  this.selectNodeEvent.emit(this.treeControl.dataNodes[i]);
4267
4292
  }
4268
4293
  this.disabledList.forEach(el => {
@@ -4278,6 +4303,7 @@ class TreeComponent {
4278
4303
  }
4279
4304
  });
4280
4305
  }
4306
+ this.idCheckIcon = this.idToCheckSelectOne(itemMarkChecked, parentItem);
4281
4307
  }
4282
4308
  else {
4283
4309
  this.idCheckIcon = '';
@@ -4485,23 +4511,23 @@ class TreeComponent {
4485
4511
  this.checkBoxEvent.emit(this.checklistSelection.selected);
4486
4512
  }
4487
4513
  selectNode(node) {
4488
- if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {
4489
- window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');
4514
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
4515
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
4490
4516
  }
4491
4517
  if (this.treeConfig.selectOne) {
4492
4518
  node.itemType = this.checkDataTypeSelectNode(node);
4493
- this.idCheckIcon = node.id;
4519
+ this.idCheckIcon = this.idToCheckSelectOne(node.id, node.parentId);
4494
4520
  this.selectNodeEvent.emit(node);
4495
4521
  }
4496
4522
  }
4497
4523
  checkDataTypeSelectNode(node) {
4498
4524
  let itemType = -1;
4499
4525
  switch (this.moduleId) {
4500
- case DataType$1.process:
4501
- itemType = node.expandable ? DataType$1.area : DataType$1.process;
4526
+ case DataType$2.process:
4527
+ itemType = node.expandable ? DataType$2.area : DataType$2.process;
4502
4528
  break;
4503
- case DataType$1.document:
4504
- itemType = node.expandable ? DataType$1.folder : DataType$1.document;
4529
+ case DataType$2.document:
4530
+ itemType = node.expandable ? DataType$2.folder : DataType$2.document;
4505
4531
  break;
4506
4532
  default:
4507
4533
  itemType = this.moduleId;
@@ -4519,12 +4545,13 @@ class TreeComponent {
4519
4545
  // node.parentId === this.disabledList[this.disabledList.length - 1].toUpperCase())) {
4520
4546
  // return;
4521
4547
  // }
4522
- this.idCheckIcon = node.id;
4548
+ this.idCheckIcon = this.idToCheckSelectOne(node.id, node.parentId);
4523
4549
  node.itemType = this.checkDataTypeSelectNode(node);
4524
4550
  this.selectNodeEvent.emit(node);
4551
+ return;
4525
4552
  }
4526
- if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {
4527
- window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');
4553
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
4554
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
4528
4555
  }
4529
4556
  // set useExpandFeature = true to improve performance of tree loading
4530
4557
  if (!isExpandNode || !this.useExpandFeature) {
@@ -4659,17 +4686,17 @@ class TreeComponent {
4659
4686
  return this.treeControl.isExpanded(node) ? this.openIcon : this.closeIcon;
4660
4687
  }
4661
4688
  switch (this.moduleId) {
4662
- case DataType$1.document: {
4689
+ case DataType$2.document: {
4663
4690
  const nodeData = this.treeData.filter(x => { return x.rootId === node.id; });
4664
4691
  if (nodeData.length > 0) {
4665
4692
  switch (nodeData[0].levelType) {
4666
- case DocumentNodeType$1.DepartmentFolder:
4693
+ case DocumentNodeType$2.DepartmentFolder:
4667
4694
  return this.treeControl.isExpanded(node) ? 'department_folder_outlined' : 'department_folder';
4668
- case DocumentNodeType$1.RegionalFolder:
4695
+ case DocumentNodeType$2.RegionalFolder:
4669
4696
  return this.treeControl.isExpanded(node) ? 'regional_folder_outlined' : 'regional_folder';
4670
- case DocumentNodeType$1.TopFolder:
4697
+ case DocumentNodeType$2.TopFolder:
4671
4698
  return this.treeControl.isExpanded(node) ? 'enterprise_folder_outlined' : 'enterprise_folder';
4672
- case DocumentNodeType$1.Folder:
4699
+ case DocumentNodeType$2.Folder:
4673
4700
  return this.treeControl.isExpanded(node) ? 'local_folder_outlined' : 'local_folder';
4674
4701
  default:
4675
4702
  return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';
@@ -4677,7 +4704,7 @@ class TreeComponent {
4677
4704
  }
4678
4705
  return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
4679
4706
  }
4680
- case DataType$1.process:
4707
+ case DataType$2.process:
4681
4708
  return this.treeControl.isExpanded(node) ? 'process_area_outlined' : 'process_area';
4682
4709
  default:
4683
4710
  return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
@@ -4685,26 +4712,26 @@ class TreeComponent {
4685
4712
  }
4686
4713
  getItemIcon(node) {
4687
4714
  switch (this.moduleId) {
4688
- case DataType$1.document:
4715
+ case DataType$2.document:
4689
4716
  switch (node.levelType) {
4690
- case DocumentNodeType$1.DepartmentFolder:
4717
+ case DocumentNodeType$2.DepartmentFolder:
4691
4718
  return 'document_department';
4692
- case DocumentNodeType$1.RegionalFolder:
4719
+ case DocumentNodeType$2.RegionalFolder:
4693
4720
  return 'document_regional';
4694
- case DocumentNodeType$1.TopFolder:
4721
+ case DocumentNodeType$2.TopFolder:
4695
4722
  return 'document_enterprise';
4696
- case DocumentNodeType$1.Folder:
4723
+ case DocumentNodeType$2.Folder:
4697
4724
  return 'document_local';
4698
4725
  default:
4699
4726
  return 'document';
4700
4727
  }
4701
- case DataType$1.process:
4728
+ case DataType$2.process:
4702
4729
  return 'process';
4703
- case DataType$1.checklist:
4730
+ case DataType$2.checklist:
4704
4731
  return 'checklist';
4705
- case DataType$1.deviation:
4732
+ case DataType$2.deviation:
4706
4733
  return 'deviation';
4707
- case DataType$1.risk:
4734
+ case DataType$2.risk:
4708
4735
  return 'risk';
4709
4736
  default:
4710
4737
  return 'document';
@@ -4726,13 +4753,16 @@ class TreeComponent {
4726
4753
  expandNode(node) {
4727
4754
  this.treeControl.expand(node);
4728
4755
  }
4756
+ idToCheckSelectOne(id, parentId) {
4757
+ return `${id}-${parentId}`;
4758
+ }
4729
4759
  }
4730
4760
  TreeComponent.decorators = [
4731
4761
  { type: Component, args: [{
4732
4762
  selector: 'qms-tree',
4733
- template: "<mat-tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"tree__container\"\r\n>\r\n <mat-tree-node\r\n class=\"tree-branch\"\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n >\r\n <!-- form thu 1 - child -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n >\r\n </mat-checkbox>\r\n\r\n <!-- form thu 2 -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"ml-10 checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <div\r\n class=\"expand-node\"\r\n *ngIf=\"node.name && !onlyFolder\"\r\n [class.bgSelected]=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n (click)=\"selectNode(node)\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <div class=\"expand-node__text\">\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.name && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n >\r\n {{ itemIcon }}\r\n </mat-icon>\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.svg && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"itemIconSvg\"\r\n >\r\n </mat-icon>\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.path && !onlyCheckBoxForChild\"\r\n class=\"mat-icon\"\r\n [src]=\"itemIconPath\"\r\n />\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.base64 && !onlyCheckBoxForChild\"\r\n class=\"mat-icon image-base64\"\r\n [src]=\"getImagePath()\"\r\n />\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.none && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getItemIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.name }}</span>\r\n </div>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </div>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding>\r\n <!-- form thu 1 - parent -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild\"\r\n [checked]=\"descendantsAllSelected(node)\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <button\r\n class=\"button-boder\"\r\n mat-icon-button\r\n matTreeNodeToggle\r\n [disableRipple]=\"!node.hasChild\"\r\n [attr.aria-label]=\"'toggle ' + node.filename\"\r\n *ngIf=\"node.name\"\r\n >\r\n <mat-icon\r\n *ngIf=\"openIcon && closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : closeIconColor\r\n }\"\r\n >{{ getNodeIcon(node) }}</mat-icon\r\n >\r\n <mat-icon\r\n *ngIf=\"!openIcon || !closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngClass]=\"{\r\n 'open-icon': treeControl.isExpanded(node),\r\n 'not-department-icon': moduleId !== dataType.document\r\n }\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n >\r\n </mat-icon>\r\n </button>\r\n <span\r\n *ngIf=\"expandOnTitleClick\"\r\n matTreeNodeToggle\r\n class=\"text-node-parent\"\r\n style=\"cursor: pointer\"\r\n (click)=\"onExpandNode(node)\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : '#000000'\r\n }\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n <span\r\n *ngIf=\"!expandOnTitleClick\"\r\n class=\"text-node-parent\"\r\n (click)=\"selectFolderNode(node)\"\r\n style=\"cursor: pointer\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n </mat-tree-node>\r\n</mat-tree>\r\n",
4763
+ template: "<mat-tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"tree__container\"\r\n>\r\n <mat-tree-node\r\n class=\"tree-branch\"\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n >\r\n <!-- form thu 1 - child -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n >\r\n </mat-checkbox>\r\n\r\n <!-- form thu 2 -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"ml-10 checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <div\r\n class=\"expand-node\"\r\n *ngIf=\"node.name && !onlyFolder\"\r\n [class.bgSelected]=\"\r\n treeConfig.selectOne &&\r\n idCheckIcon == idToCheckSelectOne(node.id, node.parentId)\r\n \"\r\n (click)=\"selectNode(node)\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <div class=\"expand-node__text\">\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.name && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n >\r\n {{ itemIcon }}\r\n </mat-icon>\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.svg && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"itemIconSvg\"\r\n >\r\n </mat-icon>\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.path && !onlyCheckBoxForChild\"\r\n class=\"mat-icon\"\r\n [src]=\"itemIconPath\"\r\n />\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.base64 && !onlyCheckBoxForChild\"\r\n class=\"mat-icon image-base64\"\r\n [src]=\"getImagePath()\"\r\n />\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.none && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getItemIcon(node)\"\r\n ></mat-icon>\r\n <span\r\n class=\"text-node\"\r\n [class.select-one-checked]=\"\r\n treeConfig.selectOne &&\r\n idCheckIcon == idToCheckSelectOne(node.id, node.parentId)\r\n \"\r\n >{{ node.name }}</span\r\n >\r\n </div>\r\n <mat-icon\r\n class=\"select-one-checked\"\r\n *ngIf=\"\r\n treeConfig.selectOne &&\r\n idCheckIcon == idToCheckSelectOne(node.id, node.parentId)\r\n \"\r\n >done</mat-icon\r\n >\r\n </div>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding>\r\n <!-- form thu 1 - parent -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild\"\r\n [checked]=\"descendantsAllSelected(node)\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <button\r\n class=\"button-boder\"\r\n mat-icon-button\r\n matTreeNodeToggle\r\n [disableRipple]=\"!node.hasChild\"\r\n [attr.aria-label]=\"'toggle ' + node.filename\"\r\n *ngIf=\"node.name\"\r\n >\r\n <mat-icon\r\n *ngIf=\"openIcon && closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : closeIconColor\r\n }\"\r\n >{{ getNodeIcon(node) }}</mat-icon\r\n >\r\n <mat-icon\r\n *ngIf=\"!openIcon || !closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngClass]=\"{\r\n 'open-icon': treeControl.isExpanded(node),\r\n 'not-department-icon': moduleId !== dataType.document\r\n }\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n >\r\n </mat-icon>\r\n </button>\r\n <span\r\n *ngIf=\"expandOnTitleClick\"\r\n matTreeNodeToggle\r\n class=\"text-node-parent\"\r\n style=\"cursor: pointer\"\r\n (click)=\"onExpandNode(node)\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : '#000000'\r\n }\"\r\n >\r\n <span>{{ node.name }}</span>\r\n </span>\r\n <span\r\n *ngIf=\"!expandOnTitleClick\"\r\n class=\"text-node-parent\"\r\n (click)=\"selectFolderNode(node)\"\r\n style=\"cursor: pointer\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <span\r\n [class.select-one-checked]=\"\r\n treeConfig.selectOne &&\r\n idCheckIcon == idToCheckSelectOne(node.id, node.parentId)\r\n \"\r\n >{{ node.name }}</span\r\n >\r\n <mat-icon\r\n class=\"select-one-checked\"\r\n *ngIf=\"\r\n treeConfig.selectOne &&\r\n idCheckIcon == idToCheckSelectOne(node.id, node.parentId)\r\n \"\r\n >done</mat-icon\r\n >\r\n </span>\r\n </mat-tree-node>\r\n</mat-tree>\r\n",
4734
4764
  encapsulation: ViewEncapsulation.None,
4735
- styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.tree__container{font-family:Open Sans;font-style:normal;font-weight:400;font-size:.875rem;line-height:19px;color:#323232}.tree__container .mat-tree-node{color:#000;min-height:0}.tree__container .mat-tree-node .mat-checkbox.qms-group-options{padding:0}.tree__container .mat-tree-node .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:11px}.tree__container .button{margin-left:6px}.tree__container .button:focus,.tree__container .button:hover{background-color:#009ef2;border-radius:2px;width:auto}.tree__container .button-boder:focus,.tree__container .button:focus{outline:0}.tree__container .button-folder-boder:focus{outline:0}.tree__container .button-folder-boder:focus,.tree__container .button-folder-boder:hover{background-color:#009ef2;border-radius:2px;width:auto}.tree__container .expand-node{margin-left:8px;min-height:32px;justify-content:space-between;width:100%}.tree__container .expand-node,.tree__container .expand-node .expand-node__text{display:flex;align-items:center}.tree__container .expand-node .mat-icon{color:rgba(0,0,0,.6);margin-right:17px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.tree__container .expand-node .mat-icon svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.tree__container .expand-node.bgSelected .icon-check{color:#1954a9}.tree__container .text-node-parent{width:100%;display:flex;align-items:center;justify-content:space-between;margin-left:10px;cursor:pointer}.tree__container .text-node-parent.active-item{color:#1954a9!important}.tree__container .text-node-parent.bgSelected .icon-check{color:#1954a9}.tree__container .mr-11{margin-right:11px}.tree__container .ml-10{margin-left:10px}.tree__container .tree-branch:hover{background-color:#e5eefb}.tree__container .image-base64{width:20px;height:20px}.tree__container .mat-checkbox.qms-group-options.mat-checkbox-checked{background:transparent!important}::ng-deep .mat-tree .mat-checkbox.qms-group-options{padding:0}::ng-deep .mat-tree .mat-checkbox.qms-group-options.mat-checkbox-checked{background-color:transparent}::ng-deep .mat-tree .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:0}svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.open-icon.not-department-icon svg path,.open-icon svg path:first-child{fill:#1954a9}"]
4765
+ styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.tree__container{font-family:Open Sans;font-style:normal;font-weight:400;font-size:.875rem;line-height:19px;color:#323232}.tree__container .mat-tree-node{color:#000;min-height:0}.tree__container .mat-tree-node .mat-checkbox.qms-group-options{padding:0}.tree__container .mat-tree-node .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:11px}.tree__container .button{margin-left:6px}.tree__container .button:focus,.tree__container .button:hover{background-color:#009ef2;border-radius:2px;width:auto}.tree__container .button-boder:focus,.tree__container .button:focus{outline:0}.tree__container .button-folder-boder:focus{outline:0}.tree__container .button-folder-boder:focus,.tree__container .button-folder-boder:hover{background-color:#009ef2;border-radius:2px;width:auto}.tree__container .expand-node{margin-left:8px;min-height:32px;justify-content:space-between;width:100%}.tree__container .expand-node,.tree__container .expand-node .expand-node__text{display:flex;align-items:center}.tree__container .expand-node .mat-icon{color:rgba(0,0,0,.6);margin-right:17px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.tree__container .expand-node .mat-icon svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.tree__container .expand-node.bgSelected .select-one-checked{color:#1954a9}.tree__container .text-node-parent{width:100%;display:flex;align-items:center;justify-content:space-between;margin-left:10px;cursor:pointer}.tree__container .text-node-parent.active-item{color:#1954a9!important}.tree__container .text-node-parent .select-one-checked{color:#1954a9}.tree__container .mr-11{margin-right:11px}.tree__container .ml-10{margin-left:10px}.tree__container .tree-branch:hover{background-color:#e5eefb}.tree__container .image-base64{width:20px;height:20px}.tree__container .mat-checkbox.qms-group-options.mat-checkbox-checked{background:transparent!important}::ng-deep .mat-tree .mat-checkbox.qms-group-options{padding:0}::ng-deep .mat-tree .mat-checkbox.qms-group-options.mat-checkbox-checked{background-color:transparent}::ng-deep .mat-tree .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:0}svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.open-icon.not-department-icon svg path,.open-icon svg path:first-child{fill:#1954a9}"]
4736
4766
  },] }
4737
4767
  ];
4738
4768
  TreeComponent.ctorParameters = () => [
@@ -4794,7 +4824,7 @@ QMSTreeModule.decorators = [
4794
4824
  class RelatedContentComponent {
4795
4825
  constructor() {
4796
4826
  this.contents = [];
4797
- this.dataType = DataType$1;
4827
+ this.dataType = DataType$2;
4798
4828
  this.imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';
4799
4829
  }
4800
4830
  ngOnInit() {
@@ -4828,7 +4858,7 @@ class RelatedListComponent {
4828
4858
  this.iconRegistry = iconRegistry;
4829
4859
  this.appIconService = appIconService;
4830
4860
  this.relatedData = [];
4831
- this.dataType = DataType$1;
4861
+ this.dataType = DataType$2;
4832
4862
  // imageProcess = '../qms-angular/src/assets/images/union.svg';
4833
4863
  this.imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';
4834
4864
  this.updateData = new EventEmitter();
@@ -4882,43 +4912,43 @@ class RelatedListComponent {
4882
4912
  }
4883
4913
  getNodeIcon(item) {
4884
4914
  switch (item.itemType) {
4885
- case DataType$1.folder: {
4915
+ case DataType$2.folder: {
4886
4916
  switch (item.levelType) {
4887
- case DocumentNodeType$1.DepartmentFolder:
4917
+ case DocumentNodeType$2.DepartmentFolder:
4888
4918
  return 'department_folder_outlined';
4889
- case DocumentNodeType$1.RegionalFolder:
4919
+ case DocumentNodeType$2.RegionalFolder:
4890
4920
  return 'regional_folder_outlined';
4891
- case DocumentNodeType$1.TopFolder:
4921
+ case DocumentNodeType$2.TopFolder:
4892
4922
  return 'enterprise_folder_outlined';
4893
- case DocumentNodeType$1.Folder:
4923
+ case DocumentNodeType$2.Folder:
4894
4924
  return 'local_folder_outlined';
4895
4925
  default:
4896
4926
  return 'folder_outlined';
4897
4927
  }
4898
4928
  }
4899
- case DataType$1.document: {
4929
+ case DataType$2.document: {
4900
4930
  switch (item.levelType) {
4901
- case DocumentNodeType$1.DepartmentFolder:
4931
+ case DocumentNodeType$2.DepartmentFolder:
4902
4932
  return 'document_department';
4903
- case DocumentNodeType$1.RegionalFolder:
4933
+ case DocumentNodeType$2.RegionalFolder:
4904
4934
  return 'document_regional';
4905
- case DocumentNodeType$1.TopFolder:
4935
+ case DocumentNodeType$2.TopFolder:
4906
4936
  return 'document_enterprise';
4907
- case DocumentNodeType$1.Folder:
4937
+ case DocumentNodeType$2.Folder:
4908
4938
  return 'document_local';
4909
4939
  default:
4910
4940
  return 'document';
4911
4941
  }
4912
4942
  }
4913
- case DataType$1.area:
4943
+ case DataType$2.area:
4914
4944
  return 'process_area_outlined';
4915
- case DataType$1.process:
4945
+ case DataType$2.process:
4916
4946
  return 'process';
4917
- case DataType$1.deviation:
4947
+ case DataType$2.deviation:
4918
4948
  return 'deviation';
4919
- case DataType$1.checklist:
4949
+ case DataType$2.checklist:
4920
4950
  return 'checklist';
4921
- case DataType$1.risk:
4951
+ case DataType$2.risk:
4922
4952
  return 'risk';
4923
4953
  default:
4924
4954
  return 'folder_outlined';
@@ -4952,13 +4982,13 @@ RelatedListComponent.propDecorators = {
4952
4982
  class TreeModel {
4953
4983
  }
4954
4984
 
4955
- var ModuleType$1;
4985
+ var ModuleType$2;
4956
4986
  (function (ModuleType) {
4957
4987
  ModuleType[ModuleType["documentProcess"] = 1] = "documentProcess";
4958
4988
  ModuleType[ModuleType["deviation"] = 2] = "deviation";
4959
4989
  ModuleType[ModuleType["checklist"] = 3] = "checklist";
4960
4990
  ModuleType[ModuleType["risk"] = 4] = "risk";
4961
- })(ModuleType$1 || (ModuleType$1 = {}));
4991
+ })(ModuleType$2 || (ModuleType$2 = {}));
4962
4992
 
4963
4993
  class PopupData {
4964
4994
  constructor() {
@@ -4977,6 +5007,8 @@ class RelatedItem {
4977
5007
  }
4978
5008
  class IRelated {
4979
5009
  }
5010
+ class RelatedOption extends IRelated {
5011
+ }
4980
5012
  class RelatedData {
4981
5013
  constructor() {
4982
5014
  this.title = '';
@@ -5034,8 +5066,8 @@ class RelatedPopupComponent {
5034
5066
  this.documentCheckedList = [];
5035
5067
  this.singleProcessList = [];
5036
5068
  this.singleDocumentList = [];
5037
- this.module = ModuleType$1;
5038
- this.dataType = DataType$1;
5069
+ this.module = ModuleType$2;
5070
+ this.dataType = DataType$2;
5039
5071
  this.itemType = 0;
5040
5072
  this.selectedRiskData = [];
5041
5073
  this.disabledList = [];
@@ -5083,8 +5115,8 @@ class RelatedPopupComponent {
5083
5115
  this.globalService.setSplitviewValue([]);
5084
5116
  }
5085
5117
  onMessage(event) {
5086
- if (event.data === RelatedConst.HIDE_SEARCH_RESULT) {
5087
- this.autoComplete.closePanel();
5118
+ if (event.data === RelatedConst$1.HIDE_SEARCH_RESULT) {
5119
+ // this.autoComplete.closePanel();
5088
5120
  }
5089
5121
  }
5090
5122
  ngOnInit() {
@@ -5095,7 +5127,7 @@ class RelatedPopupComponent {
5095
5127
  });
5096
5128
  this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
5097
5129
  if (res && res.length) {
5098
- this.filteredOptions = res;
5130
+ this.filteredOptions = this.toRelatedOptions(res);
5099
5131
  }
5100
5132
  });
5101
5133
  this.globalService.splitViewValue.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
@@ -5104,7 +5136,7 @@ class RelatedPopupComponent {
5104
5136
  let listNodeProcess = [];
5105
5137
  let listNodeDocs = [];
5106
5138
  res.forEach(item => {
5107
- if (item.itemType === DataType$1.process) {
5139
+ if (item.itemType === DataType$2.process) {
5108
5140
  let newNodeProcess = new TreeModel();
5109
5141
  newNodeProcess.childId = item.id;
5110
5142
  newNodeProcess.childName = item.itemName;
@@ -5140,13 +5172,13 @@ class RelatedPopupComponent {
5140
5172
  let selectProcess = [];
5141
5173
  let selectDocument = [];
5142
5174
  this.checkedNodeList.forEach(x => {
5143
- if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5175
+ if (x.itemType === DataType$2.area || x.itemType === DataType$2.process) {
5144
5176
  this.treeData1.forEach(item => {
5145
5177
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5146
5178
  selectProcess.push({
5147
5179
  disabled: false,
5148
- expandable: x.itemType == DataType$1.area ? true : false,
5149
- hasChild: x.itemType == DataType$1.area ? true : false,
5180
+ expandable: x.itemType == DataType$2.area ? true : false,
5181
+ hasChild: x.itemType == DataType$2.area ? true : false,
5150
5182
  id: x.id,
5151
5183
  level: 0,
5152
5184
  levelType: undefined,
@@ -5161,8 +5193,8 @@ class RelatedPopupComponent {
5161
5193
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5162
5194
  selectDocument.push({
5163
5195
  disabled: false,
5164
- expandable: x.itemType == DataType$1.folder ? true : false,
5165
- hasChild: x.itemType == DataType$1.folder ? true : false,
5196
+ expandable: x.itemType == DataType$2.folder ? true : false,
5197
+ hasChild: x.itemType == DataType$2.folder ? true : false,
5166
5198
  id: x.id,
5167
5199
  level: 0,
5168
5200
  levelType: undefined,
@@ -5187,26 +5219,27 @@ class RelatedPopupComponent {
5187
5219
  }
5188
5220
  ngAfterViewChecked() {
5189
5221
  this.cdRef.detectChanges();
5190
- // if (this.filteredOptions && this.filteredOptions.length) {
5191
- // this.autoComplete.openPanel();
5192
- // this.setResultHeight();
5193
- // } else if (this.autoComplete) {
5222
+ if (this.filteredOptions && this.filteredOptions.length) {
5223
+ // this.autoComplete.openPanel();
5224
+ this.setResultHeight();
5225
+ }
5226
+ // else if (this.autoComplete) {
5194
5227
  // this.autoComplete.closePanel();
5195
5228
  // }
5196
5229
  }
5197
5230
  getDataTypeId(moduleId) {
5198
5231
  let itemType;
5199
5232
  switch (moduleId) {
5200
- case ModuleType$1.documentProcess:
5233
+ case ModuleType$2.documentProcess:
5201
5234
  itemType = this.dataType.process;
5202
5235
  break;
5203
- case ModuleType$1.deviation:
5236
+ case ModuleType$2.deviation:
5204
5237
  itemType = this.dataType.deviation;
5205
5238
  break;
5206
- case ModuleType$1.checklist:
5239
+ case ModuleType$2.checklist:
5207
5240
  itemType = this.dataType.checklist;
5208
5241
  break;
5209
- case ModuleType$1.risk:
5242
+ case ModuleType$2.risk:
5210
5243
  itemType = this.dataType.risk;
5211
5244
  break;
5212
5245
  default:
@@ -5255,6 +5288,8 @@ class RelatedPopupComponent {
5255
5288
  });
5256
5289
  this.singleDocumentList = newSelectDocumentList;
5257
5290
  this.selectedData2 = [...tempArrDocument];
5291
+ // when remove check node list, related options need refresh disabled options
5292
+ this.refreshRelatedOptions();
5258
5293
  }
5259
5294
  isMatchTrue(arr, arr2) {
5260
5295
  return arr.every((i) => {
@@ -5283,6 +5318,7 @@ class RelatedPopupComponent {
5283
5318
  this.filteredOptions = [];
5284
5319
  if (typeof (_val) === 'object') {
5285
5320
  this.myControl.setValue('');
5321
+ this.isInputValue = false;
5286
5322
  }
5287
5323
  else if (typeof (_val) === 'string') {
5288
5324
  if (!!_val) {
@@ -5305,7 +5341,7 @@ class RelatedPopupComponent {
5305
5341
  return this.filteredOptions.filter(x => x.itemType === moduleId);
5306
5342
  }
5307
5343
  showSearchResult() {
5308
- this.autoComplete.openPanel();
5344
+ // this.autoComplete.openPanel();
5309
5345
  }
5310
5346
  displayRelated(related) {
5311
5347
  return related ? related.itemName : undefined;
@@ -5376,13 +5412,13 @@ class RelatedPopupComponent {
5376
5412
  let selectDocument = [];
5377
5413
  if (this.checkedNodeList.length) {
5378
5414
  this.checkedNodeList.forEach(x => {
5379
- if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5415
+ if (x.itemType === DataType$2.area || x.itemType === DataType$2.process) {
5380
5416
  this.treeData1.forEach(item => {
5381
5417
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5382
5418
  selectProcess.push({
5383
5419
  disabled: false,
5384
- expandable: x.itemType == DataType$1.area ? true : false,
5385
- hasChild: x.itemType == DataType$1.area ? true : false,
5420
+ expandable: x.itemType == DataType$2.area ? true : false,
5421
+ hasChild: x.itemType == DataType$2.area ? true : false,
5386
5422
  id: x.id,
5387
5423
  level: 0,
5388
5424
  levelType: undefined,
@@ -5397,8 +5433,8 @@ class RelatedPopupComponent {
5397
5433
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5398
5434
  selectDocument.push({
5399
5435
  disabled: false,
5400
- expandable: x.itemType == DataType$1.folder ? true : false,
5401
- hasChild: x.itemType == DataType$1.folder ? true : false,
5436
+ expandable: x.itemType == DataType$2.folder ? true : false,
5437
+ hasChild: x.itemType == DataType$2.folder ? true : false,
5402
5438
  id: x.id,
5403
5439
  level: 0,
5404
5440
  levelType: undefined,
@@ -5573,13 +5609,13 @@ class RelatedPopupComponent {
5573
5609
  let selectDocument = [];
5574
5610
  if (this.checkedNodeList.length) {
5575
5611
  this.checkedNodeList.forEach(x => {
5576
- if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5612
+ if (x.itemType === DataType$2.area || x.itemType === DataType$2.process) {
5577
5613
  this.treeData1.forEach(item => {
5578
5614
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5579
5615
  selectProcess.push({
5580
5616
  disabled: false,
5581
- expandable: x.itemType == DataType$1.area ? true : false,
5582
- hasChild: x.itemType == DataType$1.area ? true : false,
5617
+ expandable: x.itemType == DataType$2.area ? true : false,
5618
+ hasChild: x.itemType == DataType$2.area ? true : false,
5583
5619
  id: x.id,
5584
5620
  level: 0,
5585
5621
  levelType: undefined,
@@ -5594,8 +5630,8 @@ class RelatedPopupComponent {
5594
5630
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5595
5631
  selectDocument.push({
5596
5632
  disabled: false,
5597
- expandable: x.itemType == DataType$1.folder ? true : false,
5598
- hasChild: x.itemType == DataType$1.folder ? true : false,
5633
+ expandable: x.itemType == DataType$2.folder ? true : false,
5634
+ hasChild: x.itemType == DataType$2.folder ? true : false,
5599
5635
  id: x.id,
5600
5636
  level: 0,
5601
5637
  levelType: undefined,
@@ -5831,12 +5867,12 @@ class RelatedPopupComponent {
5831
5867
  this.selectedFolder = null;
5832
5868
  this.itemInSplitview = [];
5833
5869
  this.checkedNodeList.forEach(element => {
5834
- if (element.itemType === DataType$1.document) {
5870
+ if (element.itemType === DataType$2.document) {
5835
5871
  element.status = this.getStatusDocs(element.id);
5836
5872
  element.breadcumbs = this.getBreadcumbAllParentDocs(element.id).slice(1).reverse();
5837
5873
  element.statusName = this.getStatusName(element.id);
5838
5874
  }
5839
- if (element.itemType === DataType$1.process) {
5875
+ if (element.itemType === DataType$2.process) {
5840
5876
  element.status = this.getStatusProcess(element.id);
5841
5877
  element.breadcumbs = this.getBreadcumbAllParentProcess(element.id).slice(1).reverse();
5842
5878
  }
@@ -5924,7 +5960,7 @@ class RelatedPopupComponent {
5924
5960
  return (elmHeight + elmMargin);
5925
5961
  }
5926
5962
  getItemChipName(item) {
5927
- if (item.itemType === DataType$1.checklist || item.itemType === DataType$1.deviation) {
5963
+ if (item.itemType === DataType$2.checklist || item.itemType === DataType$2.deviation) {
5928
5964
  return (item.parentName && item.itemName !== item.parentName) ? `${item.parentName}/${item.itemName}` : item.itemName;
5929
5965
  }
5930
5966
  return item.itemName;
@@ -5934,43 +5970,43 @@ class RelatedPopupComponent {
5934
5970
  }
5935
5971
  getNodeIcon(item) {
5936
5972
  switch (item.itemType) {
5937
- case DataType$1.folder: {
5973
+ case DataType$2.folder: {
5938
5974
  switch (item.levelType) {
5939
- case DocumentNodeType$1.DepartmentFolder:
5975
+ case DocumentNodeType$2.DepartmentFolder:
5940
5976
  return 'department_folder_outlined';
5941
- case DocumentNodeType$1.RegionalFolder:
5977
+ case DocumentNodeType$2.RegionalFolder:
5942
5978
  return 'regional_folder_outlined';
5943
- case DocumentNodeType$1.TopFolder:
5979
+ case DocumentNodeType$2.TopFolder:
5944
5980
  return 'enterprise_folder_outlined';
5945
- case DocumentNodeType$1.Folder:
5981
+ case DocumentNodeType$2.Folder:
5946
5982
  return 'local_folder_outlined';
5947
5983
  default:
5948
5984
  return 'folder_outlined';
5949
5985
  }
5950
5986
  }
5951
- case DataType$1.document: {
5987
+ case DataType$2.document: {
5952
5988
  switch (item.levelType) {
5953
- case DocumentNodeType$1.DepartmentFolder:
5989
+ case DocumentNodeType$2.DepartmentFolder:
5954
5990
  return 'document_department';
5955
- case DocumentNodeType$1.RegionalFolder:
5991
+ case DocumentNodeType$2.RegionalFolder:
5956
5992
  return 'document_regional';
5957
- case DocumentNodeType$1.TopFolder:
5993
+ case DocumentNodeType$2.TopFolder:
5958
5994
  return 'document_enterprise';
5959
- case DocumentNodeType$1.Folder:
5995
+ case DocumentNodeType$2.Folder:
5960
5996
  return 'document_local';
5961
5997
  default:
5962
5998
  return 'document';
5963
5999
  }
5964
6000
  }
5965
- case DataType$1.area:
6001
+ case DataType$2.area:
5966
6002
  return 'process_area_outlined';
5967
- case DataType$1.process:
6003
+ case DataType$2.process:
5968
6004
  return 'process';
5969
- case DataType$1.deviation:
6005
+ case DataType$2.deviation:
5970
6006
  return 'deviation';
5971
- case DataType$1.checklist:
6007
+ case DataType$2.checklist:
5972
6008
  return 'checklist';
5973
- case DataType$1.risk:
6009
+ case DataType$2.risk:
5974
6010
  return 'risk';
5975
6011
  default:
5976
6012
  return 'folder_outlined';
@@ -5984,25 +6020,25 @@ class RelatedPopupComponent {
5984
6020
  }
5985
6021
  getTitle(type) {
5986
6022
  switch (type) {
5987
- case DataType$1.process:
6023
+ case DataType$2.process:
5988
6024
  return this.LANG.PROCESSES;
5989
- case DataType$1.area:
6025
+ case DataType$2.area:
5990
6026
  return this.LANG.PROCESS_AREA;
5991
- case DataType$1.document:
6027
+ case DataType$2.document:
5992
6028
  return this.LANG.DOCUMENTS;
5993
- case DataType$1.folder:
6029
+ case DataType$2.folder:
5994
6030
  return this.LANG.FOLDER;
5995
- case DataType$1.deviation:
6031
+ case DataType$2.deviation:
5996
6032
  return this.LANG.DEVIATION;
5997
- case DataType$1.deviationType:
6033
+ case DataType$2.deviationType:
5998
6034
  return this.LANG.DEVIATION_TYPE;
5999
- case DataType$1.checklist:
6035
+ case DataType$2.checklist:
6000
6036
  return this.LANG.CHECKLIST;
6001
- case DataType$1.checklistCategory:
6037
+ case DataType$2.checklistCategory:
6002
6038
  return this.LANG.CHECKLIST_CATEGORY;
6003
- case DataType$1.risk:
6039
+ case DataType$2.risk:
6004
6040
  return this.LANG.ASSESSMENT;
6005
- case DataType$1.riskFolder:
6041
+ case DataType$2.riskFolder:
6006
6042
  return this.LANG.FOLDER;
6007
6043
  }
6008
6044
  }
@@ -6070,11 +6106,11 @@ class RelatedPopupComponent {
6070
6106
  }
6071
6107
  canShowSearchOption(moduleId) {
6072
6108
  if (this.canOnlySelectItem &&
6073
- (moduleId === DataType$1.checklistCategory
6074
- || moduleId === DataType$1.riskFolder
6075
- || moduleId === DataType$1.deviationType
6076
- || (moduleId === DataType$1.area && this.treeConfig1 && !this.treeConfig1.singleSelectedNode)
6077
- || (moduleId === DataType$1.folder && this.treeConfig2 && !this.treeConfig2.singleSelectedNode))) {
6109
+ (moduleId === DataType$2.checklistCategory
6110
+ || moduleId === DataType$2.riskFolder
6111
+ || moduleId === DataType$2.deviationType
6112
+ || (moduleId === DataType$2.area && this.treeConfig1 && !this.treeConfig1.singleSelectedNode)
6113
+ || (moduleId === DataType$2.folder && this.treeConfig2 && !this.treeConfig2.singleSelectedNode))) {
6078
6114
  return false;
6079
6115
  }
6080
6116
  return this.getModuleFilteredOptions(moduleId).length > 0;
@@ -6087,7 +6123,7 @@ class RelatedPopupComponent {
6087
6123
  let position = -1;
6088
6124
  let parentName = '';
6089
6125
  let itemNumberId = '';
6090
- if (node.itemType == DataType$1.folder || node.itemType == DataType$1.document) {
6126
+ if (node.itemType == DataType$2.folder || node.itemType == DataType$2.document) {
6091
6127
  position = !node.expandable ? this.treeData2.findIndex(p => p.childId === node.id && p.rootId === node.parentId) :
6092
6128
  this.treeData2.findIndex(p => p.rootId === node.id);
6093
6129
  parentName = this.treeData2[position].parentId ? this.treeData2[position].subName : this.treeData2[position].rootName;
@@ -6115,13 +6151,30 @@ class RelatedPopupComponent {
6115
6151
  this.listChildrenSelectOne = [];
6116
6152
  this.listChildrenSelectOne = listChildren;
6117
6153
  }
6154
+ hasSelected(related) {
6155
+ const arrDisabledList = this.disabledList.concat(this.disabledList2);
6156
+ return arrDisabledList.some(node => node.id.toUpperCase() === related.id.toUpperCase());
6157
+ }
6158
+ toRelatedOptions(relateds) {
6159
+ const results = [];
6160
+ for (const related of relateds) {
6161
+ results.push(Object.assign(Object.assign({}, related), { disabled: this.hasSelected(related) }));
6162
+ }
6163
+ return results;
6164
+ }
6165
+ displayWhenSelectRelatedOption($event) {
6166
+ return '';
6167
+ }
6168
+ refreshRelatedOptions() {
6169
+ this.filteredOptions = this.toRelatedOptions(this.filteredOptions);
6170
+ }
6118
6171
  }
6119
6172
  RelatedPopupComponent.decorators = [
6120
6173
  { type: Component, args: [{
6121
6174
  selector: 'qms-related-popup',
6122
- template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName | uppercase }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <ng-container *ngFor=\"let type of searchOrder\">\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"canShowSearchOption(type.value)\"\r\n >\r\n <span class=\"search__module-title\">{{ getTitle(type.value) }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(type.value)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </ng-container>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length,\r\n 'col-6': splitView,\r\n 'col-12': !splitView\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title *ngIf=\"moduleId === module.documentProcess\">\r\n {{ LANG.PROCESSES | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.deviation\">\r\n {{ LANG.DEVIATION | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.checklist\">\r\n {{ LANG.CHECKLIST | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.risk\">\r\n {{ LANG.ASSESSMENT | uppercase }}\r\n </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isCommonExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData1\"\r\n [treeConfig]=\"treeConfig1\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (checkBoxEvent)=\"getCommonCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.area)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeProcess($event)\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n <div\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n class=\"line__divider\"\r\n ></div>\r\n\r\n <mat-expansion-panel\r\n hideToggle\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n id=\"qmslib_related_popup_document_001\"\r\n [expanded]=\"isDocumentExpanded\"\r\n (opened)=\"isDocumentExpanded = true\"\r\n (closed)=\"isDocumentExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title> {{ LANG.DOCUMENTS | uppercase }} </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isDocumentExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_document_002\">\r\n <qms-tree\r\n [treeData]=\"treeData2\"\r\n [treeConfig]=\"treeConfig2\"\r\n [selectedData]=\"selectedData2\"\r\n [disabledList]=\"disabledList2\"\r\n (checkBoxEvent)=\"getDocumentCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.folder)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeDocument($event)\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n <div\r\n *ngIf=\"splitView\"\r\n class=\"\r\n qms-scrollbar\r\n qmslib-related-popup-splitview qmslib_related_popup_content\r\n col-6\r\n \"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <div class=\"splitview-header\" *ngIf=\"selectedFolder\">\r\n {{ splitViewTitle }}\r\n </div>\r\n <div class=\"expand-node\" *ngFor=\"let node of itemInSplitview\">\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n [checked]=\"isNodeSelected(node)\"\r\n (change)=\"toggleSelectItem(node)\"\r\n ></mat-checkbox>\r\n <mat-icon\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.itemName }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon\r\n *ngIf=\"!(treeConfig1?.selectOne || treeConfig2?.selectOne)\"\r\n (click)=\"removeCheckedNodeList(item)\"\r\n >cancel</mat-icon\r\n >\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
6175
+ template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName | uppercase }}</span>\r\n </div>\r\n </div>\r\n\r\n <div id=\"qmslib_related_popup_search\" class=\"input__field\">\r\n <input\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n (optionSelected)=\"selectRelated($event.option.value)\"\r\n [displayWith]=\"displayWhenSelectRelatedOption\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n [class.related-viewport]=\"isInputValue\"\r\n >\r\n <ng-container *ngFor=\"let type of searchOrder\">\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"canShowSearchOption(type.value)\"\r\n >\r\n <span class=\"search__module-title\">{{ getTitle(type.value) }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(type.value)\"\r\n [value]=\"option\"\r\n [disabled]=\"option.disabled\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </ng-container>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length,\r\n 'col-6': splitView,\r\n 'col-12': !splitView\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title *ngIf=\"moduleId === module.documentProcess\">\r\n {{ LANG.PROCESSES | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.deviation\">\r\n {{ LANG.DEVIATION | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.checklist\">\r\n {{ LANG.CHECKLIST | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.risk\">\r\n {{ LANG.ASSESSMENT | uppercase }}\r\n </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isCommonExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData1\"\r\n [treeConfig]=\"treeConfig1\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (checkBoxEvent)=\"getCommonCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.area)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeProcess($event)\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n <div\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n class=\"line__divider\"\r\n ></div>\r\n\r\n <mat-expansion-panel\r\n hideToggle\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n id=\"qmslib_related_popup_document_001\"\r\n [expanded]=\"isDocumentExpanded\"\r\n (opened)=\"isDocumentExpanded = true\"\r\n (closed)=\"isDocumentExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title> {{ LANG.DOCUMENTS | uppercase }} </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isDocumentExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_document_002\">\r\n <qms-tree\r\n [treeData]=\"treeData2\"\r\n [treeConfig]=\"treeConfig2\"\r\n [selectedData]=\"selectedData2\"\r\n [disabledList]=\"disabledList2\"\r\n (checkBoxEvent)=\"getDocumentCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.folder)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeDocument($event)\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n <div\r\n *ngIf=\"splitView\"\r\n class=\"\r\n qms-scrollbar\r\n qmslib-related-popup-splitview qmslib_related_popup_content\r\n col-6\r\n \"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <div class=\"splitview-header\" *ngIf=\"selectedFolder\">\r\n {{ splitViewTitle }}\r\n </div>\r\n <div class=\"expand-node\" *ngFor=\"let node of itemInSplitview\">\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n [checked]=\"isNodeSelected(node)\"\r\n (change)=\"toggleSelectItem(node)\"\r\n ></mat-checkbox>\r\n <mat-icon\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.itemName }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon\r\n *ngIf=\"!(treeConfig1?.selectOne || treeConfig2?.selectOne)\"\r\n (click)=\"removeCheckedNodeList(item)\"\r\n >cancel</mat-icon\r\n >\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
6123
6176
  encapsulation: ViewEncapsulation.None,
6124
- styles: [".qms-scrollbar::-webkit-scrollbar{width:12px}.qms-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms-scrollbar.none-scroll-bg::-webkit-scrollbar-track{background:transparent;background-clip:content-box}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:#fff;padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:#9e360f;margin-left:10px}.qms__danger .yellow{background-color:#e4cf53;margin-left:10px;color:#323232}.qms__danger .green{background-color:#00804c;margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:#f8f9f9}.confirm__button__groups .confirm:hover{background:#001983;color:#fff}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:#f8f9f9}.confirm__button__groups .cancel:hover{background:#001983;color:#fff}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:#eee}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel-tree .mat-expansion-panel-body{padding:0 12px 12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;margin-top:12px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}.qmslib__related__popup__container .panel__item .related__item__inline{max-width:100%}.qmslib__related__popup__container .panel__item .related__item__content{height:32px;line-height:32px;background-color:#e5e5e5;max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qmslib__related__popup__container .panel__item .related__item__content .mat-icon{color:#8e8e8e;font-size:24px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name{display:inline-block;min-width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:278px}.qmslib__related__popup__container .qmslib-related-popup-splitview{background-color:#fff;border-left:1px solid #ccc;height:450px;overflow-y:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview .splitview-header{height:30px;font-size:12px;letter-spacing:1px;font-family:RALEWAY;font-weight:600;display:flex;align-items:center}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options{padding:0}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:11px}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options.mat-checkbox-checked{background:transparent!important}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node{margin-left:8px;display:flex;align-items:center;min-height:40px}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon{color:rgba(0,0,0,.6);margin-right:17px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}cdk-virtual-scroll-viewport{overflow-x:hidden}cdk-virtual-scroll-viewport .search__module-result{margin:1.5rem;padding:0 0 .5rem}cdk-virtual-scroll-viewport .search__module-result .search__module-title{font-size:14px;font-weight:600}cdk-virtual-scroll-viewport .search__module-result .search__option{height:auto;line-height:normal;padding:8px 0;border-bottom:1px solid #e0e0e0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item.mat-2-line.image-item{height:auto}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content{margin:0;border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square{width:2.5rem;height:100%;background:transparent;align-self:center;margin-right:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square img{width:24px;height:24px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .material-icons-outlined.leading-icon,cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content mat-icon.leading-icon{padding:4px 0 4px 4px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .subtitle{font-weight:400}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption{overflow:hidden;line-height:normal;white-space:normal;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0;margin:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption span.search__result__parent-name{display:inline-block;width:auto;width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .default-subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .search__description-icon{margin-right:0;width:12px;height:12px;font-size:12px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .qms-list-text{border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .breadcrumb-containe .qms-breadcrumb-item .mat-icon{font-size:16px!important;padding-bottom:1px}cdk-virtual-scroll-viewport .search__module-result svg{display:block}#qmslib_related_popup_header_001{margin-bottom:20px;padding:0;font-weight:600;font-family:Raleway}.padding-5{padding:5px}.mat-autocomplete_related-viewport{height:100%;max-height:100%!important}.mat-autocomplete_related-viewport .cdk-virtual-scroll-content-wrapper{width:100%}.mat-autocomplete_related-viewport .related-viewport{min-height:10.25rem}"]
6177
+ styles: [".qms-scrollbar::-webkit-scrollbar{width:12px}.qms-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms-scrollbar.none-scroll-bg::-webkit-scrollbar-track{background:transparent;background-clip:content-box}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:#fff;padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:#9e360f;margin-left:10px}.qms__danger .yellow{background-color:#e4cf53;margin-left:10px;color:#323232}.qms__danger .green{background-color:#00804c;margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:#f8f9f9}.confirm__button__groups .confirm:hover{background:#001983;color:#fff}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:#f8f9f9}.confirm__button__groups .cancel:hover{background:#001983;color:#fff}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:#eee}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel-tree .mat-expansion-panel-body{padding:0 12px 12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;margin-top:12px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}.qmslib__related__popup__container .panel__item .related__item__inline{max-width:100%}.qmslib__related__popup__container .panel__item .related__item__content{height:32px;line-height:32px;background-color:#e5e5e5;max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qmslib__related__popup__container .panel__item .related__item__content .mat-icon{color:#8e8e8e;font-size:24px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name{display:inline-block;min-width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:278px}.qmslib__related__popup__container .qmslib-related-popup-splitview{background-color:#fff;border-left:1px solid #ccc;height:450px;overflow-y:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview .splitview-header{height:30px;font-size:12px;letter-spacing:1px;font-family:RALEWAY;font-weight:600;display:flex;align-items:center}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options{padding:0}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:11px}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options.mat-checkbox-checked{background:transparent!important}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node{margin-left:8px;display:flex;align-items:center;min-height:40px}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon{color:rgba(0,0,0,.6);margin-right:17px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}cdk-virtual-scroll-viewport{overflow-x:hidden}cdk-virtual-scroll-viewport .search__module-result{margin:1.5rem;padding:0 0 .5rem}cdk-virtual-scroll-viewport .search__module-result .search__module-title{font-size:14px;font-weight:600}cdk-virtual-scroll-viewport .search__module-result .search__option{height:auto;line-height:normal;padding:8px 0;border-bottom:1px solid #e0e0e0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item.mat-2-line.image-item{height:auto}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content{margin:0;border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square{width:2.5rem;height:100%;background:transparent;align-self:center;margin-right:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square img{width:24px;height:24px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .material-icons-outlined.leading-icon,cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content mat-icon.leading-icon{padding:4px 0 4px 4px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .subtitle{font-weight:400}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption{overflow:hidden;line-height:normal;white-space:normal;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0;margin:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption span.search__result__parent-name{display:inline-block;width:auto;width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .default-subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .search__description-icon{margin-right:0;width:12px;height:12px;font-size:12px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .qms-list-text{border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .breadcrumb-containe .qms-breadcrumb-item .mat-icon{font-size:16px!important;padding-bottom:1px}cdk-virtual-scroll-viewport .search__module-result .mat-option[aria-disabled=true] .breadcrumb-containe .qms-breadcrumb-item-text,cdk-virtual-scroll-viewport .search__module-result .mat-option[aria-disabled=true] .breadcrumb-containe .qms-breadcrumb-item .mat-icon,cdk-virtual-scroll-viewport .search__module-result .mat-option[aria-disabled=true] .subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result svg{display:block}#qmslib_related_popup_header_001{margin-bottom:20px;padding:0;font-weight:600;font-family:Raleway}.padding-5{padding:5px}.mat-autocomplete_related-viewport{height:100%;max-height:100%!important}.mat-autocomplete_related-viewport .cdk-virtual-scroll-content-wrapper{width:100%}.mat-autocomplete_related-viewport .related-viewport{min-height:300px}"]
6125
6178
  },] }
6126
6179
  ];
6127
6180
  RelatedPopupComponent.ctorParameters = () => [
@@ -6185,12 +6238,10 @@ class RiskAnalysisComponent {
6185
6238
  });
6186
6239
  }
6187
6240
  this.riskConfig = {
6188
- allowSelectFolder: false,
6189
- areaOfCurrentProcess: '',
6190
6241
  showCheckBox: true,
6191
6242
  allowMultipleCheck: true,
6192
6243
  onlyCheckBoxForChild: false,
6193
- moduleId: DataType$1.risk,
6244
+ moduleId: DataType$2.risk,
6194
6245
  openIcon: 'keyboard_arrow_up',
6195
6246
  openIconColor: '#1954A9',
6196
6247
  closeIcon: 'keyboard_arrow_down',
@@ -7141,8 +7192,8 @@ var QMSCKEditorDocumentType;
7141
7192
  class TreeNode {
7142
7193
  }
7143
7194
 
7144
- let objData = {};
7145
- function buildArrayTree(obj, level) {
7195
+ let objData$1 = {};
7196
+ function buildArrayTree$1(obj, level) {
7146
7197
  return Object.keys(obj).reduce((accumulator, key) => {
7147
7198
  const value = obj[key];
7148
7199
  const node = new TreeNode();
@@ -7160,8 +7211,8 @@ function buildArrayTree(obj, level) {
7160
7211
  return accumulator.concat(node);
7161
7212
  }, []);
7162
7213
  }
7163
- function buildObjectTree(arr) {
7164
- objData = {};
7214
+ function buildObjectTree$1(arr) {
7215
+ objData$1 = {};
7165
7216
  let objTreeData;
7166
7217
  const root = arr.filter((x) => {
7167
7218
  return x.parentId === '';
@@ -7171,7 +7222,7 @@ function buildObjectTree(arr) {
7171
7222
  });
7172
7223
  return objTreeData;
7173
7224
  }
7174
- function findParent(id, array) {
7225
+ function findParent$1(id, array) {
7175
7226
  const objParent = {};
7176
7227
  const parent = array.filter((x) => {
7177
7228
  return x.rootId === id;
@@ -7187,10 +7238,10 @@ function findParent(id, array) {
7187
7238
  this.findChild(id, objParent, array);
7188
7239
  }
7189
7240
  // add node to tree
7190
- objData[`${parent[0].rootId}_${parent[0].rootName}`] = objParent;
7191
- return objData;
7241
+ objData$1[`${parent[0].rootId}_${parent[0].rootName}`] = objParent;
7242
+ return objData$1;
7192
7243
  }
7193
- function findChild(id, objParent, array) {
7244
+ function findChild$1(id, objParent, array) {
7194
7245
  const subNode = array.filter((x) => {
7195
7246
  return x.parentId === id;
7196
7247
  });
@@ -7198,14 +7249,14 @@ function findChild(id, objParent, array) {
7198
7249
  const processNode = {};
7199
7250
  processNode[`${item.childId}_${item.childName}`] = null;
7200
7251
  objParent[`${item.rootId}_${item.subName}`] = processNode;
7201
- findChild(item.rootId, processNode, array);
7252
+ findChild$1(item.rootId, processNode, array);
7202
7253
  });
7203
7254
  }
7204
7255
  const QMSCKEditorTreeFunctions = {
7205
- buildArrayTree,
7206
- buildObjectTree,
7207
- findParent,
7208
- findChild
7256
+ buildArrayTree: buildArrayTree$1,
7257
+ buildObjectTree: buildObjectTree$1,
7258
+ findParent: findParent$1,
7259
+ findChild: findChild$1
7209
7260
  };
7210
7261
 
7211
7262
  class QMSCKEditorTreeService extends QMSCKEditorBaseService {
@@ -15611,8 +15662,8 @@ class QmsAppBarComponent {
15611
15662
  QmsAppBarComponent.decorators = [
15612
15663
  { type: Component, args: [{
15613
15664
  selector: 'app-qms-app-bar',
15614
- template: "<div class=\"qms-app-bar-container\">\r\n <mat-toolbar class=\"bar-container\" *ngIf=\"!isNomalType\">\r\n <span class=\"w-100\">\r\n <span class=\"col-4 d-inline-flex align-items-lg-center\">\r\n <div *ngIf=\"hideMenuDropdown\" class=\"border align-self-center\">\r\n <div *ngIf=\"logoSvgPath\" class=\"logo-container\">\r\n <img [src]=\"logoSvgPath\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div *ngIf=\"!hideMenuDropdown\">\r\n <button #menu class=\"collapse-icon\" mat-button>\r\n <mat-icon class=\"mat-icon-rtl-mirror\" (click)=\"onMenuClicked()\">\r\n menu\r\n </mat-icon>\r\n </button>\r\n <img [src]=\"logoSvgPath\" alt=\"\" />\r\n </div>\r\n <span class=\"p-3\">{{title}}</span>\r\n <div class=\"spacer\"></div>\r\n </span>\r\n <span class=\"align-items-sm-center col-4 d-inline-flex justify-content-center\">\r\n <div *ngIf=\"imgSvgPath\" class=\"img-container\" [class.bg-transparent]=\"isImgSvgTransparent\">\r\n <img [src]=\"imgSvgPath\" alt=\"\" />\r\n </div>\r\n </span>\r\n <span class=\"col-4 d-inline-flex justify-content-end\">\r\n <button (click)=\"onRightIconClicked(item.icon)\" *ngFor=\"let item of rightIcons\" class=\"menu-item-icon\"\r\n mat-button>\r\n <mat-icon *ngIf=\"item.icon == 'notifications_none'\" matBadge=\"{{notifications}}\"\r\n matBadgeColor=\"warn\">\r\n {{item.icon}}\r\n </mat-icon>\r\n <mat-icon *ngIf=\"item.icon != 'notifications_none'\"\r\n class=\"material-icons-outlined mat-icon-rtl-mirror\">\r\n {{item.icon}}\r\n </mat-icon>\r\n <span class=\"mg-l-3\">{{item.tooltip}}</span>\r\n </button>\r\n </span>\r\n </span>\r\n </mat-toolbar>\r\n <mat-toolbar class=\"bar-prv-container\" *ngIf=\"isNomalType\">\r\n <button class=\"icon-title\" #menu qms-btn-text (click)=\"onClickLeftFirstIcon()\">\r\n <mat-icon class=\"cusor-pointer\">\r\n {{leftFirstIcon}}\r\n </mat-icon>\r\n </button>\r\n <span class=\"content-title\">{{title}}</span>\r\n <div class=\"spacer\"></div>\r\n <div class=\"right-content\">\r\n <button qms-btn-text (click)=\"onCancel()\" class=\"cusor-pointer mr-22\" *ngIf=\"cancelTitle\">\r\n {{cancelTitle}}\r\n </button>\r\n <button qms-btn [disabled]=\"disabledConfirmAction\" class=\"cusor-pointer\" (click)=\"onConfirm()\" *ngIf=\"confirmTitle\">\r\n {{confirmTitle}}\r\n </button>\r\n </div>\r\n </mat-toolbar>\r\n</div>",
15615
- styles: [".qms-app-bar-container{height:56px}.qms-app-bar-container .spacer{flex:1 1 auto}.qms-app-bar-container .mat-toolbar{background:#00324e;color:#fff;height:56px}.qms-app-bar-container .bar-prv-container{background:#e4e4e4}.qms-app-bar-container .bar-prv-container .close-icon,.qms-app-bar-container .bar-prv-container .title-icon{color:#323232}.qms-app-bar-container .bar-prv-container .right-content .mr-22{margin-right:22px}.qms-app-bar-container .bar-prv-container button:first-child:hover{background-color:rgba(0,0,0,.08)}.qms-app-bar-container .bar-prv-container .icon-title{color:#666;padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.qms-app-bar-container .bar-prv-container .content-title{font-family:Raleway;font-size:18px;font-style:normal;font-weight:600;line-height:21px;letter-spacing:0;text-align:left;color:#323232}.qms-app-bar-container .bar-container{padding:0!important}.qms-app-bar-container .bar-container .logo-container{background:#fff;padding:12px;height:56px}.qms-app-bar-container .bar-container .img-container{height:40px;background:#fff;padding:2px}.qms-app-bar-container .bar-container .bg-transparent{background:transparent;height:40px;padding:2px}"]
15665
+ template: "<div class=\"qms-app-bar-container\">\r\n <mat-toolbar class=\"bar-container\" *ngIf=\"!isNomalType\">\r\n <span class=\"w-100\">\r\n <span class=\"col-4 d-inline-flex align-items-lg-center\">\r\n <div *ngIf=\"hideMenuDropdown\" class=\"border align-self-center\">\r\n <div *ngIf=\"logoSvgPath\" class=\"logo-container\">\r\n <img [src]=\"logoSvgPath\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div *ngIf=\"!hideMenuDropdown\">\r\n <button #menu class=\"collapse-icon\" mat-button>\r\n <mat-icon class=\"mat-icon-rtl-mirror\" (click)=\"onMenuClicked()\">\r\n menu\r\n </mat-icon>\r\n </button>\r\n <img [src]=\"logoSvgPath\" alt=\"\" />\r\n </div>\r\n <div class=\"pr-8\"></div>\r\n <span class=\"content-title\">{{title}}</span>\r\n <div class=\"spacer\"></div>\r\n </span>\r\n <span class=\"align-items-sm-center col-4 d-inline-flex justify-content-center\">\r\n <div *ngIf=\"imgSvgPath\" class=\"img-container\" [class.bg-transparent]=\"isImgSvgTransparent\">\r\n <img [src]=\"imgSvgPath\" alt=\"\" />\r\n </div>\r\n </span>\r\n <span class=\"col-4 d-inline-flex justify-content-end right-icon\">\r\n <button (click)=\"onRightIconClicked(item.icon)\" *ngFor=\"let item of rightIcons\" class=\"menu-item-icon\"\r\n mat-button>\r\n <mat-icon *ngIf=\"item.icon == 'notifications_none'\" matBadge=\"{{notifications}}\"\r\n matBadgeColor=\"warn\">\r\n {{item.icon}}\r\n </mat-icon>\r\n <mat-icon *ngIf=\"item.icon != 'notifications_none'\"\r\n class=\"material-icons-outlined mat-icon-rtl-mirror\">\r\n {{item.icon}}\r\n </mat-icon>\r\n <span class=\"mg-l-3\">{{item.tooltip}}</span>\r\n </button>\r\n </span>\r\n </span>\r\n </mat-toolbar>\r\n <mat-toolbar class=\"bar-prv-container\" *ngIf=\"isNomalType\">\r\n <button class=\"icon-title\" #menu qms-btn-text (click)=\"onClickLeftFirstIcon()\">\r\n <mat-icon class=\"cusor-pointer\">\r\n {{leftFirstIcon}}\r\n </mat-icon>\r\n </button>\r\n <span class=\"content-title\">{{title}}</span>\r\n <div class=\"spacer\"></div>\r\n <div class=\"right-content\">\r\n <button qms-btn-text (click)=\"onCancel()\" class=\"cusor-pointer mr-10\" *ngIf=\"cancelTitle\">\r\n {{cancelTitle}}\r\n </button>\r\n <button qms-btn [disabled]=\"disabledConfirmAction\" class=\"cusor-pointer\" (click)=\"onConfirm()\" *ngIf=\"confirmTitle\">\r\n {{confirmTitle}}\r\n </button>\r\n </div>\r\n </mat-toolbar>\r\n</div>",
15666
+ styles: [".qms-app-bar-container{height:56px}.qms-app-bar-container .spacer{flex:1 1 auto}.qms-app-bar-container .mat-toolbar{background:#00324e;color:#fff;height:56px}.qms-app-bar-container .bar-prv-container{background:#e4e4e4}.qms-app-bar-container .bar-prv-container .close-icon,.qms-app-bar-container .bar-prv-container .title-icon{color:#323232}.qms-app-bar-container .bar-prv-container .right-content button{line-height:16px!important}.qms-app-bar-container .bar-prv-container .right-content .mr-10{margin-right:10px}.qms-app-bar-container .bar-prv-container button:first-child:hover{background-color:rgba(0,0,0,.08)}.qms-app-bar-container .bar-prv-container .icon-title{color:#666;padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%;margin-right:11px}.qms-app-bar-container .bar-prv-container .content-title{font-family:Raleway;font-size:18px;font-style:normal;font-weight:600;line-height:21px;letter-spacing:0;text-align:left;color:#323232}.qms-app-bar-container .bar-container{padding:0!important}.qms-app-bar-container .bar-container .logo-container{background:#fff;padding:12px;height:56px}.qms-app-bar-container .bar-container .img-container{height:40px;background:#fff;padding:2px}.qms-app-bar-container .bar-container .bg-transparent{background:transparent;height:40px;padding:2px}.qms-app-bar-container .bar-container .right-icon button:last-child{min-width:unset!important}.qms-app-bar-container .bar-container ::ng-deep .mat-badge-warn .mat-badge-content{background-color:#9e360f!important}.qms-app-bar-container .pr-8{padding-right:8px}"]
15616
15667
  },] }
15617
15668
  ];
15618
15669
  QmsAppBarComponent.ctorParameters = () => [];
@@ -15935,6 +15986,46 @@ QMSTableModule.decorators = [
15935
15986
  class BreadcrumbNode {
15936
15987
  }
15937
15988
 
15989
+ class RelatedConst {
15990
+ }
15991
+ RelatedConst.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
15992
+ RelatedConst.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
15993
+ RelatedConst.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
15994
+
15995
+ var DataType$1;
15996
+ (function (DataType) {
15997
+ DataType[DataType["process"] = 2] = "process";
15998
+ DataType[DataType["document"] = 1] = "document";
15999
+ DataType[DataType["area"] = 3] = "area";
16000
+ DataType[DataType["folder"] = 4] = "folder";
16001
+ DataType[DataType["deviation"] = 5] = "deviation";
16002
+ DataType[DataType["checklist"] = 6] = "checklist";
16003
+ DataType[DataType["risk"] = 7] = "risk";
16004
+ DataType[DataType["deviationType"] = 8] = "deviationType";
16005
+ DataType[DataType["checklistCategory"] = 9] = "checklistCategory";
16006
+ DataType[DataType["riskFolder"] = 10] = "riskFolder";
16007
+ })(DataType$1 || (DataType$1 = {}));
16008
+
16009
+ var DocumentNodeType$1;
16010
+ (function (DocumentNodeType) {
16011
+ DocumentNodeType[DocumentNodeType["Document"] = 1] = "Document";
16012
+ DocumentNodeType[DocumentNodeType["LinkDocument"] = 2] = "LinkDocument";
16013
+ DocumentNodeType[DocumentNodeType["FileDocument"] = 3] = "FileDocument";
16014
+ DocumentNodeType[DocumentNodeType["ShortcutDocument"] = 4] = "ShortcutDocument";
16015
+ DocumentNodeType[DocumentNodeType["Folder"] = 5] = "Folder";
16016
+ DocumentNodeType[DocumentNodeType["TopFolder"] = 6] = "TopFolder";
16017
+ DocumentNodeType[DocumentNodeType["DepartmentFolder"] = 7] = "DepartmentFolder";
16018
+ DocumentNodeType[DocumentNodeType["RegionalFolder"] = 8] = "RegionalFolder";
16019
+ })(DocumentNodeType$1 || (DocumentNodeType$1 = {}));
16020
+
16021
+ var ModuleType$1;
16022
+ (function (ModuleType) {
16023
+ ModuleType[ModuleType["documentProcess"] = 1] = "documentProcess";
16024
+ ModuleType[ModuleType["deviation"] = 2] = "deviation";
16025
+ ModuleType[ModuleType["checklist"] = 3] = "checklist";
16026
+ ModuleType[ModuleType["risk"] = 4] = "risk";
16027
+ })(ModuleType$1 || (ModuleType$1 = {}));
16028
+
15938
16029
  class StepModel {
15939
16030
  constructor(id, name, disabled, selected) {
15940
16031
  this.id = id;
@@ -15963,6 +16054,7 @@ class QmsStepperComponent {
15963
16054
  }
15964
16055
  QmsStepperComponent.decorators = [
15965
16056
  { type: Component, args: [{
16057
+ changeDetection: ChangeDetectionStrategy.OnPush,
15966
16058
  selector: 'app-qms-stepper',
15967
16059
  template: "<div class=\"qms-stepper-container\">\r\n <div *ngIf=\"isHorizontal\">\r\n <mat-horizontal-stepper [style.width.px]=\"width\" labelPosition=\"{{labelPosition}}\" #stepper\r\n (selectionChange)=\"changeStep($event)\" class=\"overflow-auto\" [selectedIndex]=\"currentStep\">\r\n <mat-step *ngFor=\"let step of steps; let i = index;\" [completed]=\"false\"\r\n [aria-labelledby]=\"step.disabled ? 'disabled' : 'step-item'\">\r\n <ng-template matStepLabel>\r\n <span tabindex=\"0\" (keydown.enter)=\"changeStep(i)\" class=\"title-step\">{{step.name}}</span>\r\n </ng-template>\r\n <ng-template matStepContent>\r\n </ng-template>\r\n </mat-step>\r\n <ng-template matStepperIcon=\"edit\">\r\n {{stepper.selectedIndex + 1}}\r\n </ng-template>\r\n </mat-horizontal-stepper>\r\n </div>\r\n <div *ngIf=\"!isHorizontal\">\r\n <mat-vertical-stepper [style.height.px]=\"height\" #stepper (selectionChange)=\"changeStep($event.selectedIndex)\"\r\n [selectedIndex]=\"currentStep\" class=\"overflow-auto\">\r\n <mat-step *ngFor=\"let step of steps; let i = index;\" [completed]=\"false\"\r\n [aria-labelledby]=\"step.disabled ? 'disabled' : 'step-item'\">\r\n <ng-template matStepLabel>\r\n <span tabindex=\"0\" (keydown.enter)=\"changeStep(i)\" class=\"title-step\">{{step.name}}</span>\r\n </ng-template>\r\n <ng-template matStepContent>\r\n </ng-template>\r\n </mat-step>\r\n <ng-template matStepperIcon=\"edit\">\r\n <span>{{stepper.selectedIndex + 1}}</span>\r\n </ng-template>\r\n </mat-vertical-stepper>\r\n </div>\r\n</div>",
15968
16060
  styles: [".qms-stepper-container ::ng-deep .mat-step-header[aria-labelledby=step-item]{height:22px!important;padding:8px 12px;left:0;top:0;border-radius:4px;color:#fff}.qms-stepper-container ::ng-deep .mat-step-header[aria-labelledby=step-item].mat-horizontal-stepper-header{width:auto}.qms-stepper-container ::ng-deep .mat-step-header[aria-labelledby=step-item].mat-vertical-stepper-header{width:156px}.qms-stepper-container ::ng-deep .mat-step-header .mat-step-icon{background:rgba(0,0,0,.6);margin-right:14px}.qms-stepper-container ::ng-deep .mat-step-header .mat-step-icon-selected{background-color:#1954a9!important;color:#fff}.qms-stepper-container ::ng-deep .mat-step-header[aria-selected=true] .title-step{font-weight:600!important;outline:none!important}.qms-stepper-container ::ng-deep mat-step-header:active{background:#e5eefb}.qms-stepper-container ::ng-deep mat-step-header:active mat-step-label{color:#fff}.qms-stepper-container ::ng-deep mat-step-header:active mat-step-icon{color:#323232;background:rgba(0,0,0,.6)}.qms-stepper-container ::ng-deep mat-step-header .mat-ripple-element{background-color:rgba(229,238,251,.3)}.qms-stepper-container ::ng-deep mat-step-header:hover{background:#f2f7fd}.qms-stepper-container ::ng-deep mat-step-header:hover mat-step-label{color:#fff}.qms-stepper-container ::ng-deep mat-step-header:hover mat-step-icon{color:#323232;background:rgba(0,0,0,.6)}.qms-stepper-container ::ng-deep .mat-step-header[aria-labelledby=disabled]{pointer-events:none!important;cursor:not-allowed;opacity:.6;height:22px!important;width:156px;left:0;top:0;border-radius:4px;padding:8px 12px}.qms-stepper-container ::ng-deep mat-step-header:focus{border:2px solid #1954a9}.qms-stepper-container ::ng-deep mat-step-header:focus mat-step-label{color:#fff}.qms-stepper-container ::ng-deep mat-step-header:focus mat-step-icon{color:#323232;background:rgba(0,0,0,.6)}.qms-stepper-container ::ng-deep mat-step-header.mat-step-header.cdk-keyboard-focused,.qms-stepper-container ::ng-deep mat-step-header.mat-step-header.cdk-program-focused{border:3px solid #1954a9;background:#fff}.qms-stepper-container ::ng-deep mat-step-header:focus:not(:focus-visible){border:none}.qms-stepper-container ::ng-deep .mat-step-header[aria-labelledby=active]{pointer-events:none!important;cursor:not-allowed;opacity:.6}.qms-stepper-container .title-step{font-family:Open Sans;font-size:14px;font-style:normal;font-weight:400;letter-spacing:0;text-align:center;color:#323232;outline:none!important}.qms-stepper-container ::ng-deep .mat-step-icon{width:24px;height:24px}.qms-stepper-container ::ng-deep .mat-step-icon .mat-step-icon-content{font-family:Open Sans;font-size:14px;font-style:normal;font-weight:400;letter-spacing:0;text-align:center;color:#fff;padding-top:1px}.qms-stepper-container ::ng-deep .mat-stepper-vertical-line:before{border-left-width:0;border-right-width:0}.qms-stepper-container ::ng-deep .mat-stepper-vertical-line{margin-left:23px;background:#0000001f;height:30px;width:1px}.qms-stepper-container ::ng-deep .mat-stepper-horizontal-line{height:1px;width:22px!important;left:0;top:18px;border-radius:0;margin:8px;background:#0000001f;max-width:22px!important}"]
@@ -16105,6 +16197,16 @@ class InformationCoverItem {
16105
16197
  }
16106
16198
  }
16107
16199
 
16200
+ var SelectOptionTypes;
16201
+ (function (SelectOptionTypes) {
16202
+ SelectOptionTypes[SelectOptionTypes["SelectOne"] = 1] = "SelectOne";
16203
+ SelectOptionTypes[SelectOptionTypes["IncludeChildren"] = 2] = "IncludeChildren";
16204
+ SelectOptionTypes[SelectOptionTypes["Children"] = 3] = "Children";
16205
+ })(SelectOptionTypes || (SelectOptionTypes = {}));
16206
+
16207
+ class SelectOption {
16208
+ }
16209
+
16108
16210
  class SelectPopupData {
16109
16211
  constructor() {
16110
16212
  this.treeData = [];
@@ -16114,8 +16216,11 @@ class SelectPopupData {
16114
16216
  }
16115
16217
  }
16116
16218
 
16117
- class SelectOption {
16118
- }
16219
+ class SelectConst {
16220
+ }
16221
+ SelectConst.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
16222
+ SelectConst.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
16223
+ SelectConst.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
16119
16224
 
16120
16225
  class QMSSelectGlobalService {
16121
16226
  constructor() {
@@ -16131,19 +16236,6 @@ QMSSelectGlobalService.decorators = [
16131
16236
  ];
16132
16237
  QMSSelectGlobalService.ctorParameters = () => [];
16133
16238
 
16134
- class SelectConst {
16135
- }
16136
- SelectConst.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
16137
- SelectConst.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
16138
- SelectConst.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
16139
-
16140
- var SelectOptionTypes;
16141
- (function (SelectOptionTypes) {
16142
- SelectOptionTypes[SelectOptionTypes["SelectOne"] = 1] = "SelectOne";
16143
- SelectOptionTypes[SelectOptionTypes["IncludeChildren"] = 2] = "IncludeChildren";
16144
- SelectOptionTypes[SelectOptionTypes["Children"] = 3] = "Children";
16145
- })(SelectOptionTypes || (SelectOptionTypes = {}));
16146
-
16147
16239
  class SelectIncludeChildrenPopUpComponent {
16148
16240
  constructor(cdRef, translate, dialogRef, globalService, iconRegistry, domSanitizer, appIconService, elem, data) {
16149
16241
  this.cdRef = cdRef;
@@ -16827,8 +16919,8 @@ class QmsBadgesComponent {
16827
16919
  QmsBadgesComponent.decorators = [
16828
16920
  { type: Component, args: [{
16829
16921
  selector: 'qms-badges',
16830
- template: "<div\r\n class=\"qms-badges-container badges-container-{{ color }} text-color-{{\r\n color\r\n }} font-size-12 line-height-22 qms-badges-default\"\r\n *ngIf=\"type === typeBadges.default\"\r\n>\r\n <mat-icon class=\"font-size-16\" *ngIf=\"icon\">{{ icon }}</mat-icon\r\n >\r\n <span *ngIf=\"contents\">{{ contents }}</span>\r\n</div>\r\n<div\r\n *ngIf=\"type === typeBadges.circle\"\r\n class=\"qms-badges-circle-{{ size }} badges-container-circle-{{ color }} text-color-write\"\r\n>\r\n <span *ngIf=\"contents > 99 && size !== sizeCircleBadges.small\" class=\"font-size-8\">{{ \"99\" }}+</span>\r\n <span *ngIf=\"contents < 100 && size !== sizeCircleBadges.small\" class=\"font-size-12\">{{ contents }}</span>\r\n</div>\r\n\r\n<div\r\n class=\"qms-badges-container badges-container-icon-{{ color }} font-size-12 line-height-22 qms-badges-default\"\r\n *ngIf=\"type === typeBadges.icon\"\r\n>\r\n <mat-icon class=\"font-size-16 text-color-write\" *ngIf=\"icon\">{{ icon }}</mat-icon\r\n >\r\n</div>\r\n",
16831
- styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.badges-container-primary{background-color:#b7daf8}.badges-container-yellow{background-color:rgba(228,207,83,.3)}.badges-container-green{background-color:rgba(0,128,76,.1);border:#005935}.badges-container-red{background-color:rgba(176,0,32,.08)}.badges-container-orange{background-color:#faede8}.badges-container-grey{background-color:#e5e5e5}.badges-container-brown{background-color:#f0eae7}.badges-container-primary-icon{background-color:#00324e}.badges-container-icon-green{background-color:#005935}.badges-container-icon-red{background-color:#b00020}.badges-container-icon-orange{background-color:#9e360f}.badges-container-icon-brown{background-color:#59280b}.badges-container-circle-primary{background-color:#00324e}.badges-container-circle-orange{background-color:#9e360f}.text-color-primary{color:#00324e}.text-color-red{color:#b00020}.text-color-green{color:#005935}.text-color-yellow{color:#726729}.text-color-grey{color:#525252}.text-color-brown{color:#59280b}.text-color-orange{color:#9e360f}.text-color-write{color:#fff}.qms-badges-container{display:flex;align-items:center;width:100%;height:100%;font-family:Open Sans;font-style:normal;font-weight:600;font-size:12px;line-height:16px}.qms-badges-container-text{margin-top:10px;margin-bottom:10px}.qms-badges-container .margin-horizontal-17{margin-left:17px;margin-right:17px}.qms-badges-container .qms-badges-button{margin-left:auto;margin-right:8px}.qms-badges-circle-large{width:24px;height:24px}.qms-badges-circle-large,.qms-badges-circle-medium{border-radius:50%;display:flex;align-items:center;justify-content:center}.qms-badges-circle-medium{width:20px;height:20px}.qms-badges-circle-small{width:10px;height:10px;border-radius:50%}.qms-badges-circle-small,.qms-badges-default{display:flex;align-items:center;justify-content:center}.qms-badges-default{height:24px;padding:0 5px;border-radius:4px}.qms-badges-default .mat-icon{width:auto;height:auto}.font-bold{font-weight:700}.font-size-14{font-size:14px}.font-size-16{font-size:16px}.font-size-12{font-size:12px}.font-size-8{font-size:8px}.line-height-22{line-height:22px}"]
16922
+ template: "<div\r\n class=\"qms-badges-container badges-container-{{ color }} text-color-{{\r\n color\r\n }} font-size-14 line-height-22 qms-badges-default\"\r\n *ngIf=\"type === typeBadges.default\"\r\n>\r\n <mat-icon class=\"font-size-16\" *ngIf=\"icon && !fontIconGG\">{{ icon }}</mat-icon>\r\n <mat-icon\r\n *ngIf=\"itemIconSvg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"itemIconSvg\"\r\n ></mat-icon>\r\n <img *ngIf=\"itemIconPath\" [src]=\"itemIconPath\" />\r\n <span *ngIf=\"icon && fontIconGG\" class=\"{{ fontIconGG }}\">{{ icon }}</span>\r\n <span *ngIf=\"contents\">{{ contents }}</span>\r\n</div>\r\n\r\n<div\r\n *ngIf=\"type === typeBadges.circle\"\r\n class=\"qms-badges-circle-{{ size }} badges-container-circle-{{\r\n color\r\n }} text-color-write\"\r\n>\r\n <span\r\n *ngIf=\"contents > 99 && size !== sizeCircleBadges.small\"\r\n class=\"font-size-8\"\r\n >\r\n {{ '99' }}+\r\n </span>\r\n <span\r\n *ngIf=\"contents < 100 && size !== sizeCircleBadges.small\"\r\n class=\"font-size-14\"\r\n >\r\n {{ contents }}\r\n </span>\r\n</div>\r\n\r\n<div\r\n class=\"qms-badges-container badges-container-icon-{{\r\n color\r\n }} font-size-12 line-height-22 qms-badges-default\"\r\n *ngIf=\"type === typeBadges.icon\"\r\n>\r\n <mat-icon class=\"font-size-16\" *ngIf=\"icon && !fontIconGG\">{{ icon }}</mat-icon>\r\n <mat-icon\r\n *ngIf=\"itemIconSvg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"itemIconSvg\"\r\n ></mat-icon>\r\n <img *ngIf=\"itemIconPath\" [src]=\"itemIconPath\" />\r\n <span *ngIf=\"fontIconGG\" class=\"{{ fontIconGG }}\"> {{ icon }}</span>\r\n</div>\r\n",
16923
+ styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.badges-container-primary{background-color:#b7daf8}.badges-container-yellow{background-color:rgba(228,207,83,.3)}.badges-container-green{background-color:rgba(0,128,76,.1);border:#005935}.badges-container-red{background-color:rgba(176,0,32,.08)}.badges-container-orange{background-color:#faede8}.badges-container-grey{background-color:#e5e5e5}.badges-container-brown{background-color:#f0eae7}.badges-container-icon-primary{background-color:#00324e}.badges-container-icon-green{background-color:#005935}.badges-container-icon-red{background-color:#b00020}.badges-container-icon-orange{background-color:#9e360f}.badges-container-icon-brown{background-color:#59280b}.badges-container-icon-yellow{background-color:rgba(228,207,83,.3)}.badges-container-circle-primary{background-color:#00324e}.badges-container-circle-orange{background-color:#9e360f}.text-color-primary{color:#00324e}.text-color-red{color:#b00020}.text-color-green{color:#005935}.text-color-yellow{color:#726729}.text-color-grey{color:#525252}.text-color-brown{color:#59280b}.text-color-orange{color:#9e360f}.text-color-write{color:#fff}.qms-badges-container{display:flex;align-items:center;width:100%;height:100%;font-family:Open Sans;font-style:normal;font-weight:600;font-size:12px;line-height:16px}.qms-badges-container-text{margin-top:10px;margin-bottom:10px}.qms-badges-container .margin-horizontal-17{margin-left:17px;margin-right:17px}.qms-badges-container .qms-badges-button{margin-left:auto;margin-right:8px}.qms-badges-circle-large{width:24px;height:24px}.qms-badges-circle-large,.qms-badges-circle-medium{border-radius:50%;display:flex;align-items:center;justify-content:center}.qms-badges-circle-medium{width:20px;height:20px}.qms-badges-circle-small{width:10px;height:10px;border-radius:50%}.qms-badges-circle-small,.qms-badges-default{display:flex;align-items:center;justify-content:center}.qms-badges-default{height:24px;padding:0 5px;border-radius:4px}.qms-badges-default .mat-icon{width:auto;height:auto}.font-bold{font-weight:700}.font-size-14{font-size:14px}.font-size-16{font-size:16px}.font-size-12{font-size:12px}.font-size-8{font-size:8px}.line-height-22{line-height:22px}"]
16832
16924
  },] }
16833
16925
  ];
16834
16926
  QmsBadgesComponent.propDecorators = {
@@ -16836,7 +16928,10 @@ QmsBadgesComponent.propDecorators = {
16836
16928
  color: [{ type: Input }],
16837
16929
  contents: [{ type: Input }],
16838
16930
  size: [{ type: Input }],
16839
- icon: [{ type: Input }]
16931
+ icon: [{ type: Input }],
16932
+ itemIconPath: [{ type: Input }],
16933
+ itemIconSvg: [{ type: Input }],
16934
+ fontIconGG: [{ type: Input }]
16840
16935
  };
16841
16936
 
16842
16937
  class QmsBadgesModule {
@@ -17224,11 +17319,19 @@ class SelectOneDialog {
17224
17319
  this.listChildrenSelectOne = [];
17225
17320
  this.listChildrenSelectOne = listChildren;
17226
17321
  }
17322
+ removeCheckedNodeList() {
17323
+ const item = null;
17324
+ this.checkedNodeList = [];
17325
+ this.selectedData = [...[], item];
17326
+ setTimeout(() => {
17327
+ this.selectedData = [];
17328
+ }, 500);
17329
+ }
17227
17330
  }
17228
17331
  SelectOneDialog.decorators = [
17229
17332
  { type: Component, args: [{
17230
17333
  selector: 'qms-select-one',
17231
- template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <div class=\"search__module-result\" *ngIf=\"filteredOptions.length\">\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions()\"\r\n [value]=\"option\"\r\n (click)=\"selectItemSearched(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar col-12 qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData\"\r\n [treeConfig]=\"treeConfig\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"true\"\r\n [expandToChildNode]=\"expandToChildNode\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
17334
+ template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <div class=\"search__module-result\" *ngIf=\"filteredOptions.length\">\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions()\"\r\n [value]=\"option\"\r\n (click)=\"selectItemSearched(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar col-12 qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData\"\r\n [treeConfig]=\"treeConfig\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"false\"\r\n [expandToChildNode]=\"expandToChildNode\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon (click)=\"removeCheckedNodeList()\">cancel</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
17232
17335
  encapsulation: ViewEncapsulation.None,
17233
17336
  styles: [".qms-scrollbar::-webkit-scrollbar{width:12px}.qms-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms-scrollbar.none-scroll-bg::-webkit-scrollbar-track{background:transparent;background-clip:content-box}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:#fff;padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:#9e360f;margin-left:10px}.qms__danger .yellow{background-color:#e4cf53;margin-left:10px;color:#323232}.qms__danger .green{background-color:#00804c;margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:#f8f9f9}.confirm__button__groups .confirm:hover{background:#001983;color:#fff}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:#f8f9f9}.confirm__button__groups .cancel:hover{background:#001983;color:#fff}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:#eee}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel-tree .mat-expansion-panel-body{padding:0 12px 12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;margin-top:12px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}.qmslib__related__popup__container .panel__item .related__item__inline{max-width:100%}.qmslib__related__popup__container .panel__item .related__item__content{height:32px;line-height:32px;background-color:#e5e5e5;max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qmslib__related__popup__container .panel__item .related__item__content .mat-icon{color:#8e8e8e;font-size:24px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name{display:inline-block;min-width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}cdk-virtual-scroll-viewport{overflow-x:hidden}cdk-virtual-scroll-viewport .search__module-result{margin:1.5rem;padding:0 0 .5rem}cdk-virtual-scroll-viewport .search__module-result .search__module-title{font-size:14px;font-weight:600}cdk-virtual-scroll-viewport .search__module-result .search__option{height:auto;line-height:normal;padding:8px 0;border-bottom:1px solid #e0e0e0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item.mat-2-line.image-item{height:auto}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content{margin:0;border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square{width:2.5rem;height:100%;background:transparent;align-self:center;margin-right:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square img{width:24px;height:24px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .material-icons-outlined.leading-icon,cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content mat-icon.leading-icon{padding:4px 0 4px 4px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .subtitle{font-weight:400}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption{overflow:hidden;line-height:normal;white-space:normal;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0;margin:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption span.search__result__parent-name{display:inline-block;width:auto;width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .default-subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .search__description-icon{margin-right:0;width:12px;height:12px;font-size:12px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .qms-list-text{border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .breadcrumb-containe .qms-breadcrumb-item .mat-icon{font-size:16px!important;padding-bottom:1px}cdk-virtual-scroll-viewport .search__module-result svg{display:block}#qmslib_related_popup_header_001{margin-bottom:20px;padding:0;font-weight:600;font-family:Raleway}.padding-5{padding:5px}.mat-autocomplete_related-viewport{height:100%;max-height:100%!important}.mat-autocomplete_related-viewport .cdk-virtual-scroll-content-wrapper{width:100%}.mat-autocomplete_related-viewport .related-viewport{min-height:10.25rem}"]
17234
17337
  },] }
@@ -17285,6 +17388,1803 @@ QMSSelectOneModule.decorators = [
17285
17388
  class ISelectOneItem {
17286
17389
  }
17287
17390
 
17391
+ class NewTreeModel {
17392
+ }
17393
+
17394
+ class NewTreeNode {
17395
+ }
17396
+
17397
+ let objData = {};
17398
+ let json = JSON;
17399
+ function buildArrayTree(obj, level) {
17400
+ return Object.keys(obj).reduce((accumulator, key) => {
17401
+ const value = obj[key];
17402
+ const node = new NewTreeNode();
17403
+ const keyObj = json.parse(key);
17404
+ node.id = keyObj["id"];
17405
+ node.name = keyObj["name"];
17406
+ node.parentId = keyObj["parentId"];
17407
+ node.levelType = keyObj["levelType"];
17408
+ node.expandable = keyObj["expandable"];
17409
+ if (value != null) {
17410
+ if (typeof value === 'object') {
17411
+ node.children = this.buildArrayTree(value, level + 1);
17412
+ }
17413
+ else {
17414
+ node.name = value;
17415
+ }
17416
+ }
17417
+ return accumulator.concat(node);
17418
+ }, []);
17419
+ }
17420
+ function buildObjectTree(arr) {
17421
+ objData = {};
17422
+ let objTreeData;
17423
+ const root = arr.filter((x) => {
17424
+ return x.parentId === '';
17425
+ });
17426
+ root.forEach((item) => {
17427
+ objTreeData = this.findParent(item, arr);
17428
+ });
17429
+ return objTreeData;
17430
+ }
17431
+ function findParent(item, array) {
17432
+ if (item) {
17433
+ const objParent = {};
17434
+ // find child
17435
+ const childFolder = array.filter((x) => {
17436
+ return x.parentId === item.id && x.expandable;
17437
+ });
17438
+ if (childFolder.length > 0) {
17439
+ this.findChild(item.id, objParent, array);
17440
+ }
17441
+ const items = array.filter((x) => {
17442
+ return x.parentId === item.id && !x.expandable;
17443
+ });
17444
+ items.forEach((item) => {
17445
+ let parentKey = {
17446
+ id: item.id,
17447
+ name: item.name,
17448
+ parentId: item.parentId,
17449
+ levelType: item.levelType,
17450
+ expandable: item.expandable
17451
+ };
17452
+ objParent[json.stringify(parentKey)] = null;
17453
+ });
17454
+ let key = {
17455
+ id: item.id,
17456
+ name: item.name,
17457
+ parentId: '',
17458
+ levelType: item.levelType,
17459
+ expandable: item.expandable
17460
+ };
17461
+ // add node to tree
17462
+ objData[json.stringify(key)] = objParent;
17463
+ }
17464
+ return objData;
17465
+ }
17466
+ function findChild(id, objParent, array) {
17467
+ const subNode = array.filter((x) => {
17468
+ return x.parentId === id;
17469
+ });
17470
+ subNode.forEach((item) => {
17471
+ const processNode = {};
17472
+ if (item.expandable) {
17473
+ this.findChild(item.id, processNode, array);
17474
+ }
17475
+ let key = {
17476
+ id: item.id,
17477
+ name: item.name,
17478
+ parentId: id,
17479
+ levelType: item.levelType,
17480
+ expandable: item.expandable
17481
+ };
17482
+ objParent[json.stringify(key)] = Object.assign(Object.assign({}, objParent[json.stringify(key)]), processNode);
17483
+ });
17484
+ }
17485
+ const TreeFunctions = {
17486
+ buildArrayTree,
17487
+ buildObjectTree,
17488
+ findParent,
17489
+ findChild,
17490
+ };
17491
+
17492
+ class NewTreeComponent {
17493
+ constructor(cdRef, domSanitizer, iconRegistry, appIconService) {
17494
+ this.cdRef = cdRef;
17495
+ this.domSanitizer = domSanitizer;
17496
+ this.iconRegistry = iconRegistry;
17497
+ this.appIconService = appIconService;
17498
+ this.treeData = [];
17499
+ this.selectedData = [];
17500
+ this.selectedRiskData = [];
17501
+ this.disabledList = [];
17502
+ this.expandToChildNode = [];
17503
+ this.selectNodeEvent = new EventEmitter();
17504
+ this.selectFolderEvent = new EventEmitter();
17505
+ this.checkBoxEvent = new EventEmitter();
17506
+ this.childCheckedEvent = new EventEmitter();
17507
+ this.nodeExpandEvent = new EventEmitter();
17508
+ this.getChildNodeSelectOne = new EventEmitter();
17509
+ this.treeControlNodes = new EventEmitter();
17510
+ this.listParentObj = {};
17511
+ this.filterData = [];
17512
+ this.arrIndex = [];
17513
+ this.checkedNodeList = [];
17514
+ this.useExpandFeature = true;
17515
+ this.allowSelectFolder = false;
17516
+ this.areaOfCurrentProcess = '';
17517
+ this.showCheckBox = false;
17518
+ this.allowMultipleCheck = true;
17519
+ this.singleSelectedNode = false;
17520
+ this.onlyCheckBoxForChild = false;
17521
+ this.onlyFolder = false;
17522
+ this.itemIconType = ItemIconType;
17523
+ this.displayType = 1;
17524
+ this.openIcon = '';
17525
+ this.openIconColor = '#1954A9';
17526
+ this.closeIcon = '';
17527
+ this.closeIconColor = '#000000';
17528
+ this.itemIcon = '';
17529
+ this.itemIconSvg = '';
17530
+ this.itemIconPath = '';
17531
+ this.itemIconBase64 = '';
17532
+ this.treeControl = new FlatTreeControl((node) => {
17533
+ return node.level;
17534
+ }, (node) => {
17535
+ return node.expandable;
17536
+ });
17537
+ this.isChecked = false;
17538
+ this.idCheckIcon = '';
17539
+ this.listChildNode = [];
17540
+ this.dataType = DataType$2;
17541
+ this.transformer = (node, level) => {
17542
+ let checkHasChild = true;
17543
+ if (!node.children) {
17544
+ checkHasChild = false;
17545
+ }
17546
+ else if (node.expandable) {
17547
+ checkHasChild = false;
17548
+ }
17549
+ // tslint:disable-next-line:max-line-length
17550
+ else if (!!node.children &&
17551
+ node.children.length &&
17552
+ node.children.length === 1 &&
17553
+ !node.children[0].name &&
17554
+ node.id.toString() === this.areaOfCurrentProcess) {
17555
+ checkHasChild = false;
17556
+ }
17557
+ if (!(this.listParentObj[node.id] === 1)) {
17558
+ checkHasChild = false;
17559
+ }
17560
+ return {
17561
+ expandable: node.expandable,
17562
+ name: node.name,
17563
+ level,
17564
+ id: node.id,
17565
+ hasChild: checkHasChild,
17566
+ parentId: node.parentId,
17567
+ disabled: false,
17568
+ levelType: node.levelType
17569
+ };
17570
+ };
17571
+ this.treeFlattener = new MatTreeFlattener(this.transformer, (node) => {
17572
+ return node.level;
17573
+ }, (node) => {
17574
+ return node.expandable;
17575
+ }, (node) => {
17576
+ return node.children;
17577
+ });
17578
+ this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
17579
+ this.hasChild = (_, node) => {
17580
+ return node.expandable;
17581
+ };
17582
+ iconRegistry.addSvgIconLiteral('keyboard_up', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_UP_ICON));
17583
+ iconRegistry.addSvgIconLiteral('keyboard_down', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_DOWN_ICON));
17584
+ appIconService.registerProcessIcon(iconRegistry, domSanitizer);
17585
+ appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);
17586
+ appIconService.registerDocumentIcon(iconRegistry, domSanitizer);
17587
+ appIconService.registerFolderIcon(iconRegistry, domSanitizer);
17588
+ appIconService.registerDeviationIcon(iconRegistry, domSanitizer);
17589
+ appIconService.registerChecklistIcon(iconRegistry, domSanitizer);
17590
+ appIconService.registerRiskIcon(iconRegistry, domSanitizer);
17591
+ }
17592
+ ngOnChanges(changes) {
17593
+ if (changes.treeData && JSON.stringify(changes.treeData.currentValue) !== JSON.stringify(changes.treeData.previousValue)) {
17594
+ this.treeData = [...this.treeData, changes.treeData.currentValue];
17595
+ this.initTreeData();
17596
+ }
17597
+ if (changes.selectedData &&
17598
+ (changes.selectedData.currentValue.length > 0 ||
17599
+ JSON.stringify(changes.selectedData.currentValue) !==
17600
+ JSON.stringify(changes.selectedData.previousValue))) {
17601
+ if (changes.selectedData.currentValue) {
17602
+ this.checkSelected(changes.selectedData.currentValue);
17603
+ }
17604
+ else {
17605
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17606
+ this.checklistSelection.deselect(this.treeControl.dataNodes[i]);
17607
+ }
17608
+ }
17609
+ }
17610
+ if (changes.disabledList && JSON.stringify(changes.disabledList.currentValue) !== JSON.stringify(changes.disabledList.previousValue)) {
17611
+ this.checkDisabledList();
17612
+ }
17613
+ // expand all parent to show node
17614
+ if (changes.expandToChildNode && JSON.stringify(changes.expandToChildNode.currentValue) !== JSON.stringify(changes.expandToChildNode.previousValue)) {
17615
+ this.openExpandToChildNode();
17616
+ }
17617
+ }
17618
+ ngOnInit() {
17619
+ // this.initTreeData();
17620
+ }
17621
+ initTreeData() {
17622
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
17623
+ this.treeData.forEach(item => {
17624
+ if (!!item.parentId && item.parentId.length > 0) {
17625
+ this.listParentObj[item.parentId] = 1;
17626
+ }
17627
+ if (item.id && item.id.length > 0) {
17628
+ this.listParentObj[item.parentId] = 1;
17629
+ }
17630
+ });
17631
+ this.filterData = this.treeData;
17632
+ this.treeObject = TreeFunctions.buildObjectTree(this.filterData);
17633
+ this.dataSource.data = TreeFunctions.buildArrayTree(this.treeObject || {}, 0).map(element => {
17634
+ const item = this.sortDataTree(element);
17635
+ element = null;
17636
+ element = Object.assign({}, item);
17637
+ return element;
17638
+ });
17639
+ this.useExpandFeature = !((_a = this.treeConfig) === null || _a === void 0 ? void 0 : _a.showCheckBox);
17640
+ this.allowSelectFolder = (_b = this.treeConfig) === null || _b === void 0 ? void 0 : _b.allowSelectFolder;
17641
+ this.areaOfCurrentProcess = (_c = this.treeConfig) === null || _c === void 0 ? void 0 : _c.areaOfCurrentProcess;
17642
+ this.showCheckBox = (_d = this.treeConfig) === null || _d === void 0 ? void 0 : _d.showCheckBox;
17643
+ this.onlyCheckBoxForChild = (_e = this.treeConfig) === null || _e === void 0 ? void 0 : _e.onlyCheckBoxForChild;
17644
+ this.moduleId = (_f = this.treeConfig) === null || _f === void 0 ? void 0 : _f.moduleId;
17645
+ this.openIcon = (_g = this.treeConfig) === null || _g === void 0 ? void 0 : _g.openIcon;
17646
+ this.openIconColor = ((_h = this.treeConfig) === null || _h === void 0 ? void 0 : _h.openIconColor) ? (_j = this.treeConfig) === null || _j === void 0 ? void 0 : _j.openIconColor : this.openIconColor;
17647
+ this.closeIcon = (_k = this.treeConfig) === null || _k === void 0 ? void 0 : _k.closeIcon;
17648
+ this.closeIconColor = ((_l = this.treeConfig) === null || _l === void 0 ? void 0 : _l.closeIconColor) ? (_m = this.treeConfig) === null || _m === void 0 ? void 0 : _m.closeIconColor : this.closeIconColor;
17649
+ this.itemIcon = (_o = this.treeConfig) === null || _o === void 0 ? void 0 : _o.itemIcon;
17650
+ this.itemIconSvg = (_p = this.treeConfig) === null || _p === void 0 ? void 0 : _p.itemIconSvg;
17651
+ this.itemIconPath = (_q = this.treeConfig) === null || _q === void 0 ? void 0 : _q.itemIconPath;
17652
+ this.itemIconBase64 = this.domSanitizer.bypassSecurityTrustResourceUrl((_r = this.treeConfig) === null || _r === void 0 ? void 0 : _r.itemIconBase64);
17653
+ this.allowMultipleCheck = (_s = this.treeConfig) === null || _s === void 0 ? void 0 : _s.allowMultipleCheck;
17654
+ this.singleSelectedNode = (_t = this.treeConfig) === null || _t === void 0 ? void 0 : _t.singleSelectedNode;
17655
+ this.onlyFolder = (_u = this.treeConfig) === null || _u === void 0 ? void 0 : _u.onlyFolder;
17656
+ this.checklistSelection = new SelectionModel(this.allowMultipleCheck); /* true: multiple */
17657
+ this.displayType = this.getItemIconType(this.treeConfig);
17658
+ // Expand child node tree
17659
+ if (this.treeConfig.expandAll) {
17660
+ this.treeControl.expandAll();
17661
+ }
17662
+ //Disabled node
17663
+ if (this.disabledList.length) {
17664
+ this.checkDisabledList();
17665
+ }
17666
+ if (this.selectedData.length) {
17667
+ this.checkSelected(this.selectedData);
17668
+ }
17669
+ // Risk Tree
17670
+ if (this.selectedRiskData.length) {
17671
+ const selectedData = [];
17672
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17673
+ this.selectedRiskData.forEach(x => {
17674
+ const index = selectedData.findIndex(el => el.id === x.rootId);
17675
+ if (x.rootId === this.treeControl.dataNodes[i].id && index < 0) {
17676
+ selectedData.push(this.treeControl.dataNodes[i]);
17677
+ }
17678
+ });
17679
+ }
17680
+ this.checkSelected(selectedData);
17681
+ this.checkBoxEvent.emit(selectedData);
17682
+ }
17683
+ // keep expand
17684
+ if (this.parentNodeOnClick && Object.keys(this.parentNodeOnClick).length) {
17685
+ let tempParent = [];
17686
+ let root = new TreeFlatNode();
17687
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17688
+ const tree = this.treeControl.dataNodes[i];
17689
+ if (this.parentNodeOnClick.parentId === tree.parentId && this.parentNodeOnClick.id === tree.id
17690
+ || this.parentNodeOnClick.parentId === tree.id) {
17691
+ tempParent = [...tempParent, this.getParent(tree)];
17692
+ root = tree;
17693
+ }
17694
+ }
17695
+ tempParent.push(root);
17696
+ tempParent.forEach(x => {
17697
+ this.treeControl.expand(x);
17698
+ });
17699
+ }
17700
+ }
17701
+ getParent(node) {
17702
+ const { treeControl } = this;
17703
+ const currentLevel = treeControl.getLevel(node);
17704
+ if (currentLevel < 1) {
17705
+ return null;
17706
+ }
17707
+ const index = treeControl.dataNodes.indexOf(node) - 1;
17708
+ for (let i = index; i >= 0; i--) {
17709
+ const currentNode = treeControl.dataNodes[i];
17710
+ if (treeControl.getLevel(currentNode) < currentLevel) {
17711
+ return currentNode;
17712
+ }
17713
+ }
17714
+ }
17715
+ openExpandToChildNode() {
17716
+ if (this.expandToChildNode.length) {
17717
+ if (this.expandToChildNode[0] === '') {
17718
+ this.idCheckIcon = '';
17719
+ this.treeControl.collapseAll();
17720
+ this.cdRef.detectChanges();
17721
+ return;
17722
+ }
17723
+ let itemMarkChecked = this.expandToChildNode[this.expandToChildNode.length - 1].toUpperCase();
17724
+ this.idCheckIcon = itemMarkChecked;
17725
+ // get all children nodes on same level
17726
+ let listChildNodeSameLevel = this.findChildNode(itemMarkChecked, this.dataSource.data);
17727
+ // get all children in all level
17728
+ this.listChildNode = [];
17729
+ this.getChild(listChildNodeSameLevel);
17730
+ this.getChildNodeSelectOne.emit(this.listChildNode);
17731
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17732
+ if (itemMarkChecked === this.treeControl.dataNodes[i].id) {
17733
+ this.selectNodeEvent.emit(this.treeControl.dataNodes[i]);
17734
+ }
17735
+ this.expandToChildNode.forEach(el => {
17736
+ if (this.treeControl.dataNodes[i].id === el.toUpperCase()) {
17737
+ this.treeControl.expand(this.treeControl.dataNodes[i]);
17738
+ }
17739
+ });
17740
+ }
17741
+ }
17742
+ }
17743
+ checkDisabledList() {
17744
+ // Disable List
17745
+ if (this.disabledList.length) {
17746
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17747
+ this.disabledList.forEach(x => {
17748
+ var _a;
17749
+ if (x.id === this.treeControl.dataNodes[i].id
17750
+ && (!x.parentId || x.parentId === ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.parentId))) {
17751
+ this.treeControl.dataNodes[i].disabled = true;
17752
+ }
17753
+ });
17754
+ }
17755
+ }
17756
+ //Selected node with select one
17757
+ if (this.disabledList.length && this.treeConfig.selectOne) {
17758
+ let itemMarkChecked = this.disabledList[this.disabledList.length - 1].toUpperCase();
17759
+ this.idCheckIcon = itemMarkChecked;
17760
+ // get all children nodes on same level
17761
+ let listChildNodeSameLevel = this.findChildNode(itemMarkChecked, this.dataSource.data);
17762
+ // get all children in all level
17763
+ this.listChildNode = [];
17764
+ this.getChild(listChildNodeSameLevel);
17765
+ this.getChildNodeSelectOne.emit(this.listChildNode);
17766
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17767
+ if (itemMarkChecked === this.treeControl.dataNodes[i].id) {
17768
+ this.selectNodeEvent.emit(this.treeControl.dataNodes[i]);
17769
+ }
17770
+ this.disabledList.forEach(el => {
17771
+ if (this.treeControl.dataNodes[i].id === el.toUpperCase()) {
17772
+ this.treeControl.expand(this.treeControl.dataNodes[i]);
17773
+ }
17774
+ });
17775
+ // remove all children nodes when user dont need to show them
17776
+ this.listChildNode.forEach(el => {
17777
+ var _a;
17778
+ if (el.id && ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.id) === el.id) {
17779
+ this.treeControl.dataNodes.splice(i, 1);
17780
+ }
17781
+ });
17782
+ }
17783
+ }
17784
+ else {
17785
+ this.idCheckIcon = '';
17786
+ this.treeControl.collapseAll();
17787
+ this.cdRef.detectChanges();
17788
+ }
17789
+ }
17790
+ getChild(obj) {
17791
+ for (let i = 0; i < obj.children.length; i++) {
17792
+ if (obj.children[i].children) {
17793
+ this.getChild(obj.children[i]);
17794
+ delete obj.children[i].children;
17795
+ this.listChildNode.push(obj.children[i]);
17796
+ }
17797
+ else {
17798
+ this.listChildNode.push(obj.children[i]);
17799
+ }
17800
+ }
17801
+ }
17802
+ sortDataTree(obj) {
17803
+ if (obj.children) {
17804
+ let child = [];
17805
+ const leafNode = obj.children.filter(x => !x.children);
17806
+ const subFolderNode = obj.children.filter(x => x.children);
17807
+ // for(let index = subFolderNode.length - 1; index >= 0 ; index--){
17808
+ // let el = subFolderNode[index];
17809
+ // this.sortDataTree(el);
17810
+ // child.unshift(el);
17811
+ // }
17812
+ subFolderNode.forEach(element => {
17813
+ let el = element;
17814
+ this.sortDataTree(el);
17815
+ child.push(el);
17816
+ });
17817
+ leafNode.forEach(element => {
17818
+ let el = element;
17819
+ child.push(el);
17820
+ });
17821
+ obj.children = child;
17822
+ }
17823
+ return obj;
17824
+ }
17825
+ getImagePath() {
17826
+ return this.domSanitizer.bypassSecurityTrustResourceUrl(this.treeConfig.itemIconBase64);
17827
+ }
17828
+ checkSelected(itemSelected) {
17829
+ setTimeout(() => {
17830
+ if (!this.treeControl['dataNodes'])
17831
+ return;
17832
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17833
+ const tree = this.treeControl.dataNodes[i];
17834
+ this.checklistSelection.deselect(tree);
17835
+ for (let j = 0; j < itemSelected.length; j++) {
17836
+ const element = itemSelected[j];
17837
+ if (tree.id.toLocaleLowerCase() === element.id.toLocaleLowerCase() && (!element.parentId || tree.parentId.toLocaleLowerCase() === element.parentId.toLocaleLowerCase())) {
17838
+ this.checklistSelection.select(tree);
17839
+ }
17840
+ }
17841
+ }
17842
+ }, 500);
17843
+ }
17844
+ checkSelectedSameNode(itemSelected, flag) {
17845
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17846
+ const tree = this.treeControl.dataNodes[i];
17847
+ for (let j = 0; j < itemSelected.length; j++) {
17848
+ const element = itemSelected[j];
17849
+ if (element.id && tree.id === element.id
17850
+ && tree.parentId === element.parentId && !tree.disabled) {
17851
+ flag ? this.checklistSelection.select(tree) : this.checklistSelection.deselect(tree);
17852
+ }
17853
+ }
17854
+ }
17855
+ }
17856
+ getItemIconType(treeConfig) {
17857
+ if (treeConfig.itemIcon && treeConfig.itemIcon.length)
17858
+ return this.itemIconType.name;
17859
+ if (treeConfig.itemIconPath && treeConfig.itemIconPath.length)
17860
+ return this.itemIconType.path;
17861
+ if (treeConfig.itemIconBase64 && treeConfig.itemIconBase64.length)
17862
+ return this.itemIconType.base64;
17863
+ if (treeConfig.itemIconSvg && treeConfig.itemIconSvg.length)
17864
+ return this.itemIconType.svg;
17865
+ return this.itemIconType.none;
17866
+ }
17867
+ /** Whether all the descendants of the node are selected */
17868
+ descendantsAllSelected(node) {
17869
+ const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];
17870
+ if (!descendants.length) {
17871
+ return this.checklistSelection.isSelected(node);
17872
+ }
17873
+ const selected = this.checklistSelection.isSelected(node);
17874
+ const allSelected = descendants.every(child => this.checklistSelection.isSelected(child));
17875
+ if (!selected && allSelected) {
17876
+ this.checklistSelection.select(node);
17877
+ this.cdRef.markForCheck();
17878
+ }
17879
+ return allSelected;
17880
+ }
17881
+ /** Whether part of the descendants are selected */
17882
+ descendantsPartiallySelected(node) {
17883
+ const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];
17884
+ const result = descendants.some(child => this.checklistSelection.isSelected(child));
17885
+ return result && !this.descendantsAllSelected(node);
17886
+ }
17887
+ /** Toggle the to-do item selection. Select/deselect all the descendants node */
17888
+ todoItemSelectionToggle(node) {
17889
+ switch (this.moduleId) {
17890
+ case DataType$2.document:
17891
+ node.itemType = node.expandable ? DataType$2.folder : DataType$2.document;
17892
+ break;
17893
+ case DataType$2.process:
17894
+ node.itemType = node.expandable ? DataType$2.area : DataType$2.process;
17895
+ break;
17896
+ case DataType$2.checklist:
17897
+ node.itemType = node.expandable ? DataType$2.checklistCategory : DataType$2.checklist;
17898
+ break;
17899
+ case DataType$2.deviation:
17900
+ node.itemType = node.expandable ? DataType$2.deviationType : DataType$2.deviation;
17901
+ break;
17902
+ case DataType$2.risk:
17903
+ node.itemType = node.expandable ? DataType$2.riskFolder : DataType$2.risk;
17904
+ break;
17905
+ }
17906
+ this.selectNodeEvent.emit(node);
17907
+ // tree have duplicate node
17908
+ if (this.treeConfig.canHaveDupId) {
17909
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17910
+ if (this.treeControl.dataNodes[i].id === node.id
17911
+ && this.treeControl.dataNodes[i].parentId === node.parentId
17912
+ && !this.treeControl.dataNodes[i].disabled) {
17913
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
17914
+ }
17915
+ }
17916
+ }
17917
+ else {
17918
+ this.checklistSelection.toggle(node);
17919
+ }
17920
+ // process/ document single selected
17921
+ if (this.singleSelectedNode) {
17922
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17923
+ }
17924
+ else {
17925
+ const descendants = this.treeControl.getDescendants(node).filter(item => !item.disabled);
17926
+ this.checkSelectedSameNode(descendants, this.descendantsAllSelected(node));
17927
+ !this.descendantsAllSelected(node)
17928
+ ? this.checklistSelection.select(...descendants)
17929
+ : this.checklistSelection.deselect(...descendants);
17930
+ this.cdRef.markForCheck();
17931
+ const allNodeIsParent = this.checklistSelection.selected.every(child => child.expandable);
17932
+ if (allNodeIsParent) {
17933
+ this.checklistSelection.selected.forEach(element => {
17934
+ this.checklistSelection.deselect(element);
17935
+ });
17936
+ }
17937
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17938
+ }
17939
+ }
17940
+ todoChildSelectionToggle(node) {
17941
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17942
+ if (this.treeControl.dataNodes[i].id === node.id
17943
+ && this.treeControl.dataNodes[i].parentId === node.parentId
17944
+ && !this.treeControl.dataNodes[i].disabled) {
17945
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
17946
+ }
17947
+ }
17948
+ // this.checklistSelection.toggle(node);
17949
+ this.cdRef.markForCheck();
17950
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17951
+ }
17952
+ todoItemSelection(nodes) {
17953
+ nodes.forEach(node => {
17954
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17955
+ if (this.treeControl.dataNodes[i].id === node.id &&
17956
+ this.treeControl.dataNodes[i].parentId === node.parentId &&
17957
+ !this.treeControl.dataNodes[i].disabled && !this.treeControl.dataNodes[i].expandable) {
17958
+ if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
17959
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
17960
+ }
17961
+ }
17962
+ });
17963
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17964
+ }
17965
+ todoItemSelectionProcessDocument(nodes) {
17966
+ nodes.forEach(node => {
17967
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17968
+ if (this.treeControl.dataNodes[i].id === node.id &&
17969
+ this.treeControl.dataNodes[i].parentId === node.parentId &&
17970
+ !this.treeControl.dataNodes[i].disabled && !this.treeControl.dataNodes[i].expandable) {
17971
+ if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
17972
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
17973
+ }
17974
+ }
17975
+ });
17976
+ setTimeout(() => {
17977
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17978
+ this.treeControlNodes.emit(this.treeControl);
17979
+ }, 500);
17980
+ }
17981
+ todoFolderSelection(nodes) {
17982
+ nodes.forEach(node => {
17983
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17984
+ if (this.treeControl.dataNodes[i].id === node.id &&
17985
+ this.treeControl.dataNodes[i].parentId === node.parentId &&
17986
+ !this.treeControl.dataNodes[i].disabled && this.treeControl.dataNodes[i].expandable) {
17987
+ if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
17988
+ this.todoItemSelectionToggle(this.treeControl.dataNodes[i]);
17989
+ }
17990
+ }
17991
+ });
17992
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17993
+ }
17994
+ selectNode(node) {
17995
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
17996
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
17997
+ }
17998
+ if (this.treeConfig.selectOne) {
17999
+ node.itemType = this.checkDataTypeSelectNode(node);
18000
+ this.idCheckIcon = node.id;
18001
+ this.selectNodeEvent.emit(node);
18002
+ }
18003
+ }
18004
+ checkDataTypeSelectNode(node) {
18005
+ let itemType = -1;
18006
+ switch (this.moduleId) {
18007
+ case DataType$2.process:
18008
+ itemType = node.expandable ? DataType$2.area : DataType$2.process;
18009
+ break;
18010
+ case DataType$2.document:
18011
+ itemType = node.expandable ? DataType$2.folder : DataType$2.document;
18012
+ break;
18013
+ default:
18014
+ itemType = this.moduleId;
18015
+ break;
18016
+ }
18017
+ return itemType;
18018
+ }
18019
+ selectFolder(node) {
18020
+ this.selectFolderEvent.emit(node);
18021
+ }
18022
+ onExpandNode(node, isExpandNode) {
18023
+ if (isExpandNode) {
18024
+ this.nodeExpandEvent.emit(node);
18025
+ }
18026
+ if (this.treeConfig.selectOne) {
18027
+ this.idCheckIcon = node.id;
18028
+ node.itemType = this.checkDataTypeSelectNode(node);
18029
+ this.selectNodeEvent.emit(node);
18030
+ }
18031
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
18032
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
18033
+ }
18034
+ // set useExpandFeature = true to improve performance of tree loading
18035
+ if (!isExpandNode || !this.useExpandFeature) {
18036
+ for (let i = 0; i < this.arrIndex.length; i++) {
18037
+ if (this.arrIndex[i] === node.id) {
18038
+ this.arrIndex.splice(i, 1);
18039
+ }
18040
+ }
18041
+ return;
18042
+ }
18043
+ // get array index to expand node after refresh datasource
18044
+ let index = 0;
18045
+ let isChange = false;
18046
+ let isRemove = false;
18047
+ this.arrIndex.push(node.id);
18048
+ const childArray = this.treeData.filter((x) => {
18049
+ return x.parentId === node.id;
18050
+ });
18051
+ let rootId = '0';
18052
+ let parentElement;
18053
+ let childrenList;
18054
+ if (childArray.length === 0) {
18055
+ return;
18056
+ }
18057
+ childArray.forEach((item) => {
18058
+ if (item.parentId === rootId) {
18059
+ return;
18060
+ }
18061
+ // get child node from original datasource
18062
+ const child = this.getChildNode(item.parentId, childArray);
18063
+ rootId = item.parentId;
18064
+ index = this.getNodeIndex(child.id, undefined, this.dataSource['_treeControl'].dataNodes);
18065
+ if (index > -1) {
18066
+ return;
18067
+ }
18068
+ // add child node to expand node
18069
+ parentElement = this.findChildNode(node.id, this.dataSource.data);
18070
+ if (parentElement) {
18071
+ // temporary remove all node without children => purpose to add node folder first
18072
+ if (!isRemove) {
18073
+ childrenList = [...parentElement.children];
18074
+ this.removeChildren(parentElement);
18075
+ isRemove = true;
18076
+ }
18077
+ // add node folder first
18078
+ parentElement.children.push(child);
18079
+ isChange = true;
18080
+ }
18081
+ });
18082
+ // add node without children again
18083
+ if (isRemove) {
18084
+ this.addChildren(parentElement, childrenList);
18085
+ }
18086
+ // refresh data and expand tree node from root node
18087
+ if (isChange) {
18088
+ this.refreshTreeData();
18089
+ this.arrIndex.forEach((item) => {
18090
+ index = this.getNodeIndex(item, undefined, this.dataSource['_treeControl'].dataNodes);
18091
+ this.treeControl.expand(this.treeControl.dataNodes[index]);
18092
+ });
18093
+ isChange = false;
18094
+ }
18095
+ }
18096
+ removeChildren(parentElement) {
18097
+ if (parentElement.children) {
18098
+ parentElement.children.length = 0;
18099
+ }
18100
+ }
18101
+ addChildren(parentElement, childrenList) {
18102
+ if (childrenList) {
18103
+ childrenList.forEach((e) => {
18104
+ parentElement.children.push(e);
18105
+ });
18106
+ }
18107
+ }
18108
+ getNodeIndex(id, level, data) {
18109
+ if (level) {
18110
+ return data.findIndex((x) => {
18111
+ return x.id === id && x.level === level;
18112
+ });
18113
+ }
18114
+ return data.findIndex((x) => {
18115
+ return x.id === id;
18116
+ });
18117
+ }
18118
+ getChildNode(rootId, data) {
18119
+ const childArray = data.filter((x) => {
18120
+ return x.rootId === rootId;
18121
+ });
18122
+ const child = { id: childArray[0].rootId, name: childArray[0].subName, children: [] };
18123
+ childArray.forEach((item) => {
18124
+ child.children.push({ id: item.childId, name: item.childName, parentId: rootId, expandable: false });
18125
+ });
18126
+ return child;
18127
+ }
18128
+ findChildNode(id, data) {
18129
+ // eslint-disable-next-line no-restricted-syntax
18130
+ for (const currentFather of data) {
18131
+ if (currentFather.id === id) {
18132
+ return currentFather;
18133
+ }
18134
+ if (currentFather.children) {
18135
+ const currentChild = currentFather.children.find((x) => {
18136
+ return x.id === id;
18137
+ });
18138
+ if (currentChild) {
18139
+ return currentChild;
18140
+ }
18141
+ // eslint-disable-next-line no-restricted-syntax
18142
+ for (const currentChild1 of currentFather.children) {
18143
+ if (id !== currentChild1.id) {
18144
+ const result = this.findChildNode(id, currentFather.children);
18145
+ if (result !== false) {
18146
+ return result;
18147
+ }
18148
+ }
18149
+ }
18150
+ }
18151
+ }
18152
+ return false;
18153
+ }
18154
+ refreshTreeData() {
18155
+ const data = this.dataSource.data;
18156
+ this.dataSource.data = [];
18157
+ this.dataSource.data = data;
18158
+ }
18159
+ getNodeIcon(node) {
18160
+ if (this.openIcon && this.closeIcon) {
18161
+ return this.treeControl.isExpanded(node) ? this.openIcon : this.closeIcon;
18162
+ }
18163
+ switch (this.moduleId) {
18164
+ case DataType$2.document: {
18165
+ let nodeData = this.treeData.filter(x => { return x.id === node.id; });
18166
+ if (nodeData.length > 0) {
18167
+ switch (nodeData[0].levelType) {
18168
+ case DocumentNodeType$2.DepartmentFolder:
18169
+ return this.treeControl.isExpanded(node) ? 'department_folder_outlined' : 'department_folder';
18170
+ case DocumentNodeType$2.RegionalFolder:
18171
+ return this.treeControl.isExpanded(node) ? 'regional_folder_outlined' : 'regional_folder';
18172
+ case DocumentNodeType$2.TopFolder:
18173
+ return this.treeControl.isExpanded(node) ? 'enterprise_folder_outlined' : 'enterprise_folder';
18174
+ case DocumentNodeType$2.Folder:
18175
+ return this.treeControl.isExpanded(node) ? 'local_folder_outlined' : 'local_folder';
18176
+ default:
18177
+ return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';
18178
+ }
18179
+ }
18180
+ return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';
18181
+ }
18182
+ case DataType$2.process:
18183
+ return this.treeControl.isExpanded(node) ? 'process_area_outlined' : 'process_area';
18184
+ default:
18185
+ return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
18186
+ }
18187
+ }
18188
+ getItemIcon(node) {
18189
+ switch (this.moduleId) {
18190
+ case DataType$2.document:
18191
+ const parent = this.treeData.filter(x => { return x.id === node.parentId; });
18192
+ if (parent.length > 0) {
18193
+ switch (parent[0].levelType) {
18194
+ case DocumentNodeType$2.DepartmentFolder:
18195
+ return 'document_department';
18196
+ case DocumentNodeType$2.RegionalFolder:
18197
+ return 'document_regional';
18198
+ case DocumentNodeType$2.TopFolder:
18199
+ return 'document_enterprise';
18200
+ case DocumentNodeType$2.Folder:
18201
+ return 'document_local';
18202
+ default:
18203
+ return 'document';
18204
+ }
18205
+ }
18206
+ return 'document';
18207
+ case DataType$2.process:
18208
+ return 'process';
18209
+ case DataType$2.checklist:
18210
+ return 'checklist';
18211
+ case DataType$2.deviation:
18212
+ return 'deviation';
18213
+ case DataType$2.risk:
18214
+ return 'risk';
18215
+ default:
18216
+ return 'document';
18217
+ }
18218
+ }
18219
+ getNodeId(node) {
18220
+ return `_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`;
18221
+ }
18222
+ getNodeByIdAndParentId(nodeId, parentId) {
18223
+ return this.treeControl.dataNodes.find(x => {
18224
+ return x.id === nodeId && x.parentId === parentId;
18225
+ });
18226
+ }
18227
+ expandNode(node) {
18228
+ this.treeControl.expand(node);
18229
+ }
18230
+ }
18231
+ NewTreeComponent.decorators = [
18232
+ { type: Component, args: [{
18233
+ selector: 'qms-tree-new',
18234
+ template: "<mat-tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"tree__container\"\r\n>\r\n <mat-tree-node\r\n class=\"tree-branch\"\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n >\r\n <!-- form thu 1 - child -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n >\r\n </mat-checkbox>\r\n\r\n <!-- form thu 2 -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"ml-10 checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <div\r\n class=\"expand-node\"\r\n *ngIf=\"node.name && !onlyFolder\"\r\n [class.bgSelected]=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n (click)=\"selectNode(node)\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <div class=\"expand-node__text\">\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.name && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n >\r\n {{ itemIcon }}\r\n </mat-icon>\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.svg && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"itemIconSvg\"\r\n >\r\n </mat-icon>\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.path && !onlyCheckBoxForChild\"\r\n class=\"mat-icon\"\r\n [src]=\"itemIconPath\"\r\n />\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.base64 && !onlyCheckBoxForChild\"\r\n class=\"mat-icon image-base64\"\r\n [src]=\"getImagePath()\"\r\n />\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.none && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getItemIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.name }}</span>\r\n </div>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </div>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding>\r\n <!-- form thu 1 - parent -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild\"\r\n [checked]=\"descendantsAllSelected(node)\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <button\r\n class=\"button-boder\"\r\n mat-icon-button\r\n matTreeNodeToggle\r\n [disableRipple]=\"!node.hasChild\"\r\n [attr.aria-label]=\"'toggle ' + node.filename\"\r\n *ngIf=\"node.name\"\r\n (click)=\"onExpandNode(node, treeControl.isExpanded(node))\"\r\n >\r\n <mat-icon\r\n *ngIf=\"openIcon && closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : closeIconColor\r\n }\"\r\n >{{ getNodeIcon(node) }}</mat-icon\r\n >\r\n <mat-icon\r\n *ngIf=\"!openIcon || !closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngClass]=\"{\r\n 'open-icon': treeControl.isExpanded(node),\r\n 'not-department-icon': moduleId !== dataType.document\r\n }\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n >\r\n </mat-icon>\r\n </button>\r\n <span\r\n *ngIf=\"expandOnTitleClick\"\r\n matTreeNodeToggle\r\n class=\"text-node-parent\"\r\n style=\"cursor: pointer\"\r\n (click)=\"onExpandNode(node, treeControl.isExpanded(node))\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : '#000000'\r\n }\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n <span\r\n *ngIf=\"!expandOnTitleClick\"\r\n class=\"text-node-parent\"\r\n (click)=\"selectFolder(node)\"\r\n style=\"cursor: pointer\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n </mat-tree-node>\r\n</mat-tree>\r\n",
18235
+ encapsulation: ViewEncapsulation.None,
18236
+ styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.tree__container{font-family:Open Sans;font-style:normal;font-weight:400;font-size:.875rem;line-height:19px;color:#323232}.tree__container .mat-tree-node{color:#000;min-height:0}.tree__container .mat-tree-node .mat-checkbox.qms-group-options{padding:0}.tree__container .mat-tree-node .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:11px}.tree__container .button{margin-left:6px}.tree__container .button:focus,.tree__container .button:hover{background-color:#009ef2;border-radius:2px;width:auto}.tree__container .button-boder:focus,.tree__container .button:focus{outline:0}.tree__container .button-folder-boder:focus{outline:0}.tree__container .button-folder-boder:focus,.tree__container .button-folder-boder:hover{background-color:#009ef2;border-radius:2px;width:auto}.tree__container .expand-node{margin-left:8px;min-height:32px;justify-content:space-between;width:100%}.tree__container .expand-node,.tree__container .expand-node .expand-node__text{display:flex;align-items:center}.tree__container .expand-node .mat-icon{color:rgba(0,0,0,.6);margin-right:17px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.tree__container .expand-node .mat-icon svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.tree__container .expand-node.bgSelected .icon-check{color:#1954a9}.tree__container .text-node-parent{width:100%;display:flex;align-items:center;justify-content:space-between;margin-left:10px;cursor:pointer}.tree__container .text-node-parent.active-item{color:#1954a9!important}.tree__container .text-node-parent.bgSelected .icon-check{color:#1954a9}.tree__container .mr-11{margin-right:11px}.tree__container .ml-10{margin-left:10px}.tree__container .tree-branch:hover{background-color:#e5eefb}.tree__container .image-base64{width:20px;height:20px}.tree__container .mat-checkbox.qms-group-options.mat-checkbox-checked{background:transparent!important}::ng-deep .mat-tree .mat-checkbox.qms-group-options{padding:0}::ng-deep .mat-tree .mat-checkbox.qms-group-options.mat-checkbox-checked{background-color:transparent}::ng-deep .mat-tree .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:0}svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.open-icon.not-department-icon svg path,.open-icon svg path:first-child{fill:#1954a9}"]
18237
+ },] }
18238
+ ];
18239
+ NewTreeComponent.ctorParameters = () => [
18240
+ { type: ChangeDetectorRef },
18241
+ { type: DomSanitizer },
18242
+ { type: MatIconRegistry },
18243
+ { type: QMSIconRegistryService }
18244
+ ];
18245
+ NewTreeComponent.propDecorators = {
18246
+ treeData: [{ type: Input }],
18247
+ treeConfig: [{ type: Input }],
18248
+ selectedData: [{ type: Input }],
18249
+ selectedRiskData: [{ type: Input }],
18250
+ disabledList: [{ type: Input }],
18251
+ expandOnTitleClick: [{ type: Input }],
18252
+ expandToChildNode: [{ type: Input }],
18253
+ parentNodeOnClick: [{ type: Input }],
18254
+ selectNodeEvent: [{ type: Output }],
18255
+ selectFolderEvent: [{ type: Output }],
18256
+ checkBoxEvent: [{ type: Output }],
18257
+ childCheckedEvent: [{ type: Output }],
18258
+ nodeExpandEvent: [{ type: Output }],
18259
+ getChildNodeSelectOne: [{ type: Output }],
18260
+ treeControlNodes: [{ type: Output }]
18261
+ };
18262
+
18263
+ class QMSNewTreeModule {
18264
+ }
18265
+ QMSNewTreeModule.decorators = [
18266
+ { type: NgModule, args: [{
18267
+ declarations: [
18268
+ NewTreeComponent,
18269
+ ],
18270
+ imports: [
18271
+ CommonModule,
18272
+ MatTreeModule,
18273
+ MatFormFieldModule,
18274
+ MatIconModule,
18275
+ MatButtonModule,
18276
+ MatCheckboxModule,
18277
+ MatAutocompleteModule,
18278
+ ReactiveFormsModule,
18279
+ ScrollingModule,
18280
+ MatCardModule,
18281
+ MatSidenavModule,
18282
+ MatListModule,
18283
+ SharedMaterialModule,
18284
+ QMSListModule,
18285
+ QmsAngularModule,
18286
+ QMSBreadcrumbModule,
18287
+ QMSAppIconModule
18288
+ ],
18289
+ exports: [
18290
+ NewTreeComponent,
18291
+ ]
18292
+ },] }
18293
+ ];
18294
+
18295
+ class SelectProcessDocumentPopupData {
18296
+ constructor() {
18297
+ this.moduleId = 0;
18298
+ this.moduleName = '';
18299
+ this.treeData1 = [];
18300
+ this.treeData2 = [];
18301
+ this.selectedNode = [];
18302
+ this.disabledList = [];
18303
+ this.disabledList2 = [];
18304
+ this.splitView = false;
18305
+ }
18306
+ }
18307
+
18308
+ class QMSProcessDocumentItem {
18309
+ }
18310
+
18311
+ class QMSSelectProcessDocumentGlobalService {
18312
+ constructor() {
18313
+ this.searchRelated = new BehaviorSubject([]);
18314
+ this.splitViewValue = new BehaviorSubject([]);
18315
+ this.getProcessAreaChildren = new BehaviorSubject([]);
18316
+ this.getFolderChildren = new BehaviorSubject([]);
18317
+ }
18318
+ setSearchRelated(result) {
18319
+ this.searchRelated.next(result);
18320
+ }
18321
+ setSplitviewValue(result) {
18322
+ this.splitViewValue.next(result);
18323
+ }
18324
+ setProcessAreaChildren(result) {
18325
+ this.getProcessAreaChildren.next(result);
18326
+ }
18327
+ setFolderChildren(result) {
18328
+ this.getFolderChildren.next(result);
18329
+ }
18330
+ }
18331
+ QMSSelectProcessDocumentGlobalService.ɵprov = i0.ɵɵdefineInjectable({ factory: function QMSSelectProcessDocumentGlobalService_Factory() { return new QMSSelectProcessDocumentGlobalService(); }, token: QMSSelectProcessDocumentGlobalService, providedIn: "root" });
18332
+ QMSSelectProcessDocumentGlobalService.decorators = [
18333
+ { type: Injectable, args: [{ providedIn: 'root' },] }
18334
+ ];
18335
+ QMSSelectProcessDocumentGlobalService.ctorParameters = () => [];
18336
+
18337
+ class SelectProcessDocumentPopupComponent {
18338
+ constructor(cdRef, translate, dialogRef, globalService, iconRegistry, sanitizer, appIconService, elem, data) {
18339
+ this.cdRef = cdRef;
18340
+ this.translate = translate;
18341
+ this.dialogRef = dialogRef;
18342
+ this.globalService = globalService;
18343
+ this.iconRegistry = iconRegistry;
18344
+ this.sanitizer = sanitizer;
18345
+ this.appIconService = appIconService;
18346
+ this.elem = elem;
18347
+ this.data = data;
18348
+ this.ngUnsubscribe = new Subject();
18349
+ this.moduleId = 0;
18350
+ this.moduleName = '';
18351
+ this.treeData1 = [];
18352
+ this.treeData2 = [];
18353
+ this.checkedNodeList = [];
18354
+ this.selectedNode = [];
18355
+ this.selectedData = [];
18356
+ this.selectedData2 = [];
18357
+ this.commonCheckedList = [];
18358
+ this.documentCheckedList = [];
18359
+ this.singleProcessList = [];
18360
+ this.singleDocumentList = [];
18361
+ this.module = ModuleType$1;
18362
+ this.dataType = DataType$1;
18363
+ this.itemType = 0;
18364
+ this.selectedRiskData = [];
18365
+ this.disabledList = [];
18366
+ this.disabledList2 = [];
18367
+ this.isDocumentExpanded = true;
18368
+ this.isCommonExpanded = true;
18369
+ this.singleSelectedNode = false;
18370
+ this.searchOrder = [];
18371
+ this.myControl = new FormControl();
18372
+ this.filteredOptions = [];
18373
+ this.isInputValue = false;
18374
+ this.itemInSplitview = [];
18375
+ this.selectedFolder = null;
18376
+ this.splitViewTitle = null;
18377
+ this.listChildrenSelectOne = [];
18378
+ this.onSearch = new EventEmitter();
18379
+ this.onSelectFolderItem = new EventEmitter();
18380
+ this.onExpandProcessArea = new EventEmitter();
18381
+ this.onExpandFolder = new EventEmitter();
18382
+ this.parentNodeSelected = new TreeFlatNode();
18383
+ this.moduleId = data.moduleId;
18384
+ this.moduleName = data.moduleName;
18385
+ this.treeData1 = data.treeData1;
18386
+ this.treeData2 = data.treeData2;
18387
+ this.treeConfig1 = data.treeConfig1;
18388
+ this.treeConfig2 = data.treeConfig2;
18389
+ this.selectedRiskData = (data === null || data === void 0 ? void 0 : data.selectedNode) || [];
18390
+ this.singleSelectedNode = data.treeConfig1.singleSelectedNode;
18391
+ this.disabledList = data.disabledList || [];
18392
+ this.disabledList2 = data.disabledList2 || [];
18393
+ this.splitView = data.splitView;
18394
+ this.isSelectOne = data.isSelectOne;
18395
+ this.canOnlySelectItem = data.canOnlySelectItem;
18396
+ appIconService.registerProcessIcon(iconRegistry, sanitizer);
18397
+ appIconService.registerProcessAreaIcon(iconRegistry, sanitizer);
18398
+ appIconService.registerDocumentIcon(iconRegistry, sanitizer);
18399
+ appIconService.registerFolderIcon(iconRegistry, sanitizer);
18400
+ }
18401
+ ngOnDestroy() {
18402
+ this.ngUnsubscribe.next();
18403
+ this.ngUnsubscribe.complete();
18404
+ this.globalService.setSearchRelated([]);
18405
+ this.selectedFolder = null;
18406
+ this.globalService.setSplitviewValue([]);
18407
+ }
18408
+ onMessage(event) {
18409
+ if (event.data === RelatedConst.HIDE_SEARCH_RESULT) {
18410
+ // this.autoComplete.closePanel();
18411
+ }
18412
+ }
18413
+ ngOnInit() {
18414
+ this.translate.getLanguageSubject$.pipe().subscribe((res) => {
18415
+ if (res) {
18416
+ this.LANG = this.translate.getObjectLang(res);
18417
+ }
18418
+ });
18419
+ this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18420
+ if (res && res.length) {
18421
+ this.filteredOptions = res;
18422
+ }
18423
+ });
18424
+ this.globalService.splitViewValue.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18425
+ this.itemInSplitview = res;
18426
+ if (res.length) {
18427
+ let listNodeProcess = [];
18428
+ let listNodeDocs = [];
18429
+ res.forEach(item => {
18430
+ let newNodeProcess = new NewTreeModel();
18431
+ newNodeProcess.id = item.id;
18432
+ newNodeProcess.name = item.itemName;
18433
+ newNodeProcess.displayId = +item.itemNumberId;
18434
+ newNodeProcess.parentId = item.parentId;
18435
+ newNodeProcess.statusId = item.status;
18436
+ if (item.itemType === DataType$1.process) {
18437
+ listNodeProcess.push(newNodeProcess);
18438
+ }
18439
+ else {
18440
+ let newNodeDocs = new NewTreeModel();
18441
+ newNodeDocs.statusName = item.statusName;
18442
+ listNodeDocs.push(newNodeDocs);
18443
+ }
18444
+ });
18445
+ if (this.checkedNodeList.length) {
18446
+ this.selectedData = [];
18447
+ this.selectedData2 = [];
18448
+ let selectProcess = [];
18449
+ let selectDocument = [];
18450
+ this.checkedNodeList.forEach(x => {
18451
+ const newNode = {
18452
+ disabled: false,
18453
+ expandable: (x.itemType == DataType$1.area || x.itemType == DataType$1.folder) ? true : false,
18454
+ hasChild: (x.itemType == DataType$1.area || x.itemType == DataType$1.folder) ? true : false,
18455
+ id: x.id,
18456
+ level: 0,
18457
+ levelType: undefined,
18458
+ name: x.itemName,
18459
+ parentId: x.parentId
18460
+ };
18461
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
18462
+ this.treeData1.forEach(item => {
18463
+ if (item.id && x.id === item.id) {
18464
+ selectProcess.push(newNode);
18465
+ }
18466
+ });
18467
+ }
18468
+ else {
18469
+ this.treeData2.forEach(item => {
18470
+ if (item.id && x.id === item.id) {
18471
+ selectDocument.push(newNode);
18472
+ }
18473
+ });
18474
+ }
18475
+ });
18476
+ this.selectedData = [...this.selectedData, ...selectProcess];
18477
+ this.selectedData2 = [...this.selectedData2, ...selectDocument];
18478
+ }
18479
+ }
18480
+ });
18481
+ this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {
18482
+ this.isInputValue = true;
18483
+ this.onSearchRelated(val);
18484
+ });
18485
+ this.globalService.getProcessAreaChildren.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18486
+ if (res.length > 0 && this.dataTrees) {
18487
+ let notShownChildren = [];
18488
+ res.forEach(x => {
18489
+ const index = this.treeData1.findIndex(item => item.id === x.id && item.parentId === x.parentId && x.expandable == item.expandable);
18490
+ if (index < 0) {
18491
+ notShownChildren.push(x);
18492
+ }
18493
+ });
18494
+ this.treeData1 = [...this.treeData1, ...notShownChildren];
18495
+ }
18496
+ });
18497
+ this.globalService.getFolderChildren.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18498
+ if (res.length > 0 && this.dataTrees) {
18499
+ let notShownChildren = [];
18500
+ res.forEach(x => {
18501
+ const index = this.treeData2.findIndex(item => item.id === x.id && item.parentId === x.parentId && x.expandable == item.expandable);
18502
+ if (index < 0) {
18503
+ notShownChildren.push(x);
18504
+ }
18505
+ });
18506
+ this.treeData2 = [...this.treeData2, ...notShownChildren];
18507
+ }
18508
+ });
18509
+ this.itemType = this.dataType.process;
18510
+ this.searchOrder = this.getSearchOrder();
18511
+ }
18512
+ ngAfterViewChecked() {
18513
+ }
18514
+ removeCheckedNodeList(item) {
18515
+ this.selectedData = [];
18516
+ this.selectedData2 = [];
18517
+ this.checkedNodeList = this.checkedNodeList.filter(x => (x.id.toLowerCase() !== item.id.toLowerCase() || x.parentId.toLowerCase() !== item.parentId.toLowerCase()));
18518
+ const tempArr = [];
18519
+ const tempArrDocument = [];
18520
+ const newSelectProcessList = [];
18521
+ const newSelectDocumentList = [];
18522
+ this.commonCheckedList.forEach(element => {
18523
+ this.checkedNodeList.forEach(x => {
18524
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18525
+ tempArr.push(element);
18526
+ }
18527
+ });
18528
+ });
18529
+ this.singleProcessList.forEach(element => {
18530
+ this.checkedNodeList.forEach(x => {
18531
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18532
+ newSelectProcessList.push(element);
18533
+ }
18534
+ });
18535
+ });
18536
+ this.singleProcessList = newSelectProcessList;
18537
+ if (tempArr.length > 0) {
18538
+ this.selectedData = [...tempArr];
18539
+ }
18540
+ this.documentCheckedList.forEach(element => {
18541
+ this.checkedNodeList.forEach(x => {
18542
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18543
+ tempArrDocument.push(element);
18544
+ }
18545
+ });
18546
+ });
18547
+ this.singleDocumentList.forEach(element => {
18548
+ this.checkedNodeList.forEach(x => {
18549
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18550
+ newSelectDocumentList.push(element);
18551
+ }
18552
+ });
18553
+ });
18554
+ this.singleDocumentList = newSelectDocumentList;
18555
+ if (tempArrDocument.length > 0) {
18556
+ this.selectedData2 = [...tempArrDocument];
18557
+ }
18558
+ }
18559
+ setResultHeight(arr) {
18560
+ let maxHeight = 484;
18561
+ const popup_content = document.getElementsByClassName('qmslib_related_popup_content')[0];
18562
+ const line__divider = document.getElementsByClassName('line__divider')[0];
18563
+ if (popup_content && line__divider) {
18564
+ maxHeight = this.getOffsetHeight(popup_content, true) + this.getOffsetHeight(line__divider, true) * 2;
18565
+ }
18566
+ const contentResult = document.getElementsByClassName('cdk-virtual-scroll-content-wrapper')[0];
18567
+ const viewreports = document.getElementsByClassName('related-viewport')[0];
18568
+ if (viewreports) {
18569
+ if (contentResult.offsetHeight <= maxHeight) {
18570
+ viewreports.style.height = `${contentResult.offsetHeight}px`;
18571
+ }
18572
+ else {
18573
+ viewreports.style.height = `${maxHeight}px`;
18574
+ }
18575
+ }
18576
+ }
18577
+ onSearchRelated(_val) {
18578
+ this.filteredOptions = [];
18579
+ if (typeof (_val) === 'object') {
18580
+ this.myControl.setValue('');
18581
+ this.isInputValue = false;
18582
+ }
18583
+ else if (typeof (_val) === 'string') {
18584
+ if (!!_val) {
18585
+ this.onSearch.emit(_val);
18586
+ }
18587
+ }
18588
+ }
18589
+ getModuleFilteredOptions(moduleId) {
18590
+ if (this.listChildrenSelectOne.length) {
18591
+ for (let index = 0; index < this.listChildrenSelectOne.length; index++) {
18592
+ const firstEl = this.listChildrenSelectOne[index];
18593
+ for (let j = 0; j < this.filteredOptions.length; j++) {
18594
+ const secondEl = this.filteredOptions[j];
18595
+ if (firstEl.id === secondEl.id) {
18596
+ this.filteredOptions.splice(j, 1);
18597
+ }
18598
+ }
18599
+ }
18600
+ }
18601
+ return this.filteredOptions.filter(x => x.itemType === moduleId);
18602
+ }
18603
+ showSearchResult() {
18604
+ // this.autoComplete.openPanel();
18605
+ }
18606
+ displayRelated(related) {
18607
+ return related ? related.itemName : undefined;
18608
+ }
18609
+ selectRelated(item) {
18610
+ let index = -1;
18611
+ this.selectedNode = [];
18612
+ if (this.treeConfig1.showCheckBox) {
18613
+ index = this.checkedNodeList.findIndex(x => {
18614
+ return x.id === item.id && x.parentId === item.parentId;
18615
+ });
18616
+ }
18617
+ if (index < 0) {
18618
+ let position = -1;
18619
+ let node;
18620
+ let typeId;
18621
+ if (item.itemType === this.dataType.document) {
18622
+ // document
18623
+ const isExistInDisabled = this.disabledList2.findIndex(x => {
18624
+ return x.id && x.id.toLowerCase() === item.id.toLowerCase();
18625
+ });
18626
+ if (isExistInDisabled >= 0) {
18627
+ return;
18628
+ }
18629
+ position = this.treeData2.findIndex(x => {
18630
+ return x.id === item.id && x.parentId === item.parentId && !x.expandable;
18631
+ });
18632
+ if (position >= 0) {
18633
+ this.addToChecklistNodeAndSelectedData(item);
18634
+ node = this.treeData2[position];
18635
+ typeId = this.dataType.document;
18636
+ const treeNode = {
18637
+ id: node.childId,
18638
+ name: node.childName,
18639
+ children: [],
18640
+ parentId: node.rootId,
18641
+ expandable: false
18642
+ };
18643
+ this.dataTrees.toArray()[1].todoItemSelectionProcessDocument([treeNode]);
18644
+ }
18645
+ else {
18646
+ this.addNodeToTree(item);
18647
+ this.addToChecklistNodeAndSelectedData(item);
18648
+ setTimeout(() => {
18649
+ const treeNode = {
18650
+ id: item.id,
18651
+ name: item.itemName,
18652
+ children: [],
18653
+ parentId: item.parentId,
18654
+ expandable: false
18655
+ };
18656
+ this.dataTrees.toArray()[1].todoItemSelectionProcessDocument([treeNode]);
18657
+ }, 500);
18658
+ }
18659
+ }
18660
+ else if (item.itemType === this.dataType.folder) {
18661
+ position = this.treeData2.findIndex(x => {
18662
+ return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase());
18663
+ });
18664
+ typeId = item.itemType;
18665
+ if (position >= 0) {
18666
+ node = this.treeData2[position];
18667
+ const treeNode = {
18668
+ id: node.id,
18669
+ name: node.name,
18670
+ children: [],
18671
+ parentId: node.parentId,
18672
+ expandable: true,
18673
+ };
18674
+ this.dataTrees.toArray()[1].todoFolderSelection([treeNode]);
18675
+ }
18676
+ else {
18677
+ this.addNodeToTree(item);
18678
+ this.addToChecklistNodeAndSelectedData(item);
18679
+ }
18680
+ return;
18681
+ }
18682
+ else if (item.itemType === this.dataType.area) {
18683
+ position = this.treeData1.findIndex(x => {
18684
+ return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase()) && x.expandable;
18685
+ });
18686
+ typeId = item.itemType;
18687
+ if (position >= 0) {
18688
+ node = this.treeData1[position];
18689
+ const treeNode = {
18690
+ id: node.id,
18691
+ name: node.name,
18692
+ children: [],
18693
+ parentId: node.parentId,
18694
+ expandable: true
18695
+ };
18696
+ this.dataTrees.toArray()[0].todoFolderSelection([treeNode]);
18697
+ }
18698
+ else {
18699
+ this.addNodeToTree(item);
18700
+ this.addToChecklistNodeAndSelectedData(item);
18701
+ }
18702
+ return;
18703
+ }
18704
+ else {
18705
+ const isExistInDisabled = this.disabledList.findIndex(x => {
18706
+ return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase());
18707
+ });
18708
+ if (isExistInDisabled >= 0) {
18709
+ return;
18710
+ }
18711
+ position = this.treeData1.findIndex(x => {
18712
+ return x.id.toLowerCase() === item.id.toLowerCase() && x.parentId.toLowerCase() === item.parentId.toLowerCase() && !x.expandable;
18713
+ });
18714
+ if (position >= 0) {
18715
+ node = this.treeData1[position];
18716
+ typeId = this.itemType;
18717
+ const treeNode = {
18718
+ id: node.childId,
18719
+ name: node.childName,
18720
+ children: [],
18721
+ parentId: node.rootId,
18722
+ expandable: false
18723
+ };
18724
+ this.addToChecklistNodeAndSelectedData(item);
18725
+ this.dataTrees.toArray()[0].todoItemSelectionProcessDocument([treeNode]);
18726
+ }
18727
+ else {
18728
+ this.addNodeToTree(item);
18729
+ this.addToChecklistNodeAndSelectedData(item);
18730
+ setTimeout(() => {
18731
+ const treeNode = {
18732
+ id: item.id,
18733
+ name: item.itemName,
18734
+ children: [],
18735
+ parentId: item.parentId,
18736
+ expandable: false
18737
+ };
18738
+ this.dataTrees.toArray()[0].todoItemSelectionProcessDocument([treeNode]);
18739
+ }, 500);
18740
+ }
18741
+ }
18742
+ }
18743
+ }
18744
+ addNodeToTree(item) {
18745
+ let newNodeDocs = new NewTreeModel();
18746
+ newNodeDocs.id = item.id;
18747
+ newNodeDocs.name = item.itemName;
18748
+ newNodeDocs.parentId = item.parentId;
18749
+ newNodeDocs.statusId = item === null || item === void 0 ? void 0 : item['itemStatus'];
18750
+ newNodeDocs.statusName = item === null || item === void 0 ? void 0 : item['statusName'];
18751
+ newNodeDocs.displayId = +item.itemNumberId;
18752
+ newNodeDocs.expandable = item.itemType == DataType$1.folder || item.itemType == DataType$1.area ? true : false;
18753
+ if (item.itemType == DataType$1.folder || item.itemType == DataType$1.document) {
18754
+ if (this.treeData2.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() &&
18755
+ (!newNodeDocs.parentId || x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) && x.expandable === newNodeDocs.expandable) >= 0) {
18756
+ this.treeData2 = [...this.treeData2, newNodeDocs];
18757
+ }
18758
+ }
18759
+ else {
18760
+ if (this.treeData1.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() &&
18761
+ (!newNodeDocs.parentId || x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) && x.expandable === newNodeDocs.expandable) >= 0) {
18762
+ this.treeData1 = [...this.treeData1, newNodeDocs];
18763
+ }
18764
+ }
18765
+ }
18766
+ addToChecklistNode(item) {
18767
+ let newNodeDocs = new NewTreeModel();
18768
+ newNodeDocs.id = item.id;
18769
+ newNodeDocs.name = item.itemName;
18770
+ newNodeDocs.parentId = item.parentId;
18771
+ newNodeDocs.statusId = item === null || item === void 0 ? void 0 : item['itemStatus'];
18772
+ newNodeDocs.statusName = item === null || item === void 0 ? void 0 : item['statusName'];
18773
+ newNodeDocs.displayId = +item.itemNumberId;
18774
+ newNodeDocs.expandable = item.itemType == DataType$1.folder || item.itemType == DataType$1.area ? true : false;
18775
+ if (this.isSelectOne) {
18776
+ this.checkedNodeList = [];
18777
+ this.documentCheckedList = [];
18778
+ this.commonCheckedList = [];
18779
+ }
18780
+ const index = this.checkedNodeList.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() &&
18781
+ (!newNodeDocs.parentId || x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) && x.expandable === newNodeDocs.expandable);
18782
+ if (index < 0) {
18783
+ if (item.itemType == DataType$1.folder || item.itemType == DataType$1.document) {
18784
+ this.documentCheckedList.push({
18785
+ id: newNodeDocs.id,
18786
+ name: newNodeDocs.name,
18787
+ itemType: item.itemType,
18788
+ parentId: newNodeDocs.parentId,
18789
+ levelType: newNodeDocs.levelType,
18790
+ level: 0,
18791
+ disabled: false,
18792
+ expandable: newNodeDocs.expandable,
18793
+ hasChild: newNodeDocs.expandable
18794
+ });
18795
+ }
18796
+ else {
18797
+ this.commonCheckedList.push({
18798
+ id: newNodeDocs.id,
18799
+ name: newNodeDocs.name,
18800
+ itemType: item.itemType,
18801
+ parentId: newNodeDocs.parentId,
18802
+ levelType: newNodeDocs.levelType,
18803
+ level: 0,
18804
+ disabled: false,
18805
+ expandable: newNodeDocs.expandable,
18806
+ hasChild: newNodeDocs.expandable
18807
+ });
18808
+ }
18809
+ this.checkedNodeList.push({
18810
+ moduleId: this.moduleId,
18811
+ id: item.id,
18812
+ itemName: newNodeDocs.name,
18813
+ itemType: item.itemType,
18814
+ parentId: newNodeDocs.parentId,
18815
+ parentName: item.parentName,
18816
+ itemNumberId: item.itemNumberId,
18817
+ levelType: item.levelType,
18818
+ expandable: newNodeDocs.expandable,
18819
+ statusName: item.statusName,
18820
+ status: item.status,
18821
+ displayId: Number.parseFloat(item.itemNumberId)
18822
+ });
18823
+ }
18824
+ }
18825
+ addSelectedData(item) {
18826
+ const selectProcess = [];
18827
+ const selectDocument = [];
18828
+ this.selectedData = [];
18829
+ this.selectedData2 = [];
18830
+ if (this.checkedNodeList.length) {
18831
+ this.checkedNodeList.forEach(x => {
18832
+ const node = {
18833
+ disabled: false,
18834
+ expandable: x.itemType == DataType$1.area || x.itemType == DataType$1.folder ? true : false,
18835
+ hasChild: x.itemType == DataType$1.area || x.itemType == DataType$1.folder ? true : false,
18836
+ id: x.id,
18837
+ level: 0,
18838
+ levelType: undefined,
18839
+ name: x.itemName,
18840
+ parentId: x.parentId
18841
+ };
18842
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
18843
+ this.treeData1.forEach(item => {
18844
+ if (item.id && x.id.toLowerCase() === item.id.toLowerCase() &&
18845
+ (!x.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase())) {
18846
+ selectProcess.push(node);
18847
+ }
18848
+ });
18849
+ }
18850
+ else {
18851
+ this.treeData2.forEach(item => {
18852
+ if (item.id && x.id.toLowerCase() === item.id.toLowerCase() &&
18853
+ (!x.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase())) {
18854
+ selectDocument.push(node);
18855
+ }
18856
+ });
18857
+ }
18858
+ });
18859
+ }
18860
+ if (!this.isSelectOne) {
18861
+ this.selectedData = [...this.selectedData, ...selectProcess];
18862
+ this.selectedData2 = [...this.selectedData2, ...selectDocument];
18863
+ }
18864
+ if (item.itemType === DataType$1.folder || item.itemType === DataType$1.document) {
18865
+ if (this.selectedData2.findIndex(x => x.id.toLowerCase() === item.id.toLowerCase() &&
18866
+ (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase()) && x.expandable === item.expandable) < 0) {
18867
+ this.selectedData2 = [...this.selectedData2, item];
18868
+ }
18869
+ }
18870
+ else {
18871
+ if (this.selectedData.findIndex(x => x.id.toLowerCase() === item.id.toLowerCase() &&
18872
+ (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase()) && x.expandable === item.expandable) < 0) {
18873
+ this.selectedData = [...this.selectedData, item];
18874
+ }
18875
+ }
18876
+ }
18877
+ addToChecklistNodeAndSelectedData(item) {
18878
+ this.addToChecklistNode(item);
18879
+ this.addSelectedData({
18880
+ id: item.id,
18881
+ name: item.itemName,
18882
+ expandable: item.itemType == DataType$1.area || item.itemType == DataType$1.folder,
18883
+ level: 0,
18884
+ disabled: false,
18885
+ hasChild: item.itemType == DataType$1.area || item.itemType == DataType$1.folder,
18886
+ });
18887
+ }
18888
+ setTypeProcess(expand) {
18889
+ return expand ? this.dataType.area : this.dataType.process;
18890
+ }
18891
+ onCloseClick() {
18892
+ this.selectedFolder = null;
18893
+ this.itemInSplitview = [];
18894
+ this.dialogRef.close();
18895
+ }
18896
+ ;
18897
+ onAddClick() {
18898
+ // if (this.treeConfig1.showCheckBox) {
18899
+ this.selectedFolder = null;
18900
+ this.itemInSplitview = [];
18901
+ this.dialogRef.close(this.checkedNodeList);
18902
+ }
18903
+ getStatusName(id) {
18904
+ let statusName = '';
18905
+ this.treeData2.forEach(x => {
18906
+ if (id.toString() === x.id) {
18907
+ statusName = x.statusName;
18908
+ }
18909
+ });
18910
+ return statusName;
18911
+ }
18912
+ selectTreeControlNodeDocument(treeNodes) {
18913
+ this.treeControlNodeDocument = null;
18914
+ this.treeControlNodeDocument = treeNodes;
18915
+ this.treeControlNodeDocument.dataNodes = this.treeControlNodeDocument.dataNodes.filter(x => x.name !== null && x.name !== '');
18916
+ }
18917
+ selectTreeControlNodeProcess(treeNodes) {
18918
+ this.treeControlNodeProcess = null;
18919
+ this.treeControlNodeProcess = treeNodes;
18920
+ this.treeControlNodeProcess.dataNodes = this.treeControlNodeProcess.dataNodes.filter(x => x.name !== null && x.name !== '');
18921
+ }
18922
+ getStatusDocs(id) {
18923
+ return this.treeData2.filter(x => x.id === id)[0].statusId;
18924
+ }
18925
+ getStatusProcess(id) {
18926
+ return this.treeData1.filter(x => x.id === id)[0].statusId;
18927
+ }
18928
+ getOffsetHeight(element, includeMargin) {
18929
+ let elmHeight = 0, elmMargin = 0;
18930
+ elmHeight = element.offsetHeight;
18931
+ if (includeMargin) {
18932
+ const style = window.getComputedStyle(element);
18933
+ elmMargin = parseFloat(style.marginTop.replace('px', '')) + parseFloat(style.marginBottom.replace('px', ''));
18934
+ }
18935
+ return (elmHeight + elmMargin);
18936
+ }
18937
+ getItemChipName(item) {
18938
+ return item.itemName;
18939
+ }
18940
+ isEllipsisActive(e) {
18941
+ return e ? (e.clientWidth < e.scrollWidth) : false;
18942
+ }
18943
+ getNodeIcon(item) {
18944
+ switch (item.itemType) {
18945
+ case DataType$1.folder: {
18946
+ switch (item.levelType) {
18947
+ case DocumentNodeType$1.DepartmentFolder:
18948
+ return 'department_folder_outlined';
18949
+ case DocumentNodeType$1.RegionalFolder:
18950
+ return 'regional_folder_outlined';
18951
+ case DocumentNodeType$1.TopFolder:
18952
+ return 'enterprise_folder_outlined';
18953
+ case DocumentNodeType$1.Folder:
18954
+ return 'local_folder_outlined';
18955
+ default:
18956
+ return 'folder_outlined';
18957
+ }
18958
+ }
18959
+ case DataType$1.document: {
18960
+ switch (item.levelType) {
18961
+ case DocumentNodeType$1.DepartmentFolder:
18962
+ return 'document_department';
18963
+ case DocumentNodeType$1.RegionalFolder:
18964
+ return 'document_regional';
18965
+ case DocumentNodeType$1.TopFolder:
18966
+ return 'document_enterprise';
18967
+ case DocumentNodeType$1.Folder:
18968
+ return 'document_local';
18969
+ default:
18970
+ return 'document';
18971
+ }
18972
+ }
18973
+ case DataType$1.area:
18974
+ return 'process_area_outlined';
18975
+ case DataType$1.process:
18976
+ return 'process';
18977
+ default:
18978
+ return 'folder_outlined';
18979
+ }
18980
+ }
18981
+ getSearchOrder() {
18982
+ let searchTypes = Object.keys(this.dataType)
18983
+ .map(key => ({ value: this.dataType[key], key: key }));
18984
+ searchTypes = searchTypes.slice(searchTypes.length / 2);
18985
+ return searchTypes;
18986
+ }
18987
+ getTitle(type) {
18988
+ switch (type) {
18989
+ case DataType$1.process:
18990
+ return this.LANG.PROCESSES;
18991
+ case DataType$1.area:
18992
+ return this.LANG.PROCESS_AREA;
18993
+ case DataType$1.document:
18994
+ return this.LANG.DOCUMENTS;
18995
+ case DataType$1.folder:
18996
+ return this.LANG.FOLDER;
18997
+ }
18998
+ }
18999
+ getItemId(item) {
19000
+ if (item.itemType === this.dataType.process) {
19001
+ return `${this.LANG.PROCESS_ID}: ${item.itemNumberId}; ${item.statusName}`;
19002
+ }
19003
+ else if (item.itemType === this.dataType.document) {
19004
+ return `${this.LANG.DOCUMENT_ID}: ${item.itemNumberId}; ${item.statusName}`;
19005
+ }
19006
+ return null;
19007
+ }
19008
+ toggleSelectItem(node) {
19009
+ const selectedNode = this.checkedNodeList.find(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase()));
19010
+ if (selectedNode) {
19011
+ this.removeCheckedNodeList({
19012
+ id: selectedNode.id,
19013
+ itemName: node.itemName,
19014
+ parentId: selectedNode.parentId,
19015
+ expandable: false,
19016
+ itemType: selectedNode.itemType,
19017
+ moduleId: this.moduleId,
19018
+ itemNumberId: selectedNode.itemNumberId
19019
+ });
19020
+ }
19021
+ else {
19022
+ this.selectRelated(node);
19023
+ }
19024
+ }
19025
+ isNodeSelected(node) {
19026
+ return this.checkedNodeList.filter(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase())).length > 0;
19027
+ }
19028
+ getChildrenOfFolder(node, type) {
19029
+ let item = new QMSProcessDocumentItem();
19030
+ item.id = node.id;
19031
+ item.itemType = type;
19032
+ item.itemName = node.name;
19033
+ item.levelType = node.levelType;
19034
+ this.selectedFolder = node;
19035
+ this.parentNodeSelected = new TreeFlatNode();
19036
+ this.parentNodeSelected = Object.assign({}, node);
19037
+ if (item.itemType == DataType$1.area)
19038
+ this.onExpandProcessArea.emit(item);
19039
+ else
19040
+ this.onExpandFolder.emit(item);
19041
+ }
19042
+ canShowSearchOption(moduleId) {
19043
+ return this.getModuleFilteredOptions(moduleId).length > 0;
19044
+ }
19045
+ selectNodeTreeEvent(node) {
19046
+ if (!node.itemType) {
19047
+ return;
19048
+ }
19049
+ const index = this.checkedNodeList.findIndex(x => x.id.toLowerCase() === node.id.toLowerCase()
19050
+ && (!node.parentId || x.parentId.toLowerCase() === node.parentId.toLowerCase()) && x.itemType == node.itemType);
19051
+ if (index >= 0) {
19052
+ this.removeCheckedNodeList({
19053
+ id: node.id,
19054
+ itemName: node.name,
19055
+ parentId: node.parentId,
19056
+ expandable: false,
19057
+ itemType: node.itemType,
19058
+ moduleId: this.moduleId,
19059
+ itemNumberId: node.id
19060
+ });
19061
+ return;
19062
+ }
19063
+ else {
19064
+ let item;
19065
+ let status = 0;
19066
+ let statusName = '';
19067
+ if (node.itemType == DataType$1.folder || node.itemType == DataType$1.document) {
19068
+ item = this.treeData2.find(x => x.id.toLowerCase() === node.id.toLowerCase()
19069
+ && (!node.parentId || x.parentId.toLowerCase() === node.parentId.toLowerCase()) && x.expandable == node.expandable);
19070
+ }
19071
+ else {
19072
+ item = this.treeData1.find(x => x.id.toLowerCase() === node.id.toLowerCase()
19073
+ && (!node.parentId || x.parentId.toLowerCase() === node.parentId.toLowerCase()) && x.expandable == node.expandable);
19074
+ }
19075
+ if (item) {
19076
+ statusName = item.statusName;
19077
+ status = item.statusId;
19078
+ }
19079
+ this.addToChecklistNode({
19080
+ id: node.id,
19081
+ itemName: node.name,
19082
+ parentId: node.parentId,
19083
+ itemType: node.itemType,
19084
+ status: status,
19085
+ statusName: statusName,
19086
+ itemNumberId: item.displayId.toString(),
19087
+ levelType: item.levelType
19088
+ });
19089
+ this.addSelectedData(node);
19090
+ }
19091
+ }
19092
+ getChildNodeSelectOne(listChildren) {
19093
+ this.listChildrenSelectOne = [];
19094
+ this.listChildrenSelectOne = listChildren;
19095
+ }
19096
+ getItemOfFolder(node, type) {
19097
+ if (this.splitView) {
19098
+ const parentTexts = this.elem.nativeElement.querySelectorAll('.text-node-parent');
19099
+ [].forEach.call(parentTexts, (el) => {
19100
+ el.classList.remove('active-item');
19101
+ });
19102
+ const itemElement = document.querySelectorAll(`#_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`);
19103
+ [].forEach.call(itemElement, (el) => {
19104
+ el.classList.add('active-item');
19105
+ });
19106
+ if (type === this.dataType.folder) {
19107
+ this.splitViewTitle = `${this.LANG.MESSAGE.DOCUMENTS_IN.toUpperCase()} "${node.name}"`;
19108
+ }
19109
+ else if (type === this.dataType.area) {
19110
+ this.splitViewTitle = `${this.LANG.MESSAGE.PROCESSES_IN.toUpperCase()} "${node.name}"`;
19111
+ }
19112
+ let item = new QMSProcessDocumentItem();
19113
+ item.id = node.id;
19114
+ item.itemType = type;
19115
+ item.itemName = node.name;
19116
+ item.levelType = node.levelType;
19117
+ this.selectedFolder = node;
19118
+ this.parentNodeSelected = new TreeFlatNode();
19119
+ this.parentNodeSelected = Object.assign({}, node);
19120
+ this.onSelectFolderItem.emit(item);
19121
+ }
19122
+ }
19123
+ }
19124
+ SelectProcessDocumentPopupComponent.decorators = [
19125
+ { type: Component, args: [{
19126
+ selector: 'qms-select-process-document',
19127
+ template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName | uppercase }}</span>\r\n </div>\r\n </div>\r\n \r\n <div id=\"qmslib_related_popup_search\" class=\"input__field\">\r\n <input\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n \r\n <div class=\"line__divider\"></div>\r\n \r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n [class.related-viewport]=\"isInputValue\"\r\n >\r\n <ng-container *ngFor=\"let type of searchOrder\">\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"canShowSearchOption(type.value)\"\r\n >\r\n <span class=\"search__module-title\">{{ getTitle(type.value) }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(type.value)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </ng-container>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n \r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length,\r\n 'col-6': splitView,\r\n 'col-12': !splitView\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title *ngIf=\"moduleId === module.documentProcess\">\r\n {{ LANG.PROCESSES | uppercase }}\r\n </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isCommonExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree-new\r\n [treeData]=\"treeData1\"\r\n [treeConfig]=\"treeConfig1\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.area)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n (selectFolderEvent)=\"getItemOfFolder($event, dataType.area)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeProcess($event)\"\r\n ></qms-tree-new>\r\n </div>\r\n </mat-expansion-panel>\r\n \r\n <div\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n class=\"line__divider\"\r\n ></div>\r\n \r\n <mat-expansion-panel\r\n hideToggle\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n id=\"qmslib_related_popup_document_001\"\r\n [expanded]=\"isDocumentExpanded\"\r\n (opened)=\"isDocumentExpanded = true\"\r\n (closed)=\"isDocumentExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title> {{ LANG.DOCUMENTS | uppercase }} </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isDocumentExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_document_002\">\r\n <qms-tree-new\r\n [treeData]=\"treeData2\"\r\n [treeConfig]=\"treeConfig2\"\r\n [selectedData]=\"selectedData2\"\r\n [disabledList]=\"disabledList2\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.folder)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n (selectFolderEvent)=\"getItemOfFolder($event, dataType.folder)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeDocument($event)\"\r\n ></qms-tree-new>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n <div\r\n *ngIf=\"splitView\"\r\n class=\"\r\n qms-scrollbar\r\n qmslib-related-popup-splitview qmslib_related_popup_content\r\n col-6\r\n \"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <div class=\"splitview-header\" *ngIf=\"selectedFolder\">\r\n {{ splitViewTitle }}\r\n </div>\r\n <div class=\"expand-node\" *ngFor=\"let node of itemInSplitview\">\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n [checked]=\"isNodeSelected(node)\"\r\n (change)=\"toggleSelectItem(node)\"\r\n ></mat-checkbox>\r\n <mat-icon\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.itemName }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n \r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon\r\n *ngIf=\"!(treeConfig1?.selectOne || treeConfig2?.selectOne)\"\r\n (click)=\"removeCheckedNodeList(item)\"\r\n >cancel</mat-icon\r\n >\r\n </button>\r\n </div>\r\n </div>\r\n \r\n <div class=\"line__divider\"></div>\r\n \r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n </div>\r\n ",
19128
+ encapsulation: ViewEncapsulation.None,
19129
+ styles: [".qms-scrollbar::-webkit-scrollbar{width:12px}.qms-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms-scrollbar.none-scroll-bg::-webkit-scrollbar-track{background:transparent;background-clip:content-box}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:#fff;padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:#9e360f;margin-left:10px}.qms__danger .yellow{background-color:#e4cf53;margin-left:10px;color:#323232}.qms__danger .green{background-color:#00804c;margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:#f8f9f9}.confirm__button__groups .confirm:hover{background:#001983;color:#fff}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:#f8f9f9}.confirm__button__groups .cancel:hover{background:#001983;color:#fff}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:#eee}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel-tree .mat-expansion-panel-body{padding:0 12px 12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;margin-top:12px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}.qmslib__related__popup__container .panel__item .related__item__inline{max-width:100%}.qmslib__related__popup__container .panel__item .related__item__content{height:32px;line-height:32px;background-color:#e5e5e5;max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qmslib__related__popup__container .panel__item .related__item__content .mat-icon{color:#8e8e8e;font-size:24px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name{display:inline-block;min-width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:278px}.qmslib__related__popup__container .qmslib-related-popup-splitview{background-color:#fff;border-left:1px solid #ccc;height:450px;overflow-y:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview .splitview-header{height:30px;font-size:12px;letter-spacing:1px;font-family:RALEWAY;font-weight:600;display:flex;align-items:center}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options{padding:0}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:11px}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options.mat-checkbox-checked{background:transparent!important}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node{margin-left:8px;display:flex;align-items:center;min-height:40px}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon{color:rgba(0,0,0,.6);margin-right:17px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}cdk-virtual-scroll-viewport{overflow-x:hidden}cdk-virtual-scroll-viewport .search__module-result{margin:1.5rem;padding:0 0 .5rem}cdk-virtual-scroll-viewport .search__module-result .search__module-title{font-size:14px;font-weight:600}cdk-virtual-scroll-viewport .search__module-result .search__option{height:auto;line-height:normal;padding:8px 0;border-bottom:1px solid #e0e0e0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item.mat-2-line.image-item{height:auto}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content{margin:0;border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square{width:2.5rem;height:100%;background:transparent;align-self:center;margin-right:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square img{width:24px;height:24px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .material-icons-outlined.leading-icon,cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content mat-icon.leading-icon{padding:4px 0 4px 4px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .subtitle{font-weight:400}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption{overflow:hidden;line-height:normal;white-space:normal;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0;margin:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption span.search__result__parent-name{display:inline-block;width:auto;width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .default-subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .search__description-icon{margin-right:0;width:12px;height:12px;font-size:12px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .qms-list-text{border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .breadcrumb-containe .qms-breadcrumb-item .mat-icon{font-size:16px!important;padding-bottom:1px}cdk-virtual-scroll-viewport .search__module-result svg{display:block}#qmslib_related_popup_header_001{margin-bottom:20px;padding:0;font-weight:600;font-family:Raleway}.padding-5{padding:5px}.mat-autocomplete_related-viewport{height:100%;max-height:100%!important}.mat-autocomplete_related-viewport .cdk-virtual-scroll-content-wrapper{width:100%}.mat-autocomplete_related-viewport .related-viewport{min-height:10.25rem}"]
19130
+ },] }
19131
+ ];
19132
+ SelectProcessDocumentPopupComponent.ctorParameters = () => [
19133
+ { type: ChangeDetectorRef },
19134
+ { type: TranslateLibraryService },
19135
+ { type: MatDialogRef },
19136
+ { type: QMSSelectProcessDocumentGlobalService },
19137
+ { type: MatIconRegistry },
19138
+ { type: DomSanitizer },
19139
+ { type: QMSIconRegistryService },
19140
+ { type: ElementRef },
19141
+ { type: SelectProcessDocumentPopupData, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
19142
+ ];
19143
+ SelectProcessDocumentPopupComponent.propDecorators = {
19144
+ dataTrees: [{ type: ViewChildren, args: [NewTreeComponent, {},] }],
19145
+ autoComplete: [{ type: ViewChild, args: ['autoCompleteInputSearch', { read: MatAutocompleteTrigger, static: true },] }],
19146
+ onMessage: [{ type: HostListener, args: ['window:message', ['$event'],] }]
19147
+ };
19148
+
19149
+ class QMSSelectProcessDocumentModule {
19150
+ }
19151
+ QMSSelectProcessDocumentModule.decorators = [
19152
+ { type: NgModule, args: [{
19153
+ declarations: [
19154
+ SelectProcessDocumentPopupComponent
19155
+ ],
19156
+ imports: [
19157
+ CommonModule,
19158
+ MatTreeModule,
19159
+ MatIconModule,
19160
+ MatButtonModule,
19161
+ MatCheckboxModule,
19162
+ MatExpansionModule,
19163
+ MatAutocompleteModule,
19164
+ ReactiveFormsModule,
19165
+ ScrollingModule,
19166
+ MatCardModule,
19167
+ MatSidenavModule,
19168
+ MatListModule,
19169
+ SharedMaterialModule,
19170
+ QMSListModule,
19171
+ QmsAngularModule,
19172
+ QMSBreadcrumbModule,
19173
+ QMSAppIconModule,
19174
+ QMSTreeModule,
19175
+ QMSButtonModule,
19176
+ MatSlideToggleModule,
19177
+ QMSNewTreeModule
19178
+ ],
19179
+ exports: [
19180
+ SelectProcessDocumentPopupComponent
19181
+ ]
19182
+ },] }
19183
+ ];
19184
+
19185
+ class SelectedProcessDocumentItem {
19186
+ }
19187
+
17288
19188
  /*
17289
19189
  * Public API Surface of qms-angular
17290
19190
  */
@@ -17293,5 +19193,5 @@ class ISelectOneItem {
17293
19193
  * Generated bundle index. Do not edit.
17294
19194
  */
17295
19195
 
17296
- export { AutocompleteOffDirective, BREADCRUMB_DROPDOWN_ICON, BUTTON_TOGGLE_DEFAULT_OPTIONS, BUTTON_TOGGLE_GROUP, BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, BannerType, BpmnService, BreadcrumbNode, ButtonToggleChange, CHECKLIST_ICON, CKEditorEventConst, CKEditorModule, ConfirmDialog, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, DateFormatPipe, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, FileErrorType, FlowChartConst, FlowchartViewMode, ISelectOneItem, IconModel, InformationCoverItem, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, LinkAnchor, LinkType, MarginDirective, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, PopupData, ProtocolType, ProtocolTypeName, QMSAnchor, QMSAppIconModule, QMSAttachmentListDirective, QMSBreadcrumb, QMSBreadcrumbDirectionIconDirective, QMSBreadcrumbItemDirective, QMSBreadcrumbModule, QMSButton, QMSButtonIcon, QMSButtonModule, QMSButtonToggle, QMSButtonToggleGroup, QMSCKEditorBaseComponent, QMSCKEditorBaseService, QMSCKEditorBpmn, QMSCKEditorBpmnApiService, QMSCKEditorBpmnComponent, QMSCKEditorBpmnTemplate, QMSCKEditorComponent, QMSCKEditorConfirmComponent, QMSCKEditorData, QMSCKEditorDialogData, QMSCKEditorDocumentType, QMSCKEditorFullscreenComponent, QMSCKEditorGlobalService, QMSCKEditorInjector, QMSCKEditorLinkAnchorDocument, QMSCKEditorLinkComponent, QMSCKEditorLinkService, QMSCKEditorLoadTemplateComponent, QMSCKEditorModule, QMSCKEditorPlugin, QMSCKEditorRelatedComponent, QMSCKEditorRelation, QMSCKEditorTemplate, QMSCKEditorTemplateService, QMSCKEditorToastService, QMSCKEditorTreeComponent, QMSCKEdtiorInputData, QMSChipBodyDirective, QMSChipInputChipListDirective, QMSChipInputDirective, QMSChipInputSelectDropWDownDirective, QMSChipInputSelectFieldDirective, QMSChipInputSelectTriggerDirective, QMSComment, QMSConfirmDialog, QMSDialogConfig, QMSDrawerContentDirective, QMSDrawerDirective, QMSDrawerHeaderActionDirective, QMSDrawerHeaderDirective, QMSDropdownMenuItem, QMSEditFileNameDialog, QMSEditFileNameDialogModule, QMSFileAttachment, QMSFileUploadDirective, QMSFileUploadDisplayDirective, QMSFileUploadMultipleDirective, QMSFileUploadMultipleDisplayDirective, QMSFileUploadMultipleSelectorDirective, QMSFileUploadSelectorDirective, QMSFormDialog, QMSFormFieldDatePickerDirective, QMSFormFieldDirective, QMSFormFieldTextareaDirective, QMSGroupOptionDirective, QMSIconRegistryService, QMSInputChipDirective, QMSInputClearDirective, QMSList, QMSListExpansion, QMSListExpansionHeader, QMSListHeader, QMSListItem, QMSListLeadingIcon, QMSListLine, QMSListModule, QMSRangeSliderDirective, QMSRangeSliderLockUpDirective, QMSRelatedGlobalService, QMSRelatedModule, QMSRichText, QMSRichTextModule, QMSScrolableAttachmentListDirective, QMSScrollbarDirective, QMSSearchFieldDirective, QMSSelectGlobalService, QMSSelectIncludeChildrenModule, QMSSelectOneGlobalService, QMSSelectOneModule, QMSSnackbarConfig, QMSSuffixDirective, QMSSuffixFieldDirective, QMSTabGroupAdvancedDirective, QMSTabGroupDirective, QMSTabLabelDirective, QMSTableAction, QMSTableActionBlock, QMSTableModule, QMSTextBlockDirective, QMSTextBlockLine, QMSToolTipComponent, QMSToolTipRendererDirective, QMSTooltipImageDirective, QMSTooltipModule, QMSTreeModule, QMSUploadFileErrorDialog, QMSUploadFileErrorDialogModule, QMSUploadingFileGuard, QmsAngularComponent, QmsAngularModule, QmsAngularService, QmsAppBarComponent, QmsAppBarModule, QmsBadgesComponent, QmsBadgesModule, QmsBannerComponent, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerConfirmComponent, QmsBannerConfirmModule, QmsBannerContent, QmsBannerLoadingComponent, QmsBannerLoadingModule, QmsBannerModule, QmsReportContentPortraitComponent, QmsReportCoverPortraitComponent, QmsReportModule, QmsStepperComponent, QmsStepperModule, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON, RelatedContentComponent, RelatedItemType, RelatedListComponent, RelatedPopupComponent, Result, RiskAnalysis, RiskAnalysisComponent, RiskDanger, RiskListComponent, RiskResult, RiskResultComponent, SaveTemplateComponent, ScrollToSelectedDirective, SelectConst, SelectDialog, SelectIncludeChildrenPopUpComponent, SelectOneDialog, SelectOnePopupData, SelectOption, SelectOptionTypes, SelectPopupData, SelectedOption, SharedModule, ShowHideSearchResultConst, SideNav, SideNavItem, SidenavComponent, StepModel, TargetType, TargetTypeName, TestOnlyComponent, TranslateLibraryService, TreeComponent, TreeConfig, TreeFlatNode, TreeModel, TreeNode$1 as TreeNode, UploadErrorData, en, mixinColor, no, notExceedSize, requiredFileType, ɵ1, SharedMaterialModule as ɵa, QMSCKEditorTemplateComponent as ɵb, QMSCKEditorTreeService as ɵc, LinkAttachmentComponent as ɵd, QMSCKEditorTooltipComponent as ɵe, QMSCKEditorTooltip as ɵf, QMSCKEditorImageMapComponent as ɵg, QMSCKEditorImageMap as ɵh };
19196
+ export { AutocompleteOffDirective, BREADCRUMB_DROPDOWN_ICON, BUTTON_TOGGLE_DEFAULT_OPTIONS, BUTTON_TOGGLE_GROUP, BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, BannerType, BpmnService, BreadcrumbNode, ButtonToggleChange, CHECKLIST_ICON, CKEditorEventConst, CKEditorModule, 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$1 as DataType, DateFormatPipe, DocumentNodeType$1 as DocumentNodeType, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, FileErrorType, FlowChartConst, FlowchartViewMode, ISelectOneItem, IconModel, InformationCoverItem, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, LinkAnchor, LinkType, MarginDirective, ModuleType$1 as ModuleType, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, NewTreeComponent, NewTreeModel, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, PopupData, ProtocolType, ProtocolTypeName, QMSAnchor, QMSAppBar, QMSAppIconModule, QMSAttachmentListDirective, QMSBreadcrumb, QMSBreadcrumbDirectionIconDirective, QMSBreadcrumbItemDirective, QMSBreadcrumbModule, QMSButton, QMSButtonIcon, QMSButtonModule, QMSButtonToggle, QMSButtonToggleGroup, QMSCKEditorBaseComponent, QMSCKEditorBaseService, QMSCKEditorBpmn, QMSCKEditorBpmnApiService, QMSCKEditorBpmnComponent, QMSCKEditorBpmnTemplate, QMSCKEditorComponent, QMSCKEditorConfirmComponent, QMSCKEditorData, QMSCKEditorDialogData, QMSCKEditorDocumentType, QMSCKEditorFullscreenComponent, QMSCKEditorGlobalService, QMSCKEditorInjector, QMSCKEditorLinkAnchorDocument, QMSCKEditorLinkComponent, QMSCKEditorLinkService, QMSCKEditorLoadTemplateComponent, QMSCKEditorModule, QMSCKEditorPlugin, QMSCKEditorRelatedComponent, QMSCKEditorRelation, QMSCKEditorTemplate, QMSCKEditorTemplateService, QMSCKEditorToastService, QMSCKEditorTreeComponent, QMSCKEdtiorInputData, QMSChipBodyDirective, QMSChipInputChipListDirective, QMSChipInputDirective, QMSChipInputSelectDropWDownDirective, QMSChipInputSelectFieldDirective, QMSChipInputSelectTriggerDirective, QMSComment, QMSConfirmDialog, QMSDialogConfig, QMSDrawerContentDirective, QMSDrawerDirective, QMSDrawerHeaderActionDirective, QMSDrawerHeaderDirective, QMSDropdownMenuItem, QMSEditFileNameDialog, QMSEditFileNameDialogModule, QMSFileAttachment, QMSFileUploadDirective, QMSFileUploadDisplayDirective, QMSFileUploadMultipleDirective, QMSFileUploadMultipleDisplayDirective, QMSFileUploadMultipleSelectorDirective, QMSFileUploadSelectorDirective, QMSFormDialog, QMSFormFieldDatePickerDirective, QMSFormFieldDirective, QMSFormFieldTextareaDirective, QMSGroupOptionDirective, QMSIconRegistryService, QMSInputChipDirective, QMSInputClearDirective, QMSList, QMSListExpansion, QMSListExpansionHeader, QMSListHeader, QMSListItem, QMSListLeadingIcon, QMSListLine, QMSListModule, QMSNewTreeModule, QMSProcessDocumentItem, QMSRangeSliderDirective, QMSRangeSliderLockUpDirective, QMSRelatedGlobalService, QMSRelatedModule, QMSRichText, QMSRichTextModule, QMSScrolableAttachmentListDirective, QMSScrollbarDirective, QMSSearchFieldDirective, QMSSelectGlobalService, QMSSelectIncludeChildrenModule, QMSSelectOneGlobalService, QMSSelectOneModule, QMSSelectProcessDocumentGlobalService, QMSSelectProcessDocumentModule, QMSSnackbarConfig, QMSSuffixDirective, QMSSuffixFieldDirective, QMSTabGroupAdvancedDirective, QMSTabGroupDirective, QMSTabLabelDirective, QMSTableAction, QMSTableActionBlock, QMSTableModule, QMSTextBlockDirective, QMSTextBlockLine, QMSToolTipComponent, QMSToolTipRendererDirective, QMSTooltipImageDirective, QMSTooltipModule, QMSTreeModule, QMSUploadFileErrorDialog, QMSUploadFileErrorDialogModule, QMSUploadingFileGuard, QmsAngularComponent, QmsAngularModule, QmsAngularService, QmsAppBarComponent, QmsAppBarModule, QmsBadgesComponent, QmsBadgesModule, QmsBannerComponent, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerConfirmComponent, QmsBannerConfirmModule, QmsBannerContent, QmsBannerLoadingComponent, QmsBannerLoadingModule, QmsBannerModule, QmsReportContentPortraitComponent, QmsReportCoverPortraitComponent, QmsReportModule, 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, SelectConst, SelectDialog, SelectIncludeChildrenPopUpComponent, SelectOneDialog, SelectOnePopupData, SelectOption, SelectOptionTypes, SelectPopupData, SelectProcessDocumentPopupComponent, SelectProcessDocumentPopupData, SelectedOption, SelectedProcessDocumentItem, SharedModule, ShowHideSearchResultConst, SideNav, SideNavItem, SidenavComponent, StepModel, TargetType, TargetTypeName, TestOnlyComponent, TranslateLibraryService, TreeComponent, TreeConfig, TreeFlatNode, TreeModel, TreeNode$1 as TreeNode, UploadErrorData, en, mixinColor, no, notExceedSize, requiredFileType, ɵ1, SharedMaterialModule as ɵa, QMSCKEditorTemplateComponent as ɵb, QMSCKEditorTreeService as ɵc, LinkAttachmentComponent as ɵd, QMSCKEditorTooltipComponent as ɵe, QMSCKEditorTooltip as ɵf, QMSCKEditorImageMapComponent as ɵg, QMSCKEditorImageMap as ɵh };
17297
19197
  //# sourceMappingURL=qms-angular.js.map