qms-angular 1.0.64 → 1.0.69

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 (105) hide show
  1. package/README.md +21 -2
  2. package/bundles/qms-angular.umd.js +2215 -146
  3. package/bundles/qms-angular.umd.js.map +1 -1
  4. package/esm2015/lib/common/enum/data-type.enum.js +14 -0
  5. package/esm2015/lib/common/enum/document-node-type.enum.js +12 -0
  6. package/esm2015/lib/common/enum/module-type.enum.js +8 -0
  7. package/esm2015/lib/common/related.const.js +6 -0
  8. package/esm2015/lib/components/badges/qms-badges.component.js +9 -5
  9. package/esm2015/lib/components/banner/index.js +2 -0
  10. package/esm2015/lib/components/banner/public_api.js +8 -0
  11. package/esm2015/lib/components/banner/qms-banner/qms-banner.component.js +2 -2
  12. package/esm2015/lib/components/breadcrumb/breadcrumb.js +1 -1
  13. package/esm2015/lib/components/button/button.js +5 -5
  14. package/esm2015/lib/components/comment/comment-log.model.js +2 -0
  15. package/esm2015/lib/components/comment/comment.js +6 -2
  16. package/esm2015/lib/components/qms-app-bar/qms-app-bar.component.js +3 -3
  17. package/esm2015/lib/components/qms-status-dropdown/index.js +4 -0
  18. package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.component.js +33 -0
  19. package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.model.js +10 -0
  20. package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.module.js +28 -0
  21. package/esm2015/lib/components/qms-stepper/qms-stepper.component.js +3 -2
  22. package/esm2015/lib/components/related/model/related-data.model.js +3 -1
  23. package/esm2015/lib/components/related/popup/related-popup.component.js +29 -9
  24. package/esm2015/lib/components/related/risk/analysis/analysis.component.js +1 -3
  25. package/esm2015/lib/components/select-include-children/select-include-children.component.js +7 -8
  26. package/esm2015/lib/components/select-one/select-one.component.js +10 -2
  27. package/esm2015/lib/components/select-process-document/index.js +2 -0
  28. package/esm2015/lib/components/select-process-document/models/pop-up-data.model.js +13 -0
  29. package/esm2015/lib/components/select-process-document/models/qms-process-document-item.model.js +3 -0
  30. package/esm2015/lib/components/select-process-document/models/selected-process-document-item.model.js +3 -0
  31. package/esm2015/lib/components/select-process-document/public-api.js +7 -0
  32. package/esm2015/lib/components/select-process-document/select-process-document.component.js +832 -0
  33. package/esm2015/lib/components/select-process-document/select-process-document.module.js +59 -0
  34. package/esm2015/lib/components/select-process-document/services/select-process-document-global.service.js +29 -0
  35. package/esm2015/lib/components/tree/model/tree-config.model.js +1 -1
  36. package/esm2015/lib/components/tree/tree.component.js +33 -28
  37. package/esm2015/lib/components/treeNew/index.js +2 -0
  38. package/esm2015/lib/components/treeNew/model/tree-node.model.js +3 -0
  39. package/esm2015/lib/components/treeNew/model/tree.model.js +3 -0
  40. package/esm2015/lib/components/treeNew/public-api.js +5 -0
  41. package/esm2015/lib/components/treeNew/tree.component.js +785 -0
  42. package/esm2015/lib/components/treeNew/tree.function.js +97 -0
  43. package/esm2015/lib/components/treeNew/tree.module.js +51 -0
  44. package/esm2015/lib/directives/app-bar/app-bar.directive.js +24 -0
  45. package/esm2015/lib/model/en.js +3 -3
  46. package/esm2015/lib/model/no.js +3 -3
  47. package/esm2015/lib/qms-angular.module.js +6 -6
  48. package/esm2015/public-api.js +11 -9
  49. package/fesm2015/qms-angular.js +2183 -234
  50. package/fesm2015/qms-angular.js.map +1 -1
  51. package/lib/common/enum/data-type.enum.d.ts +12 -0
  52. package/lib/common/enum/document-node-type.enum.d.ts +10 -0
  53. package/lib/common/enum/module-type.enum.d.ts +6 -0
  54. package/lib/common/related.const.d.ts +5 -0
  55. package/lib/components/badges/qms-badges.component.d.ts +4 -1
  56. package/lib/components/banner/index.d.ts +1 -0
  57. package/lib/components/banner/public_api.d.ts +7 -0
  58. package/lib/components/banner/qms-banner/qms-banner.component.d.ts +2 -2
  59. package/lib/components/button/button.d.ts +1 -1
  60. package/lib/components/comment/comment-log.model.d.ts +10 -0
  61. package/lib/components/comment/comment.d.ts +5 -11
  62. package/lib/components/qms-status-dropdown/index.d.ts +3 -0
  63. package/lib/components/qms-status-dropdown/qms-status-dropdown.component.d.ts +10 -0
  64. package/lib/components/qms-status-dropdown/qms-status-dropdown.model.d.ts +10 -0
  65. package/lib/components/qms-status-dropdown/qms-status-dropdown.module.d.ts +2 -0
  66. package/lib/components/related/model/related-data.model.d.ts +3 -0
  67. package/lib/components/related/popup/related-popup.component.d.ts +7 -3
  68. package/lib/components/select-include-children/select-include-children.component.d.ts +8 -9
  69. package/lib/components/select-one/select-one.component.d.ts +1 -0
  70. package/lib/components/select-process-document/index.d.ts +1 -0
  71. package/lib/components/select-process-document/models/pop-up-data.model.d.ts +17 -0
  72. package/lib/components/select-process-document/models/qms-process-document-item.model.d.ts +13 -0
  73. package/lib/components/select-process-document/models/selected-process-document-item.model.d.ts +16 -0
  74. package/lib/components/select-process-document/public-api.d.ts +6 -0
  75. package/lib/components/select-process-document/select-process-document.component.d.ts +116 -0
  76. package/lib/components/select-process-document/select-process-document.module.d.ts +2 -0
  77. package/lib/components/select-process-document/services/select-process-document-global.service.d.ts +14 -0
  78. package/lib/components/tree/model/tree-config.model.d.ts +2 -2
  79. package/lib/components/tree/tree.component.d.ts +1 -2
  80. package/lib/components/treeNew/index.d.ts +1 -0
  81. package/lib/components/treeNew/model/tree-node.model.d.ts +8 -0
  82. package/lib/components/treeNew/model/tree.model.d.ts +11 -0
  83. package/lib/components/treeNew/public-api.d.ts +4 -0
  84. package/lib/components/treeNew/tree.component.d.ts +135 -0
  85. package/lib/components/treeNew/tree.function.d.ts +13 -0
  86. package/lib/components/treeNew/tree.module.d.ts +2 -0
  87. package/lib/directives/app-bar/app-bar.directive.d.ts +8 -0
  88. package/lib.theme.scss +2 -0
  89. package/package.json +1 -1
  90. package/public-api.d.ts +10 -8
  91. package/qms-angular.metadata.json +1 -1
  92. package/src/assets/jointjs/scss/bpmn.scss +1 -9
  93. package/src/lib/components/badges/_qms-badges-base.scss +7 -2
  94. package/src/lib/components/breadcrumb/breadcrumb.scss +1 -1
  95. package/src/lib/components/qms-app-bar/qms-app-bar.component.scss +16 -2
  96. package/src/lib/components/qms-status-dropdown/qms-status-dropdown.component.scss +148 -0
  97. package/src/lib/components/related/popup/related-popup.component.scss +22 -1
  98. package/src/lib/components/select-process-document/select-process-document.component.scss +300 -0
  99. package/src/lib/components/tree/tree.component.scss +4 -6
  100. package/src/lib/components/treeNew/tree.component.scss +175 -0
  101. package/src/themes/core/_app-bar.scss +14 -0
  102. package/src/themes/core/_qms-label.scss +32 -0
  103. package/esm2015/lib/components/test-only/test-only.component.js +0 -17
  104. package/lib/components/test-only/test-only.component.d.ts +0 -3
  105. package/src/lib/components/test-only/test-only.component.scss +0 -10
@@ -16,7 +16,7 @@ import { MatIconModule, MatIconRegistry } from '@angular/material/icon';
16
16
  import { MatCheckboxModule } from '@angular/material/checkbox';
17
17
  import { MatChipsModule } from '@angular/material/chips';
18
18
  import { MatButtonModule } from '@angular/material/button';
19
- import { mixinDisableRipple, mixinDisabled, MatCommonModule, setLines } from '@angular/material/core';
19
+ import { mixinDisableRipple, mixinDisabled, MatCommonModule, setLines, MatOptionModule } from '@angular/material/core';
20
20
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
21
21
  import { FocusMonitor } from '@angular/cdk/a11y';
22
22
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
@@ -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",
@@ -669,11 +669,15 @@ class QMSComment {
669
669
  item.isDelete = true;
670
670
  this.updateLog.emit(item);
671
671
  }
672
+ regretItem(item) {
673
+ item.isDelete = false;
674
+ this.updateLog.emit(item);
675
+ }
672
676
  }
673
677
  QMSComment.decorators = [
674
678
  { type: Component, args: [{
675
679
  selector: 'qms-comment',
676
- template: "<div class=\"qms-comment\" *ngFor=\"let item of sourceLog; let i = index\">\r\n <mat-card-header *ngIf=\"!item.isDelete\">\r\n <mat-card-subtitle\r\n >{{ item.user }} {{ item.date | dateFormat }}\r\n </mat-card-subtitle>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div\r\n qms-scrollbar\r\n *ngIf=\"!item.isEdit && !item.isDelete\"\r\n class=\"content\"\r\n [ngClass]=\"{ secondary: 0 != i % 2 }\"\r\n [innerHTML]=\"showContent(item.content)\"\r\n ></div>\r\n <div class=\"content delete-action-wrap\" *ngIf=\"item.isDelete\">\r\n <i>{{ LANG.DELETE_MESSAGE_COMMENT }}</i>\r\n <button qms-btn-text class=\"btn-action\" (click)=\"item.isDelete = false\">\r\n {{ LANG.REGRET }}\r\n </button>\r\n </div>\r\n <mat-form-field *ngIf=\"item.isEdit && !item.isDelete\" qms-form-textarea>\r\n <textarea\r\n qms-scrollbar\r\n class=\"textarea-comment\"\r\n matInput\r\n cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\"\r\n [(ngModel)]=\"item.editedContent\"\r\n ></textarea>\r\n </mat-form-field>\r\n </mat-card-content>\r\n <mat-card-actions *ngIf=\"item.isDraft && !item.isEdit && !item.isDelete\">\r\n <a class=\"btn-action\" (click)=\"editContent(item)\"> {{ LANG.EDIT }} </a>\r\n <a class=\"btn-action ml-20\" (click)=\"removeItem(item)\">{{ LANG.DELETE }}</a>\r\n </mat-card-actions>\r\n <mat-card-actions *ngIf=\"item.isEdit\" class=\"edit-action-wrap\">\r\n <button qms-btn (click)=\"saveEditedContent(item)\">{{ LANG.SAVE }}</button>\r\n <button qms-btn-text (click)=\"item.isEdit = false\" class=\"ml-10\">\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </mat-card-actions>\r\n</div>\r\n",
680
+ template: "<div class=\"qms-comment\" *ngFor=\"let item of sourceLog; let i = index\">\r\n <mat-card-header *ngIf=\"!item.isDelete\">\r\n <mat-card-subtitle\r\n >{{ item.user }} {{ item.date | dateFormat }}\r\n </mat-card-subtitle>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div\r\n qms-scrollbar\r\n *ngIf=\"!item.isEdit && !item.isDelete\"\r\n class=\"content\"\r\n [ngClass]=\"{ secondary: 0 != i % 2 }\"\r\n [innerHTML]=\"showContent(item.content)\"\r\n ></div>\r\n <div class=\"content delete-action-wrap\" *ngIf=\"item.isDelete\">\r\n <i>{{ LANG.DELETE_MESSAGE_COMMENT }}</i>\r\n <button qms-btn-text class=\"btn-action\" (click)=\"regretItem(item)\">\r\n {{ LANG.REGRET }}\r\n </button>\r\n </div>\r\n <mat-form-field *ngIf=\"item.isEdit && !item.isDelete\" qms-form-textarea>\r\n <textarea\r\n qms-scrollbar\r\n class=\"textarea-comment\"\r\n matInput\r\n cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\"\r\n [(ngModel)]=\"item.editedContent\"\r\n ></textarea>\r\n </mat-form-field>\r\n </mat-card-content>\r\n <mat-card-actions *ngIf=\"item.isDraft && !item.isEdit && !item.isDelete\">\r\n <a class=\"btn-action\" (click)=\"editContent(item)\"> {{ LANG.EDIT }} </a>\r\n <a class=\"btn-action ml-20\" (click)=\"removeItem(item)\">{{ LANG.DELETE }}</a>\r\n </mat-card-actions>\r\n <mat-card-actions *ngIf=\"item.isEdit\" class=\"edit-action-wrap\">\r\n <button qms-btn (click)=\"saveEditedContent(item)\">{{ LANG.SAVE }}</button>\r\n <button qms-btn-text (click)=\"item.isEdit = false\" class=\"ml-10\">\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </mat-card-actions>\r\n</div>\r\n",
677
681
  host: { 'class': 'qms-comment' },
678
682
  changeDetection: ChangeDetectionStrategy.OnPush,
679
683
  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}.qms-comment{font-family:Open Sans;margin-bottom:1rem;display:block}.qms-comment .mat-card-subtitle{font-size:.75rem;color:rgba(0,0,0,.6)}.qms-comment .mat-card-content .content{padding:10px 16px;background-color:rgba(0,0,0,.04);display:block;border-radius:4px;font-size:.875rem;max-height:125px;overflow-y:auto}.qms-comment .mat-card-content .content.delete-action-wrap{display:flex;justify-content:space-between;align-items:center}.qms-comment .mat-card-content .content.secondary{background-color:rgba(62,87,183,.12)}.qms-comment .mat-card-content .qms-form{width:100%}.qms-comment .btn-action{color:#1954a9;font-weight:600;font-size:13px;cursor:pointer}.qms-comment .textarea-comment{font-size:.875rem}.ml-10{margin-left:10px}.mt-15{margin-top:15px}.ml-20{margin-left:20px}.edit-action-wrap{display:block;margin-top:-10px}"]
@@ -880,22 +884,6 @@ QMSSuffixFieldDirective.propDecorators = {
880
884
  qmsSuffix: [{ type: ContentChild, args: [QMSSuffixDirective, { static: false },] }]
881
885
  };
882
886
 
883
- class TestOnlyComponent {
884
- constructor() {
885
- this.text = "";
886
- }
887
- }
888
- TestOnlyComponent.decorators = [
889
- { type: Component, args: [{
890
- selector: 'qms-test-only',
891
- template: "<div class=\"test-container\">\r\n <h1 class=\"content\">{{ text }}</h1>\r\n</div>",
892
- styles: [".test-container .content{background-color:#f4e9e5;max-height:36vw;overflow-y:scroll;overflow-x:hidden}"]
893
- },] }
894
- ];
895
- TestOnlyComponent.propDecorators = {
896
- text: [{ type: Input }]
897
- };
898
-
899
887
  class QMSChipInputChipListDirective {
900
888
  constructor(ele) {
901
889
  this.ele = ele;
@@ -2668,7 +2656,7 @@ class QMSButtonIcon extends _QMSButtonMixinBase {
2668
2656
  return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));
2669
2657
  }
2670
2658
  ngAfterViewInit() {
2671
- if (this.type) {
2659
+ if (this.active) {
2672
2660
  this.renderer.addClass(this._elementRef.nativeElement, 'active-icon');
2673
2661
  }
2674
2662
  this._focusMonitor.monitor(this._elementRef, true);
@@ -2686,10 +2674,10 @@ QMSButtonIcon.decorators = [
2686
2674
  '[attr.disabled]': 'disabled || null',
2687
2675
  '[class._qms-animation-noopable]': '_animationMode === "NoopAnimations"',
2688
2676
  '[class.qms-btn-disabled]': 'disabled',
2689
- '[class.active-icon]': 'type',
2677
+ '[class.active-icon]': 'active',
2690
2678
  },
2691
2679
  template: "<span class=\"qms-btn-icon-wrapper\"><ng-content></ng-content></span>\r\n<span class=\"qms-button-focus-overlay\"></span>\r\n",
2692
- inputs: ['disabled', 'color', 'type'],
2680
+ inputs: ['disabled', 'color', 'active'],
2693
2681
  encapsulation: ViewEncapsulation.None,
2694
2682
  changeDetection: ChangeDetectionStrategy.OnPush,
2695
2683
  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}.qms-btn{height:36px;line-height:34px;padding:0 10px;background-color:#1954a9;color:#fff}.qms-btn:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn.qms-primary{background-color:#1954a9;color:#fff}.qms-btn.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn.qms-primary:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn.qms-primary:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn.qms-secondary{background-color:#9e360f;color:#fff}.qms-btn.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn.qms-secondary:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn.qms-secondary:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-lg{height:48px;line-height:38px;padding:4px 14px;background-color:#1954a9;color:#fff}.qms-btn-lg:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-lg:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-lg:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-lg.qms-primary{background-color:#1954a9;color:#fff}.qms-btn-lg.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-lg.qms-primary:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-lg.qms-primary:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-lg.qms-secondary{background-color:#9e360f;color:#fff}.qms-btn-lg.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-lg.qms-secondary:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn-lg.qms-secondary:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-outlined{height:36px;line-height:34px;padding:0 9px;background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined.qms-primary{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined.qms-primary:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined.qms-secondary{background-color:#fff;color:#9e360f;border:1px solid #9e360f}.qms-btn-outlined.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined.qms-secondary:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-outlined.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11;border:1px solid #b63e11}.qms-btn-outlined-lg{height:48px;line-height:38px;padding:4px 13px;background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined-lg:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined-lg:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined-lg:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined-lg.qms-primary{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined-lg.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined-lg.qms-primary:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined-lg.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined-lg.qms-secondary{background-color:#fff;color:#9e360f;border:1px solid #9e360f}.qms-btn-outlined-lg.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined-lg.qms-secondary:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-outlined-lg.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11;border:1px solid #b63e11}.qms-btn-text{height:36px;line-height:34px;padding:0 10px;background-color:transparent;color:#1954a9}.qms-btn-text:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text.qms-primary{background-color:transparent;color:#1954a9}.qms-btn-text.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text.qms-primary:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text.qms-secondary{background-color:transparent;color:#9e360f}.qms-btn-text.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text.qms-secondary:not([disabled]):focus{background-color:transparent;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-text.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-text-lg{height:48px;line-height:38px;padding:4px 14px;background-color:transparent;color:#1954a9}.qms-btn-text-lg:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text-lg:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text-lg:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text-lg.qms-primary{background-color:transparent;color:#1954a9}.qms-btn-text-lg.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text-lg.qms-primary:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text-lg.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text-lg.qms-secondary{background-color:transparent;color:#9e360f}.qms-btn-text-lg.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text-lg.qms-secondary:not([disabled]):focus{background-color:transparent;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-text-lg.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-fab,.qms-btn-fab-sm{min-width:0;width:56px;height:56px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);background-color:#1954a9;color:#fff}.qms-btn-fab-sm .qms-btn-wrapper,.qms-btn-fab .qms-btn-wrapper{padding:16px 0;display:inline-block;line-height:24px}.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible),.qms-btn-fab:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-sm:not([disabled]):focus,.qms-btn-fab:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab-sm:not([disabled]):hover,.qms-btn-fab:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible),.qms-btn-fab:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-sm:not([disabled]):focus,.qms-btn-fab:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-primary,.qms-primary.qms-btn-fab-sm{background-color:#1954a9;color:#fff}.qms-btn-fab.qms-primary:not([disabled]):focus:not(:focus-visible),.qms-primary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab.qms-primary:not([disabled]):focus,.qms-primary.qms-btn-fab-sm:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab.qms-primary:not([disabled]):hover,.qms-primary.qms-btn-fab-sm:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab.qms-primary:not([disabled]):focus:not(:focus-visible),.qms-primary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-primary:not([disabled]):focus,.qms-primary.qms-btn-fab-sm:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-secondary,.qms-secondary.qms-btn-fab-sm{background-color:#9e360f;color:#fff}.qms-btn-fab.qms-secondary:not([disabled]):focus:not(:focus-visible),.qms-secondary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab.qms-secondary:not([disabled]):focus,.qms-secondary.qms-btn-fab-sm:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn-fab.qms-secondary:not([disabled]):hover,.qms-secondary.qms-btn-fab-sm:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-fab.qms-secondary:not([disabled]):focus:not(:focus-visible),.qms-secondary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-secondary:not([disabled]):focus,.qms-secondary.qms-btn-fab-sm:not([disabled]):focus{box-shadow:0 0 0 2px #cf9b87,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-sm{min-width:0;width:40px;height:40px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-sm .qms-btn-wrapper{padding:8px 0;display:inline-block;line-height:24px}.qms-btn-fab-outlined,.qms-btn-fab-outlined-sm{min-width:0;width:56px;height:56px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-sm .qms-btn-wrapper,.qms-btn-fab-outlined .qms-btn-wrapper{padding:16px 0;display:inline-block;line-height:24px}.qms-btn-fab-outlined-sm:not([disabled]):focus:not(:focus-visible),.qms-btn-fab-outlined:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-sm:not([disabled]):focus,.qms-btn-fab-outlined:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-sm:not([disabled]):hover,.qms-btn-fab-outlined:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined.qms-primary,.qms-primary.qms-btn-fab-outlined-sm{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined.qms-primary:not([disabled]):focus:not(:focus-visible),.qms-primary.qms-btn-fab-outlined-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-primary:not([disabled]):focus,.qms-primary.qms-btn-fab-outlined-sm:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-primary:not([disabled]):hover,.qms-primary.qms-btn-fab-outlined-sm:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined.qms-secondary,.qms-secondary.qms-btn-fab-outlined-sm{background-color:#fff;color:#9e360f;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined.qms-secondary:not([disabled]):focus:not(:focus-visible),.qms-secondary.qms-btn-fab-outlined-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-secondary:not([disabled]):focus,.qms-secondary.qms-btn-fab-outlined-sm:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-secondary:not([disabled]):hover,.qms-secondary.qms-btn-fab-outlined-sm:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-fab-outlined-sm{min-width:0;width:40px;height:40px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-sm .qms-btn-wrapper{padding:8px 0;display:inline-block;line-height:24px}.qms-btn-fab-ext{box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);padding:0 16px;border-radius:30px;line-height:54px;height:56px;background-color:#1954a9;color:#fff}.qms-btn-fab-ext:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-ext:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab-ext:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab-ext:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-primary{background-color:#1954a9;color:#fff}.qms-btn-fab-ext.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-ext.qms-primary:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab-ext.qms-primary:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab-ext.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-primary:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-secondary{background-color:#9e360f;color:#fff}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn-fab-ext.qms-secondary:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus{box-shadow:0 0 0 2px #cf9b87,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext{box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);padding:0 16px;border-radius:30px;line-height:54px;height:56px;background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-ext:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined-ext.qms-primary{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-ext.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-primary:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined-ext.qms-secondary{background-color:#fff;color:#9e360f;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-ext.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-secondary:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-icon{box-sizing:border-box;position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;font-style:normal}.qms-btn-icon.qms-btn-disabled{cursor:default;background:#e4e4e4;color:rgba(0,0,0,.38)}.qms-btn-icon .mat-icon{font-size:24px!important;padding-bottom:1px}.qms-btn-icon::-moz-focus-inner{border:0}.qms-btn-icon:not([disabled]):hover{text-decoration:none}.qms-btn-icon .qms-btn-icon-wrapper>*{vertical-align:middle}.qms-btn-icon:after{content:\"\";position:absolute;top:50%;left:50%;width:10px;height:10px;background:hsla(0,0%,100%,.5);opacity:0;border-radius:100%;transform:scale(1) translate(-50%);transform-origin:50% 50%}.qms-btn-icon{padding:0;min-width:0;width:48px;height:48px;line-height:48px;border-radius:50%;flex-shrink:0;border:none;background:transparent}.qms-btn-icon:focus{outline:0}.qms-btn-icon:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-icon.qms-light{color:rgba(0,0,0,.6)}.qms-btn-icon.qms-light:not([disabled]):focus,.qms-btn-icon.qms-light:not([disabled]):hover{background-color:rgba(0,0,0,.08);color:#323232}.qms-btn-icon.qms-light:not([disabled]):active{background-color:rgba(0,0,0,.24);color:#323232}.qms-btn-icon.qms-light.qms-btn-disabled{color:rgba(0,0,0,.24);background-color:transparent}.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon{color:#1954a9}.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon:not([disabled]):active,.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon:not([disabled]):focus,.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon:not([disabled]):hover{background-color:#e5eefb;color:#1954a9}.qms-btn-icon.qms-dark{color:#fff}.qms-btn-icon.qms-dark:not([disabled]):focus,.qms-btn-icon.qms-dark:not([disabled]):hover{background-color:hsla(0,0%,100%,.08)}.qms-btn-icon.qms-dark:not([disabled]):active{background-color:hsla(0,0%,100%,.24)}.qms-btn-icon.qms-dark.qms-btn-disabled{color:hsla(0,0%,100%,.24);background-color:transparent}.qms-btn-icon.qms-dark.active-icon{color:#f6b59d}.qms-btn-icon.qms-dark.active-icon:not([disabled]):focus,.qms-btn-icon.qms-dark.active-icon:not([disabled]):hover{background-color:hsla(0,0%,100%,.08)}.qms-btn-icon.qms-dark.active-icon:not([disabled]):active{background-color:hsla(0,0%,100%,.24)}.qms-btn-icon .qms-button-focus-overlay{opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1);top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.qms-btn-icon .qms-btn-icon-wrapper .mat-icon{vertical-align:middle;line-height:24px}.icon-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center}.icon-wrapper.light.disabled .caption{color:rgba(0,0,0,.24);cursor:default;background-color:transparent}.icon-wrapper.light.active .caption{color:#1954a9}.icon-wrapper.light:not(.disabled):hover .caption{color:#323232}.icon-wrapper.light:not(.disabled):focus .caption{color:rgba(0,0,0,.6)}.icon-wrapper.light:not(.disabled):active .caption{color:#323232}.icon-wrapper.light .caption{color:rgba(0,0,0,.6)}.icon-wrapper.dark.disabled .caption{color:hsla(0,0%,100%,.24);cursor:default;background-color:transparent}.icon-wrapper.dark.active .caption{color:#f6b59d}.icon-wrapper.dark .caption{color:#fff}.icon-wrapper .caption{font-size:.75rem;line-height:16px;font-family:Open Sans;font-weight:400}@-webkit-keyframes ripple{0%{transform:scale(0);opacity:1}20%{transform:scale(25);opacity:1}to{opacity:0;transform:scale(40)}}@keyframes ripple{0%{transform:scale(0);opacity:1}20%{transform:scale(25);opacity:1}to{opacity:0;transform:scale(40)}}"]
@@ -2702,7 +2690,7 @@ QMSButtonIcon.ctorParameters = () => [
2702
2690
  { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
2703
2691
  ];
2704
2692
  QMSButtonIcon.propDecorators = {
2705
- type: [{ type: Input, args: ['type',] }]
2693
+ active: [{ type: Input, args: ['active',] }]
2706
2694
  };
2707
2695
 
2708
2696
  class QMSButtonModule {
@@ -2801,6 +2789,29 @@ SharedModule.decorators = [
2801
2789
  { type: NgModule, args: [{},] }
2802
2790
  ];
2803
2791
 
2792
+ class QMSAppBar {
2793
+ constructor(elRef) {
2794
+ this.elRef = elRef;
2795
+ this.mode = "dark";
2796
+ }
2797
+ ngOnInit() {
2798
+ }
2799
+ ngAfterViewChecked() {
2800
+ this.elRef.nativeElement.classList.add(`qms-app-bar-${this.mode}`);
2801
+ }
2802
+ }
2803
+ QMSAppBar.decorators = [
2804
+ { type: Directive, args: [{
2805
+ selector: '[qms-app-bar]'
2806
+ },] }
2807
+ ];
2808
+ QMSAppBar.ctorParameters = () => [
2809
+ { type: ElementRef }
2810
+ ];
2811
+ QMSAppBar.propDecorators = {
2812
+ mode: [{ type: Input, args: ['mode',] }]
2813
+ };
2814
+
2804
2815
  const ɵ0$2 = { appearance: 'fill' }, ɵ1 = { color: 'none' };
2805
2816
  class QmsAngularModule {
2806
2817
  }
@@ -2808,7 +2819,6 @@ QmsAngularModule.decorators = [
2808
2819
  { type: NgModule, args: [{
2809
2820
  declarations: [
2810
2821
  QmsAngularComponent,
2811
- TestOnlyComponent,
2812
2822
  MarginDirective,
2813
2823
  QMSSearchFieldDirective,
2814
2824
  QMSInputClearDirective,
@@ -2855,7 +2865,8 @@ QmsAngularModule.decorators = [
2855
2865
  QMSChipInputChipListDirective,
2856
2866
  ScrollToSelectedDirective,
2857
2867
  QMSTooltipImageDirective,
2858
- SelectDialog
2868
+ SelectDialog,
2869
+ QMSAppBar
2859
2870
  ],
2860
2871
  imports: [
2861
2872
  CommonModule,
@@ -2867,7 +2878,6 @@ QmsAngularModule.decorators = [
2867
2878
  exports: [
2868
2879
  QmsAngularComponent,
2869
2880
  MarginDirective,
2870
- TestOnlyComponent,
2871
2881
  QMSSearchFieldDirective,
2872
2882
  QMSInputClearDirective,
2873
2883
  QMSFormFieldDirective,
@@ -2912,7 +2922,8 @@ QmsAngularModule.decorators = [
2912
2922
  QMSChipInputChipListDirective,
2913
2923
  ScrollToSelectedDirective,
2914
2924
  QMSTooltipImageDirective,
2915
- SelectDialog
2925
+ SelectDialog,
2926
+ QMSAppBar
2916
2927
  ],
2917
2928
  providers: [
2918
2929
  { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: ɵ0$2 },
@@ -3791,7 +3802,7 @@ QMSBreadcrumb.decorators = [
3791
3802
  selector: 'qms-breadcrumb',
3792
3803
  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
3804
  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}"]
3805
+ 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
3806
  },] }
3796
3807
  ];
3797
3808
  QMSBreadcrumb.ctorParameters = () => [
@@ -3858,7 +3869,7 @@ QMSBreadcrumbModule.decorators = [
3858
3869
  },] }
3859
3870
  ];
3860
3871
 
3861
- var DataType$1;
3872
+ var DataType$2;
3862
3873
  (function (DataType) {
3863
3874
  DataType[DataType["process"] = 2] = "process";
3864
3875
  DataType[DataType["document"] = 1] = "document";
@@ -3870,9 +3881,9 @@ var DataType$1;
3870
3881
  DataType[DataType["deviationType"] = 8] = "deviationType";
3871
3882
  DataType[DataType["checklistCategory"] = 9] = "checklistCategory";
3872
3883
  DataType[DataType["riskFolder"] = 10] = "riskFolder";
3873
- })(DataType$1 || (DataType$1 = {}));
3884
+ })(DataType$2 || (DataType$2 = {}));
3874
3885
 
3875
- var DocumentNodeType$1;
3886
+ var DocumentNodeType$2;
3876
3887
  (function (DocumentNodeType) {
3877
3888
  DocumentNodeType[DocumentNodeType["Document"] = 1] = "Document";
3878
3889
  DocumentNodeType[DocumentNodeType["LinkDocument"] = 2] = "LinkDocument";
@@ -3882,24 +3893,24 @@ var DocumentNodeType$1;
3882
3893
  DocumentNodeType[DocumentNodeType["TopFolder"] = 6] = "TopFolder";
3883
3894
  DocumentNodeType[DocumentNodeType["DepartmentFolder"] = 7] = "DepartmentFolder";
3884
3895
  DocumentNodeType[DocumentNodeType["RegionalFolder"] = 8] = "RegionalFolder";
3885
- })(DocumentNodeType$1 || (DocumentNodeType$1 = {}));
3896
+ })(DocumentNodeType$2 || (DocumentNodeType$2 = {}));
3886
3897
 
3887
- class RelatedConst {
3898
+ class RelatedConst$1 {
3888
3899
  }
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';
3900
+ RelatedConst$1.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
3901
+ RelatedConst$1.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
3902
+ RelatedConst$1.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
3892
3903
 
3893
3904
  class TreeNode$1 {
3894
3905
  }
3895
3906
 
3896
- let objData$1 = {};
3897
- let json = JSON;
3898
- function buildArrayTree$1(obj, level) {
3907
+ let objData$2 = {};
3908
+ let json$1 = JSON;
3909
+ function buildArrayTree$2(obj, level) {
3899
3910
  return Object.keys(obj).reduce((accumulator, key) => {
3900
3911
  const value = obj[key];
3901
3912
  const node = new TreeNode$1();
3902
- const keyObj = json.parse(key);
3913
+ const keyObj = json$1.parse(key);
3903
3914
  node.id = keyObj["id"];
3904
3915
  node.name = keyObj["name"];
3905
3916
  node.parentId = keyObj["parentId"];
@@ -3915,8 +3926,8 @@ function buildArrayTree$1(obj, level) {
3915
3926
  return accumulator.concat(node);
3916
3927
  }, []);
3917
3928
  }
3918
- function buildObjectTree$1(arr) {
3919
- objData$1 = {};
3929
+ function buildObjectTree$2(arr) {
3930
+ objData$2 = {};
3920
3931
  let objTreeData;
3921
3932
  const root = arr.filter((x) => {
3922
3933
  return x.parentId === '';
@@ -3926,7 +3937,7 @@ function buildObjectTree$1(arr) {
3926
3937
  });
3927
3938
  return objTreeData;
3928
3939
  }
3929
- function findParent$1(id, array) {
3940
+ function findParent$2(id, array) {
3930
3941
  const objParent = {};
3931
3942
  const parent = array.filter((x) => {
3932
3943
  return x.rootId === id;
@@ -3938,7 +3949,7 @@ function findParent$1(id, array) {
3938
3949
  parentId: item.rootId,
3939
3950
  levelType: item.levelType
3940
3951
  };
3941
- objParent[json.stringify(parentKey)] = null;
3952
+ objParent[json$1.stringify(parentKey)] = null;
3942
3953
  });
3943
3954
  // find child
3944
3955
  const child = array.filter((x) => {
@@ -3954,10 +3965,10 @@ function findParent$1(id, array) {
3954
3965
  levelType: parent[0].levelType
3955
3966
  };
3956
3967
  // add node to tree
3957
- objData$1[json.stringify(key)] = objParent;
3958
- return objData$1;
3968
+ objData$2[json$1.stringify(key)] = objParent;
3969
+ return objData$2;
3959
3970
  }
3960
- function findChild$1(id, objParent, array) {
3971
+ function findChild$2(id, objParent, array) {
3961
3972
  const subNode = array.filter((x) => {
3962
3973
  return x.parentId === id;
3963
3974
  });
@@ -3969,7 +3980,7 @@ function findChild$1(id, objParent, array) {
3969
3980
  parentId: item.rootId,
3970
3981
  levelType: item.levelType
3971
3982
  };
3972
- processNode[json.stringify(nodeKey)] = null;
3983
+ processNode[json$1.stringify(nodeKey)] = null;
3973
3984
  this.findChild(item.rootId, processNode, array);
3974
3985
  let key = {
3975
3986
  id: item.rootId,
@@ -3977,14 +3988,14 @@ function findChild$1(id, objParent, array) {
3977
3988
  parentId: id,
3978
3989
  levelType: item.levelType
3979
3990
  };
3980
- objParent[json.stringify(key)] = Object.assign(Object.assign({}, objParent[json.stringify(key)]), processNode);
3991
+ objParent[json$1.stringify(key)] = Object.assign(Object.assign({}, objParent[json$1.stringify(key)]), processNode);
3981
3992
  });
3982
3993
  }
3983
- const TreeFunctions = {
3984
- buildArrayTree: buildArrayTree$1,
3985
- buildObjectTree: buildObjectTree$1,
3986
- findParent: findParent$1,
3987
- findChild: findChild$1
3994
+ const TreeFunctions$1 = {
3995
+ buildArrayTree: buildArrayTree$2,
3996
+ buildObjectTree: buildObjectTree$2,
3997
+ findParent: findParent$2,
3998
+ findChild: findChild$2
3988
3999
  };
3989
4000
 
3990
4001
  class TreeFlatNode {
@@ -4013,8 +4024,6 @@ class TreeComponent {
4013
4024
  this.arrIndex = [];
4014
4025
  this.checkedNodeList = [];
4015
4026
  this.useExpandFeature = true;
4016
- this.allowSelectFolder = false;
4017
- this.areaOfCurrentProcess = '';
4018
4027
  this.showCheckBox = false;
4019
4028
  this.allowMultipleCheck = true;
4020
4029
  this.singleSelectedNode = false;
@@ -4038,7 +4047,7 @@ class TreeComponent {
4038
4047
  this.isChecked = false;
4039
4048
  this.idCheckIcon = '';
4040
4049
  this.listChildNode = [];
4041
- this.dataType = DataType$1;
4050
+ this.dataType = DataType$2;
4042
4051
  this.transformer = (node, level) => {
4043
4052
  let checkHasChild = true;
4044
4053
  if (!node.children) {
@@ -4052,7 +4061,7 @@ class TreeComponent {
4052
4061
  node.children.length &&
4053
4062
  node.children.length === 1 &&
4054
4063
  !node.children[0].name &&
4055
- node.id.toString() === this.areaOfCurrentProcess) {
4064
+ node.id.toString() === '') {
4056
4065
  checkHasChild = false;
4057
4066
  }
4058
4067
  if (!(this.listParentObj[node.id] === 1)) {
@@ -4099,10 +4108,11 @@ class TreeComponent {
4099
4108
  (changes.selectedData.currentValue.length > 0 ||
4100
4109
  JSON.stringify(changes.selectedData.currentValue) !==
4101
4110
  JSON.stringify(changes.selectedData.previousValue))) {
4102
- if (changes.selectedData.currentValue) {
4111
+ if (changes.selectedData.currentValue && changes.selectedData.currentValue[0] !== null) {
4103
4112
  this.checkSelected(changes.selectedData.currentValue);
4104
4113
  }
4105
4114
  else {
4115
+ this.idCheckIcon = '';
4106
4116
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4107
4117
  this.checklistSelection.deselect(this.treeControl.dataNodes[i]);
4108
4118
  }
@@ -4120,7 +4130,7 @@ class TreeComponent {
4120
4130
  // this.initTreeData();
4121
4131
  }
4122
4132
  initTreeData() {
4123
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
4133
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
4124
4134
  this.treeData.forEach(item => {
4125
4135
  if (!!item.parentId && item.parentId.length > 0) {
4126
4136
  this.listParentObj[item.parentId] = 1;
@@ -4130,30 +4140,28 @@ class TreeComponent {
4130
4140
  }
4131
4141
  });
4132
4142
  this.filterData = this.treeData;
4133
- this.treeObject = TreeFunctions.buildObjectTree(this.filterData);
4134
- this.dataSource.data = TreeFunctions.buildArrayTree(this.treeObject || {}, 0).map(element => {
4143
+ this.treeObject = TreeFunctions$1.buildObjectTree(this.filterData);
4144
+ this.dataSource.data = TreeFunctions$1.buildArrayTree(this.treeObject || {}, 0).map(element => {
4135
4145
  const item = this.sortDataTree(element);
4136
4146
  element = null;
4137
4147
  element = Object.assign({}, item);
4138
4148
  return element;
4139
4149
  });
4140
4150
  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;
4151
+ this.showCheckBox = (_b = this.treeConfig) === null || _b === void 0 ? void 0 : _b.showCheckBox;
4152
+ this.onlyCheckBoxForChild = (_c = this.treeConfig) === null || _c === void 0 ? void 0 : _c.onlyCheckBoxForChild;
4153
+ this.moduleId = (_d = this.treeConfig) === null || _d === void 0 ? void 0 : _d.moduleId;
4154
+ this.openIcon = (_e = this.treeConfig) === null || _e === void 0 ? void 0 : _e.openIcon;
4155
+ 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;
4156
+ this.closeIcon = (_h = this.treeConfig) === null || _h === void 0 ? void 0 : _h.closeIcon;
4157
+ 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;
4158
+ this.itemIcon = (_l = this.treeConfig) === null || _l === void 0 ? void 0 : _l.itemIcon;
4159
+ this.itemIconSvg = (_m = this.treeConfig) === null || _m === void 0 ? void 0 : _m.itemIconSvg;
4160
+ this.itemIconPath = (_o = this.treeConfig) === null || _o === void 0 ? void 0 : _o.itemIconPath;
4161
+ this.itemIconBase64 = this.domSanitizer.bypassSecurityTrustResourceUrl((_p = this.treeConfig) === null || _p === void 0 ? void 0 : _p.itemIconBase64);
4162
+ this.allowMultipleCheck = (_q = this.treeConfig) === null || _q === void 0 ? void 0 : _q.allowMultipleCheck;
4163
+ this.singleSelectedNode = (_r = this.treeConfig) === null || _r === void 0 ? void 0 : _r.singleSelectedNode;
4164
+ this.onlyFolder = (_s = this.treeConfig) === null || _s === void 0 ? void 0 : _s.onlyFolder;
4157
4165
  this.checklistSelection = new SelectionModel(this.allowMultipleCheck); /* true: multiple */
4158
4166
  this.displayType = this.getItemIconType(this.treeConfig);
4159
4167
  // Expand child node tree
@@ -4219,7 +4227,7 @@ class TreeComponent {
4219
4227
  return;
4220
4228
  }
4221
4229
  let itemMarkChecked = this.expandToChildNode[this.expandToChildNode.length - 1].toUpperCase();
4222
- this.idCheckIcon = itemMarkChecked;
4230
+ let parentItem = '';
4223
4231
  // get all children nodes on same level
4224
4232
  let listChildNodeSameLevel = this.findChildNode(itemMarkChecked, this.dataSource.data);
4225
4233
  // get all children in all level
@@ -4228,6 +4236,7 @@ class TreeComponent {
4228
4236
  this.getChildNodeSelectOne.emit(this.listChildNode);
4229
4237
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4230
4238
  if (itemMarkChecked === this.treeControl.dataNodes[i].id) {
4239
+ parentItem = this.treeControl.dataNodes[i].parentId;
4231
4240
  this.selectNodeEvent.emit(this.treeControl.dataNodes[i]);
4232
4241
  }
4233
4242
  this.expandToChildNode.forEach(el => {
@@ -4236,6 +4245,7 @@ class TreeComponent {
4236
4245
  }
4237
4246
  });
4238
4247
  }
4248
+ this.idCheckIcon = this.idToCheckSelectOne(itemMarkChecked, parentItem);
4239
4249
  }
4240
4250
  }
4241
4251
  checkDisabledList() {
@@ -4254,7 +4264,7 @@ class TreeComponent {
4254
4264
  //Selected node with select one
4255
4265
  if (this.disabledList.length && this.treeConfig.selectOne) {
4256
4266
  let itemMarkChecked = this.disabledList[this.disabledList.length - 1].toUpperCase();
4257
- this.idCheckIcon = itemMarkChecked;
4267
+ let parentItem = '';
4258
4268
  // get all children nodes on same level
4259
4269
  let listChildNodeSameLevel = this.findChildNode(itemMarkChecked, this.dataSource.data);
4260
4270
  // get all children in all level
@@ -4263,6 +4273,7 @@ class TreeComponent {
4263
4273
  this.getChildNodeSelectOne.emit(this.listChildNode);
4264
4274
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4265
4275
  if (itemMarkChecked === this.treeControl.dataNodes[i].id) {
4276
+ parentItem = this.treeControl.dataNodes[i].parentId;
4266
4277
  this.selectNodeEvent.emit(this.treeControl.dataNodes[i]);
4267
4278
  }
4268
4279
  this.disabledList.forEach(el => {
@@ -4278,6 +4289,7 @@ class TreeComponent {
4278
4289
  }
4279
4290
  });
4280
4291
  }
4292
+ this.idCheckIcon = this.idToCheckSelectOne(itemMarkChecked, parentItem);
4281
4293
  }
4282
4294
  else {
4283
4295
  this.idCheckIcon = '';
@@ -4485,23 +4497,23 @@ class TreeComponent {
4485
4497
  this.checkBoxEvent.emit(this.checklistSelection.selected);
4486
4498
  }
4487
4499
  selectNode(node) {
4488
- if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {
4489
- window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');
4500
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
4501
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
4490
4502
  }
4491
4503
  if (this.treeConfig.selectOne) {
4492
4504
  node.itemType = this.checkDataTypeSelectNode(node);
4493
- this.idCheckIcon = node.id;
4505
+ this.idCheckIcon = this.idToCheckSelectOne(node.id, node.parentId);
4494
4506
  this.selectNodeEvent.emit(node);
4495
4507
  }
4496
4508
  }
4497
4509
  checkDataTypeSelectNode(node) {
4498
4510
  let itemType = -1;
4499
4511
  switch (this.moduleId) {
4500
- case DataType$1.process:
4501
- itemType = node.expandable ? DataType$1.area : DataType$1.process;
4512
+ case DataType$2.process:
4513
+ itemType = node.expandable ? DataType$2.area : DataType$2.process;
4502
4514
  break;
4503
- case DataType$1.document:
4504
- itemType = node.expandable ? DataType$1.folder : DataType$1.document;
4515
+ case DataType$2.document:
4516
+ itemType = node.expandable ? DataType$2.folder : DataType$2.document;
4505
4517
  break;
4506
4518
  default:
4507
4519
  itemType = this.moduleId;
@@ -4519,12 +4531,13 @@ class TreeComponent {
4519
4531
  // node.parentId === this.disabledList[this.disabledList.length - 1].toUpperCase())) {
4520
4532
  // return;
4521
4533
  // }
4522
- this.idCheckIcon = node.id;
4534
+ this.idCheckIcon = this.idToCheckSelectOne(node.id, node.parentId);
4523
4535
  node.itemType = this.checkDataTypeSelectNode(node);
4524
4536
  this.selectNodeEvent.emit(node);
4537
+ return;
4525
4538
  }
4526
- if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {
4527
- window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');
4539
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
4540
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
4528
4541
  }
4529
4542
  // set useExpandFeature = true to improve performance of tree loading
4530
4543
  if (!isExpandNode || !this.useExpandFeature) {
@@ -4659,17 +4672,17 @@ class TreeComponent {
4659
4672
  return this.treeControl.isExpanded(node) ? this.openIcon : this.closeIcon;
4660
4673
  }
4661
4674
  switch (this.moduleId) {
4662
- case DataType$1.document: {
4675
+ case DataType$2.document: {
4663
4676
  const nodeData = this.treeData.filter(x => { return x.rootId === node.id; });
4664
4677
  if (nodeData.length > 0) {
4665
4678
  switch (nodeData[0].levelType) {
4666
- case DocumentNodeType$1.DepartmentFolder:
4679
+ case DocumentNodeType$2.DepartmentFolder:
4667
4680
  return this.treeControl.isExpanded(node) ? 'department_folder_outlined' : 'department_folder';
4668
- case DocumentNodeType$1.RegionalFolder:
4681
+ case DocumentNodeType$2.RegionalFolder:
4669
4682
  return this.treeControl.isExpanded(node) ? 'regional_folder_outlined' : 'regional_folder';
4670
- case DocumentNodeType$1.TopFolder:
4683
+ case DocumentNodeType$2.TopFolder:
4671
4684
  return this.treeControl.isExpanded(node) ? 'enterprise_folder_outlined' : 'enterprise_folder';
4672
- case DocumentNodeType$1.Folder:
4685
+ case DocumentNodeType$2.Folder:
4673
4686
  return this.treeControl.isExpanded(node) ? 'local_folder_outlined' : 'local_folder';
4674
4687
  default:
4675
4688
  return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';
@@ -4677,7 +4690,7 @@ class TreeComponent {
4677
4690
  }
4678
4691
  return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
4679
4692
  }
4680
- case DataType$1.process:
4693
+ case DataType$2.process:
4681
4694
  return this.treeControl.isExpanded(node) ? 'process_area_outlined' : 'process_area';
4682
4695
  default:
4683
4696
  return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
@@ -4685,26 +4698,26 @@ class TreeComponent {
4685
4698
  }
4686
4699
  getItemIcon(node) {
4687
4700
  switch (this.moduleId) {
4688
- case DataType$1.document:
4701
+ case DataType$2.document:
4689
4702
  switch (node.levelType) {
4690
- case DocumentNodeType$1.DepartmentFolder:
4703
+ case DocumentNodeType$2.DepartmentFolder:
4691
4704
  return 'document_department';
4692
- case DocumentNodeType$1.RegionalFolder:
4705
+ case DocumentNodeType$2.RegionalFolder:
4693
4706
  return 'document_regional';
4694
- case DocumentNodeType$1.TopFolder:
4707
+ case DocumentNodeType$2.TopFolder:
4695
4708
  return 'document_enterprise';
4696
- case DocumentNodeType$1.Folder:
4709
+ case DocumentNodeType$2.Folder:
4697
4710
  return 'document_local';
4698
4711
  default:
4699
4712
  return 'document';
4700
4713
  }
4701
- case DataType$1.process:
4714
+ case DataType$2.process:
4702
4715
  return 'process';
4703
- case DataType$1.checklist:
4716
+ case DataType$2.checklist:
4704
4717
  return 'checklist';
4705
- case DataType$1.deviation:
4718
+ case DataType$2.deviation:
4706
4719
  return 'deviation';
4707
- case DataType$1.risk:
4720
+ case DataType$2.risk:
4708
4721
  return 'risk';
4709
4722
  default:
4710
4723
  return 'document';
@@ -4726,13 +4739,16 @@ class TreeComponent {
4726
4739
  expandNode(node) {
4727
4740
  this.treeControl.expand(node);
4728
4741
  }
4742
+ idToCheckSelectOne(id, parentId) {
4743
+ return `${id}-${parentId}`;
4744
+ }
4729
4745
  }
4730
4746
  TreeComponent.decorators = [
4731
4747
  { type: Component, args: [{
4732
4748
  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",
4749
+ 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
4750
  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}"]
4751
+ 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
4752
  },] }
4737
4753
  ];
4738
4754
  TreeComponent.ctorParameters = () => [
@@ -4794,7 +4810,7 @@ QMSTreeModule.decorators = [
4794
4810
  class RelatedContentComponent {
4795
4811
  constructor() {
4796
4812
  this.contents = [];
4797
- this.dataType = DataType$1;
4813
+ this.dataType = DataType$2;
4798
4814
  this.imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';
4799
4815
  }
4800
4816
  ngOnInit() {
@@ -4828,7 +4844,7 @@ class RelatedListComponent {
4828
4844
  this.iconRegistry = iconRegistry;
4829
4845
  this.appIconService = appIconService;
4830
4846
  this.relatedData = [];
4831
- this.dataType = DataType$1;
4847
+ this.dataType = DataType$2;
4832
4848
  // imageProcess = '../qms-angular/src/assets/images/union.svg';
4833
4849
  this.imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';
4834
4850
  this.updateData = new EventEmitter();
@@ -4882,43 +4898,43 @@ class RelatedListComponent {
4882
4898
  }
4883
4899
  getNodeIcon(item) {
4884
4900
  switch (item.itemType) {
4885
- case DataType$1.folder: {
4901
+ case DataType$2.folder: {
4886
4902
  switch (item.levelType) {
4887
- case DocumentNodeType$1.DepartmentFolder:
4903
+ case DocumentNodeType$2.DepartmentFolder:
4888
4904
  return 'department_folder_outlined';
4889
- case DocumentNodeType$1.RegionalFolder:
4905
+ case DocumentNodeType$2.RegionalFolder:
4890
4906
  return 'regional_folder_outlined';
4891
- case DocumentNodeType$1.TopFolder:
4907
+ case DocumentNodeType$2.TopFolder:
4892
4908
  return 'enterprise_folder_outlined';
4893
- case DocumentNodeType$1.Folder:
4909
+ case DocumentNodeType$2.Folder:
4894
4910
  return 'local_folder_outlined';
4895
4911
  default:
4896
4912
  return 'folder_outlined';
4897
4913
  }
4898
4914
  }
4899
- case DataType$1.document: {
4915
+ case DataType$2.document: {
4900
4916
  switch (item.levelType) {
4901
- case DocumentNodeType$1.DepartmentFolder:
4917
+ case DocumentNodeType$2.DepartmentFolder:
4902
4918
  return 'document_department';
4903
- case DocumentNodeType$1.RegionalFolder:
4919
+ case DocumentNodeType$2.RegionalFolder:
4904
4920
  return 'document_regional';
4905
- case DocumentNodeType$1.TopFolder:
4921
+ case DocumentNodeType$2.TopFolder:
4906
4922
  return 'document_enterprise';
4907
- case DocumentNodeType$1.Folder:
4923
+ case DocumentNodeType$2.Folder:
4908
4924
  return 'document_local';
4909
4925
  default:
4910
4926
  return 'document';
4911
4927
  }
4912
4928
  }
4913
- case DataType$1.area:
4929
+ case DataType$2.area:
4914
4930
  return 'process_area_outlined';
4915
- case DataType$1.process:
4931
+ case DataType$2.process:
4916
4932
  return 'process';
4917
- case DataType$1.deviation:
4933
+ case DataType$2.deviation:
4918
4934
  return 'deviation';
4919
- case DataType$1.checklist:
4935
+ case DataType$2.checklist:
4920
4936
  return 'checklist';
4921
- case DataType$1.risk:
4937
+ case DataType$2.risk:
4922
4938
  return 'risk';
4923
4939
  default:
4924
4940
  return 'folder_outlined';
@@ -4952,13 +4968,13 @@ RelatedListComponent.propDecorators = {
4952
4968
  class TreeModel {
4953
4969
  }
4954
4970
 
4955
- var ModuleType$1;
4971
+ var ModuleType$2;
4956
4972
  (function (ModuleType) {
4957
4973
  ModuleType[ModuleType["documentProcess"] = 1] = "documentProcess";
4958
4974
  ModuleType[ModuleType["deviation"] = 2] = "deviation";
4959
4975
  ModuleType[ModuleType["checklist"] = 3] = "checklist";
4960
4976
  ModuleType[ModuleType["risk"] = 4] = "risk";
4961
- })(ModuleType$1 || (ModuleType$1 = {}));
4977
+ })(ModuleType$2 || (ModuleType$2 = {}));
4962
4978
 
4963
4979
  class PopupData {
4964
4980
  constructor() {
@@ -4977,6 +4993,8 @@ class RelatedItem {
4977
4993
  }
4978
4994
  class IRelated {
4979
4995
  }
4996
+ class RelatedOption extends IRelated {
4997
+ }
4980
4998
  class RelatedData {
4981
4999
  constructor() {
4982
5000
  this.title = '';
@@ -5034,8 +5052,8 @@ class RelatedPopupComponent {
5034
5052
  this.documentCheckedList = [];
5035
5053
  this.singleProcessList = [];
5036
5054
  this.singleDocumentList = [];
5037
- this.module = ModuleType$1;
5038
- this.dataType = DataType$1;
5055
+ this.module = ModuleType$2;
5056
+ this.dataType = DataType$2;
5039
5057
  this.itemType = 0;
5040
5058
  this.selectedRiskData = [];
5041
5059
  this.disabledList = [];
@@ -5083,7 +5101,7 @@ class RelatedPopupComponent {
5083
5101
  this.globalService.setSplitviewValue([]);
5084
5102
  }
5085
5103
  onMessage(event) {
5086
- if (event.data === RelatedConst.HIDE_SEARCH_RESULT) {
5104
+ if (event.data === RelatedConst$1.HIDE_SEARCH_RESULT) {
5087
5105
  // this.autoComplete.closePanel();
5088
5106
  }
5089
5107
  }
@@ -5095,7 +5113,7 @@ class RelatedPopupComponent {
5095
5113
  });
5096
5114
  this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
5097
5115
  if (res && res.length) {
5098
- this.filteredOptions = res;
5116
+ this.filteredOptions = this.toRelatedOptions(res);
5099
5117
  }
5100
5118
  });
5101
5119
  this.globalService.splitViewValue.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
@@ -5104,7 +5122,7 @@ class RelatedPopupComponent {
5104
5122
  let listNodeProcess = [];
5105
5123
  let listNodeDocs = [];
5106
5124
  res.forEach(item => {
5107
- if (item.itemType === DataType$1.process) {
5125
+ if (item.itemType === DataType$2.process) {
5108
5126
  let newNodeProcess = new TreeModel();
5109
5127
  newNodeProcess.childId = item.id;
5110
5128
  newNodeProcess.childName = item.itemName;
@@ -5140,13 +5158,13 @@ class RelatedPopupComponent {
5140
5158
  let selectProcess = [];
5141
5159
  let selectDocument = [];
5142
5160
  this.checkedNodeList.forEach(x => {
5143
- if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5161
+ if (x.itemType === DataType$2.area || x.itemType === DataType$2.process) {
5144
5162
  this.treeData1.forEach(item => {
5145
5163
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5146
5164
  selectProcess.push({
5147
5165
  disabled: false,
5148
- expandable: x.itemType == DataType$1.area ? true : false,
5149
- hasChild: x.itemType == DataType$1.area ? true : false,
5166
+ expandable: x.itemType == DataType$2.area ? true : false,
5167
+ hasChild: x.itemType == DataType$2.area ? true : false,
5150
5168
  id: x.id,
5151
5169
  level: 0,
5152
5170
  levelType: undefined,
@@ -5161,8 +5179,8 @@ class RelatedPopupComponent {
5161
5179
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5162
5180
  selectDocument.push({
5163
5181
  disabled: false,
5164
- expandable: x.itemType == DataType$1.folder ? true : false,
5165
- hasChild: x.itemType == DataType$1.folder ? true : false,
5182
+ expandable: x.itemType == DataType$2.folder ? true : false,
5183
+ hasChild: x.itemType == DataType$2.folder ? true : false,
5166
5184
  id: x.id,
5167
5185
  level: 0,
5168
5186
  levelType: undefined,
@@ -5186,27 +5204,28 @@ class RelatedPopupComponent {
5186
5204
  this.searchOrder = this.getSearchOrder();
5187
5205
  }
5188
5206
  ngAfterViewChecked() {
5189
- // this.cdRef.detectChanges();
5190
- // if (this.filteredOptions && this.filteredOptions.length) {
5191
- // this.autoComplete.openPanel();
5192
- // this.setResultHeight();
5193
- // } else if (this.autoComplete) {
5207
+ this.cdRef.detectChanges();
5208
+ if (this.filteredOptions && this.filteredOptions.length) {
5209
+ // this.autoComplete.openPanel();
5210
+ this.setResultHeight();
5211
+ }
5212
+ // else if (this.autoComplete) {
5194
5213
  // this.autoComplete.closePanel();
5195
5214
  // }
5196
5215
  }
5197
5216
  getDataTypeId(moduleId) {
5198
5217
  let itemType;
5199
5218
  switch (moduleId) {
5200
- case ModuleType$1.documentProcess:
5219
+ case ModuleType$2.documentProcess:
5201
5220
  itemType = this.dataType.process;
5202
5221
  break;
5203
- case ModuleType$1.deviation:
5222
+ case ModuleType$2.deviation:
5204
5223
  itemType = this.dataType.deviation;
5205
5224
  break;
5206
- case ModuleType$1.checklist:
5225
+ case ModuleType$2.checklist:
5207
5226
  itemType = this.dataType.checklist;
5208
5227
  break;
5209
- case ModuleType$1.risk:
5228
+ case ModuleType$2.risk:
5210
5229
  itemType = this.dataType.risk;
5211
5230
  break;
5212
5231
  default:
@@ -5255,6 +5274,8 @@ class RelatedPopupComponent {
5255
5274
  });
5256
5275
  this.singleDocumentList = newSelectDocumentList;
5257
5276
  this.selectedData2 = [...tempArrDocument];
5277
+ // when remove check node list, related options need refresh disabled options
5278
+ this.refreshRelatedOptions();
5258
5279
  }
5259
5280
  isMatchTrue(arr, arr2) {
5260
5281
  return arr.every((i) => {
@@ -5377,13 +5398,13 @@ class RelatedPopupComponent {
5377
5398
  let selectDocument = [];
5378
5399
  if (this.checkedNodeList.length) {
5379
5400
  this.checkedNodeList.forEach(x => {
5380
- if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5401
+ if (x.itemType === DataType$2.area || x.itemType === DataType$2.process) {
5381
5402
  this.treeData1.forEach(item => {
5382
5403
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5383
5404
  selectProcess.push({
5384
5405
  disabled: false,
5385
- expandable: x.itemType == DataType$1.area ? true : false,
5386
- hasChild: x.itemType == DataType$1.area ? true : false,
5406
+ expandable: x.itemType == DataType$2.area ? true : false,
5407
+ hasChild: x.itemType == DataType$2.area ? true : false,
5387
5408
  id: x.id,
5388
5409
  level: 0,
5389
5410
  levelType: undefined,
@@ -5398,8 +5419,8 @@ class RelatedPopupComponent {
5398
5419
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5399
5420
  selectDocument.push({
5400
5421
  disabled: false,
5401
- expandable: x.itemType == DataType$1.folder ? true : false,
5402
- hasChild: x.itemType == DataType$1.folder ? true : false,
5422
+ expandable: x.itemType == DataType$2.folder ? true : false,
5423
+ hasChild: x.itemType == DataType$2.folder ? true : false,
5403
5424
  id: x.id,
5404
5425
  level: 0,
5405
5426
  levelType: undefined,
@@ -5574,13 +5595,13 @@ class RelatedPopupComponent {
5574
5595
  let selectDocument = [];
5575
5596
  if (this.checkedNodeList.length) {
5576
5597
  this.checkedNodeList.forEach(x => {
5577
- if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5598
+ if (x.itemType === DataType$2.area || x.itemType === DataType$2.process) {
5578
5599
  this.treeData1.forEach(item => {
5579
5600
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5580
5601
  selectProcess.push({
5581
5602
  disabled: false,
5582
- expandable: x.itemType == DataType$1.area ? true : false,
5583
- hasChild: x.itemType == DataType$1.area ? true : false,
5603
+ expandable: x.itemType == DataType$2.area ? true : false,
5604
+ hasChild: x.itemType == DataType$2.area ? true : false,
5584
5605
  id: x.id,
5585
5606
  level: 0,
5586
5607
  levelType: undefined,
@@ -5595,8 +5616,8 @@ class RelatedPopupComponent {
5595
5616
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5596
5617
  selectDocument.push({
5597
5618
  disabled: false,
5598
- expandable: x.itemType == DataType$1.folder ? true : false,
5599
- hasChild: x.itemType == DataType$1.folder ? true : false,
5619
+ expandable: x.itemType == DataType$2.folder ? true : false,
5620
+ hasChild: x.itemType == DataType$2.folder ? true : false,
5600
5621
  id: x.id,
5601
5622
  level: 0,
5602
5623
  levelType: undefined,
@@ -5832,12 +5853,12 @@ class RelatedPopupComponent {
5832
5853
  this.selectedFolder = null;
5833
5854
  this.itemInSplitview = [];
5834
5855
  this.checkedNodeList.forEach(element => {
5835
- if (element.itemType === DataType$1.document) {
5856
+ if (element.itemType === DataType$2.document) {
5836
5857
  element.status = this.getStatusDocs(element.id);
5837
5858
  element.breadcumbs = this.getBreadcumbAllParentDocs(element.id).slice(1).reverse();
5838
5859
  element.statusName = this.getStatusName(element.id);
5839
5860
  }
5840
- if (element.itemType === DataType$1.process) {
5861
+ if (element.itemType === DataType$2.process) {
5841
5862
  element.status = this.getStatusProcess(element.id);
5842
5863
  element.breadcumbs = this.getBreadcumbAllParentProcess(element.id).slice(1).reverse();
5843
5864
  }
@@ -5925,7 +5946,7 @@ class RelatedPopupComponent {
5925
5946
  return (elmHeight + elmMargin);
5926
5947
  }
5927
5948
  getItemChipName(item) {
5928
- if (item.itemType === DataType$1.checklist || item.itemType === DataType$1.deviation) {
5949
+ if (item.itemType === DataType$2.checklist || item.itemType === DataType$2.deviation) {
5929
5950
  return (item.parentName && item.itemName !== item.parentName) ? `${item.parentName}/${item.itemName}` : item.itemName;
5930
5951
  }
5931
5952
  return item.itemName;
@@ -5935,43 +5956,43 @@ class RelatedPopupComponent {
5935
5956
  }
5936
5957
  getNodeIcon(item) {
5937
5958
  switch (item.itemType) {
5938
- case DataType$1.folder: {
5959
+ case DataType$2.folder: {
5939
5960
  switch (item.levelType) {
5940
- case DocumentNodeType$1.DepartmentFolder:
5961
+ case DocumentNodeType$2.DepartmentFolder:
5941
5962
  return 'department_folder_outlined';
5942
- case DocumentNodeType$1.RegionalFolder:
5963
+ case DocumentNodeType$2.RegionalFolder:
5943
5964
  return 'regional_folder_outlined';
5944
- case DocumentNodeType$1.TopFolder:
5965
+ case DocumentNodeType$2.TopFolder:
5945
5966
  return 'enterprise_folder_outlined';
5946
- case DocumentNodeType$1.Folder:
5967
+ case DocumentNodeType$2.Folder:
5947
5968
  return 'local_folder_outlined';
5948
5969
  default:
5949
5970
  return 'folder_outlined';
5950
5971
  }
5951
5972
  }
5952
- case DataType$1.document: {
5973
+ case DataType$2.document: {
5953
5974
  switch (item.levelType) {
5954
- case DocumentNodeType$1.DepartmentFolder:
5975
+ case DocumentNodeType$2.DepartmentFolder:
5955
5976
  return 'document_department';
5956
- case DocumentNodeType$1.RegionalFolder:
5977
+ case DocumentNodeType$2.RegionalFolder:
5957
5978
  return 'document_regional';
5958
- case DocumentNodeType$1.TopFolder:
5979
+ case DocumentNodeType$2.TopFolder:
5959
5980
  return 'document_enterprise';
5960
- case DocumentNodeType$1.Folder:
5981
+ case DocumentNodeType$2.Folder:
5961
5982
  return 'document_local';
5962
5983
  default:
5963
5984
  return 'document';
5964
5985
  }
5965
5986
  }
5966
- case DataType$1.area:
5987
+ case DataType$2.area:
5967
5988
  return 'process_area_outlined';
5968
- case DataType$1.process:
5989
+ case DataType$2.process:
5969
5990
  return 'process';
5970
- case DataType$1.deviation:
5991
+ case DataType$2.deviation:
5971
5992
  return 'deviation';
5972
- case DataType$1.checklist:
5993
+ case DataType$2.checklist:
5973
5994
  return 'checklist';
5974
- case DataType$1.risk:
5995
+ case DataType$2.risk:
5975
5996
  return 'risk';
5976
5997
  default:
5977
5998
  return 'folder_outlined';
@@ -5985,25 +6006,25 @@ class RelatedPopupComponent {
5985
6006
  }
5986
6007
  getTitle(type) {
5987
6008
  switch (type) {
5988
- case DataType$1.process:
6009
+ case DataType$2.process:
5989
6010
  return this.LANG.PROCESSES;
5990
- case DataType$1.area:
6011
+ case DataType$2.area:
5991
6012
  return this.LANG.PROCESS_AREA;
5992
- case DataType$1.document:
6013
+ case DataType$2.document:
5993
6014
  return this.LANG.DOCUMENTS;
5994
- case DataType$1.folder:
6015
+ case DataType$2.folder:
5995
6016
  return this.LANG.FOLDER;
5996
- case DataType$1.deviation:
6017
+ case DataType$2.deviation:
5997
6018
  return this.LANG.DEVIATION;
5998
- case DataType$1.deviationType:
6019
+ case DataType$2.deviationType:
5999
6020
  return this.LANG.DEVIATION_TYPE;
6000
- case DataType$1.checklist:
6021
+ case DataType$2.checklist:
6001
6022
  return this.LANG.CHECKLIST;
6002
- case DataType$1.checklistCategory:
6023
+ case DataType$2.checklistCategory:
6003
6024
  return this.LANG.CHECKLIST_CATEGORY;
6004
- case DataType$1.risk:
6025
+ case DataType$2.risk:
6005
6026
  return this.LANG.ASSESSMENT;
6006
- case DataType$1.riskFolder:
6027
+ case DataType$2.riskFolder:
6007
6028
  return this.LANG.FOLDER;
6008
6029
  }
6009
6030
  }
@@ -6071,11 +6092,11 @@ class RelatedPopupComponent {
6071
6092
  }
6072
6093
  canShowSearchOption(moduleId) {
6073
6094
  if (this.canOnlySelectItem &&
6074
- (moduleId === DataType$1.checklistCategory
6075
- || moduleId === DataType$1.riskFolder
6076
- || moduleId === DataType$1.deviationType
6077
- || (moduleId === DataType$1.area && this.treeConfig1 && !this.treeConfig1.singleSelectedNode)
6078
- || (moduleId === DataType$1.folder && this.treeConfig2 && !this.treeConfig2.singleSelectedNode))) {
6095
+ (moduleId === DataType$2.checklistCategory
6096
+ || moduleId === DataType$2.riskFolder
6097
+ || moduleId === DataType$2.deviationType
6098
+ || (moduleId === DataType$2.area && this.treeConfig1 && !this.treeConfig1.singleSelectedNode)
6099
+ || (moduleId === DataType$2.folder && this.treeConfig2 && !this.treeConfig2.singleSelectedNode))) {
6079
6100
  return false;
6080
6101
  }
6081
6102
  return this.getModuleFilteredOptions(moduleId).length > 0;
@@ -6088,7 +6109,7 @@ class RelatedPopupComponent {
6088
6109
  let position = -1;
6089
6110
  let parentName = '';
6090
6111
  let itemNumberId = '';
6091
- if (node.itemType == DataType$1.folder || node.itemType == DataType$1.document) {
6112
+ if (node.itemType == DataType$2.folder || node.itemType == DataType$2.document) {
6092
6113
  position = !node.expandable ? this.treeData2.findIndex(p => p.childId === node.id && p.rootId === node.parentId) :
6093
6114
  this.treeData2.findIndex(p => p.rootId === node.id);
6094
6115
  parentName = this.treeData2[position].parentId ? this.treeData2[position].subName : this.treeData2[position].rootName;
@@ -6116,13 +6137,30 @@ class RelatedPopupComponent {
6116
6137
  this.listChildrenSelectOne = [];
6117
6138
  this.listChildrenSelectOne = listChildren;
6118
6139
  }
6140
+ hasSelected(related) {
6141
+ const arrDisabledList = this.disabledList.concat(this.disabledList2);
6142
+ return arrDisabledList.some(node => node.id.toUpperCase() === related.id.toUpperCase());
6143
+ }
6144
+ toRelatedOptions(relateds) {
6145
+ const results = [];
6146
+ for (const related of relateds) {
6147
+ results.push(Object.assign(Object.assign({}, related), { disabled: this.hasSelected(related) }));
6148
+ }
6149
+ return results;
6150
+ }
6151
+ displayWhenSelectRelatedOption($event) {
6152
+ return '';
6153
+ }
6154
+ refreshRelatedOptions() {
6155
+ this.filteredOptions = this.toRelatedOptions(this.filteredOptions);
6156
+ }
6119
6157
  }
6120
6158
  RelatedPopupComponent.decorators = [
6121
6159
  { type: Component, args: [{
6122
6160
  selector: 'qms-related-popup',
6123
- 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\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",
6161
+ 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 <ng-container *ngIf=\"treeData2.length > 0\">\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>\r\n {{ LANG.DOCUMENTS | 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 isDocumentExpanded\r\n ? \"keyboard_arrow_up\"\r\n : \"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 </ng-container>\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",
6124
6162
  encapsulation: ViewEncapsulation.None,
6125
- 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}"]
6163
+ 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}"]
6126
6164
  },] }
6127
6165
  ];
6128
6166
  RelatedPopupComponent.ctorParameters = () => [
@@ -6186,12 +6224,10 @@ class RiskAnalysisComponent {
6186
6224
  });
6187
6225
  }
6188
6226
  this.riskConfig = {
6189
- allowSelectFolder: false,
6190
- areaOfCurrentProcess: '',
6191
6227
  showCheckBox: true,
6192
6228
  allowMultipleCheck: true,
6193
6229
  onlyCheckBoxForChild: false,
6194
- moduleId: DataType$1.risk,
6230
+ moduleId: DataType$2.risk,
6195
6231
  openIcon: 'keyboard_arrow_up',
6196
6232
  openIconColor: '#1954A9',
6197
6233
  closeIcon: 'keyboard_arrow_down',
@@ -7142,8 +7178,8 @@ var QMSCKEditorDocumentType;
7142
7178
  class TreeNode {
7143
7179
  }
7144
7180
 
7145
- let objData = {};
7146
- function buildArrayTree(obj, level) {
7181
+ let objData$1 = {};
7182
+ function buildArrayTree$1(obj, level) {
7147
7183
  return Object.keys(obj).reduce((accumulator, key) => {
7148
7184
  const value = obj[key];
7149
7185
  const node = new TreeNode();
@@ -7161,8 +7197,8 @@ function buildArrayTree(obj, level) {
7161
7197
  return accumulator.concat(node);
7162
7198
  }, []);
7163
7199
  }
7164
- function buildObjectTree(arr) {
7165
- objData = {};
7200
+ function buildObjectTree$1(arr) {
7201
+ objData$1 = {};
7166
7202
  let objTreeData;
7167
7203
  const root = arr.filter((x) => {
7168
7204
  return x.parentId === '';
@@ -7172,7 +7208,7 @@ function buildObjectTree(arr) {
7172
7208
  });
7173
7209
  return objTreeData;
7174
7210
  }
7175
- function findParent(id, array) {
7211
+ function findParent$1(id, array) {
7176
7212
  const objParent = {};
7177
7213
  const parent = array.filter((x) => {
7178
7214
  return x.rootId === id;
@@ -7188,10 +7224,10 @@ function findParent(id, array) {
7188
7224
  this.findChild(id, objParent, array);
7189
7225
  }
7190
7226
  // add node to tree
7191
- objData[`${parent[0].rootId}_${parent[0].rootName}`] = objParent;
7192
- return objData;
7227
+ objData$1[`${parent[0].rootId}_${parent[0].rootName}`] = objParent;
7228
+ return objData$1;
7193
7229
  }
7194
- function findChild(id, objParent, array) {
7230
+ function findChild$1(id, objParent, array) {
7195
7231
  const subNode = array.filter((x) => {
7196
7232
  return x.parentId === id;
7197
7233
  });
@@ -7199,14 +7235,14 @@ function findChild(id, objParent, array) {
7199
7235
  const processNode = {};
7200
7236
  processNode[`${item.childId}_${item.childName}`] = null;
7201
7237
  objParent[`${item.rootId}_${item.subName}`] = processNode;
7202
- findChild(item.rootId, processNode, array);
7238
+ findChild$1(item.rootId, processNode, array);
7203
7239
  });
7204
7240
  }
7205
7241
  const QMSCKEditorTreeFunctions = {
7206
- buildArrayTree,
7207
- buildObjectTree,
7208
- findParent,
7209
- findChild
7242
+ buildArrayTree: buildArrayTree$1,
7243
+ buildObjectTree: buildObjectTree$1,
7244
+ findParent: findParent$1,
7245
+ findChild: findChild$1
7210
7246
  };
7211
7247
 
7212
7248
  class QMSCKEditorTreeService extends QMSCKEditorBaseService {
@@ -15612,8 +15648,8 @@ class QmsAppBarComponent {
15612
15648
  QmsAppBarComponent.decorators = [
15613
15649
  { type: Component, args: [{
15614
15650
  selector: 'app-qms-app-bar',
15615
- 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>",
15616
- 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}"]
15651
+ 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>",
15652
+ 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}"]
15617
15653
  },] }
15618
15654
  ];
15619
15655
  QmsAppBarComponent.ctorParameters = () => [];
@@ -15734,7 +15770,7 @@ class QmsBannerConfirmButtonClick {
15734
15770
 
15735
15771
  class QmsBannerComponent {
15736
15772
  constructor() {
15737
- this.type = BannerType.primary;
15773
+ this.type = '' || BannerType.primary;
15738
15774
  this.contents = [];
15739
15775
  this.buttonClick = new EventEmitter();
15740
15776
  }
@@ -15866,6 +15902,69 @@ QmsBannerConfirmModule.decorators = [
15866
15902
  },] }
15867
15903
  ];
15868
15904
 
15905
+ const QmsStatusDropdownClassTypeMapping = {
15906
+ 1: 'light',
15907
+ 2: 'warning',
15908
+ 3: 'success',
15909
+ 4: 'danger'
15910
+ };
15911
+ class QmsStatusDropdownComponent {
15912
+ constructor() {
15913
+ this.options = [];
15914
+ this.valueChange = new EventEmitter();
15915
+ }
15916
+ getClassType(type) {
15917
+ return QmsStatusDropdownClassTypeMapping[type];
15918
+ }
15919
+ onModelChange() {
15920
+ this.valueChange.emit(this.value);
15921
+ }
15922
+ }
15923
+ QmsStatusDropdownComponent.decorators = [
15924
+ { type: Component, args: [{
15925
+ selector: 'qms-status-dropdown',
15926
+ template: "<div id=\"qms-status-dropdown-container\" class=\"qms-status-dropdown-container {{ getClassType(value) }}\">\r\n <mat-form-field class=\"material-custom-multiselect height-40\" [style.width]=\"width\">\r\n <mat-select [(ngModel)]=\"value\" (ngModelChange)=\"onModelChange()\">\r\n <ng-container *ngIf=\"options\">\r\n <mat-option *ngFor=\"let option of options\" [value]=\"option.type\">\r\n <label class=\"qms-label qms-label-{{ getClassType(option.type) }}\">{{ option.text }}</label>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n</div>",
15927
+ styles: [".qms-status-dropdown-container ::ng-deep .material-custom-multiselect{height:40px}.qms-status-dropdown-container ::ng-deep .material-custom-multiselect .mat-form-field-flex{border-radius:2px;padding:0 17.5px 0 16px;width:100%;height:40px}.qms-status-dropdown-container ::ng-deep .material-custom-multiselect .mat-form-field-flex .mat-select-min-line{font-family:Open Sans;font-size:14px;font-weight:600;line-height:16px}.qms-status-dropdown-container ::ng-deep .material-custom-multiselect .mat-form-field-infix{padding-top:0;border-top:10px solid transparent}.qms-status-dropdown-container ::ng-deep .material-custom-multiselect .mat-form-field-infix .mat-select-value-text{line-height:16px}.qms-status-dropdown-container ::ng-deep .material-custom-multiselect .mat-form-field-wrapper .mat-form-field-underline{display:none}.qms-status-dropdown-container.warning ::ng-deep .material-custom-multiselect .mat-form-field-flex{background-color:#e4cf53}.qms-status-dropdown-container.warning ::ng-deep .material-custom-multiselect .mat-form-field-flex .mat-select-arrow-wrapper .mat-select-arrow{color:rgba(0,0,0,.6)}.qms-status-dropdown-container.warning ::ng-deep .material-custom-multiselect .mat-select-value{color:#323232;font-weight:600}.qms-status-dropdown-container.warning ::ng-deep .material-custom-multiselect .mat-select-arrow{color:#323232}.qms-status-dropdown-container.light ::ng-deep .material-custom-multiselect .mat-form-field-flex{background-color:rgba(0,0,0,.1)}.qms-status-dropdown-container.light ::ng-deep .material-custom-multiselect .mat-form-field-flex .mat-select-arrow-wrapper .mat-select-arrow{color:rgba(0,0,0,.6)}.qms-status-dropdown-container.light ::ng-deep .material-custom-multiselect .mat-select-value{color:#323232;font-weight:600}.qms-status-dropdown-container.light ::ng-deep .material-custom-multiselect .mat-select-arrow{color:#323232}.qms-status-dropdown-container.danger ::ng-deep .material-custom-multiselect .mat-form-field-flex{background-color:#9e360f}.qms-status-dropdown-container.danger ::ng-deep .material-custom-multiselect .mat-form-field-flex .mat-select-arrow-wrapper .mat-select-arrow{color:hsla(0,0%,100%,.6)}.qms-status-dropdown-container.danger ::ng-deep .material-custom-multiselect .mat-select-value{color:#fff}.qms-status-dropdown-container.danger ::ng-deep .material-custom-multiselect .mat-select-arrow{color:#fff}.qms-status-dropdown-container.success ::ng-deep .material-custom-multiselect .mat-form-field-flex{background-color:#005832}.qms-status-dropdown-container.success ::ng-deep .material-custom-multiselect .mat-select-value{color:#fff}.qms-status-dropdown-container.success ::ng-deep .material-custom-multiselect .mat-select-arrow{color:#fff}.qms-status-dropdown-container.success ::ng-deep .material-custom-multiselect .mat-select-arrow-wrapper .mat-select-arrow{color:hsla(0,0%,100%,.6)}.qms-status-dropdown-container ::ng-deep mat-select .mat-select-value{font-size:14px;line-height:16px;color:#323232;font-weight:500}.qms-status-dropdown-container ::ng-deep mat-select .mat-select-arrow-wrapper{padding-top:17.5px}.qms-status-dropdown-container ::ng-deep mat-select .mat-select-arrow-wrapper .mat-select-arrow{border-top:4px solid}.qms-status-dropdown-container ::ng-deep mat-option .mat-option-custom .mat-pseudo-checkbox-checked:after{top:3px;width:11px;height:5px;border-left:3px solid}"]
15928
+ },] }
15929
+ ];
15930
+ QmsStatusDropdownComponent.propDecorators = {
15931
+ options: [{ type: Input }],
15932
+ value: [{ type: Input }],
15933
+ width: [{ type: Input }],
15934
+ valueChange: [{ type: Output }]
15935
+ };
15936
+
15937
+ class QmsStatusDropdownModule {
15938
+ }
15939
+ QmsStatusDropdownModule.decorators = [
15940
+ { type: NgModule, args: [{
15941
+ declarations: [
15942
+ QmsStatusDropdownComponent
15943
+ ],
15944
+ imports: [
15945
+ CommonModule,
15946
+ FormsModule,
15947
+ ReactiveFormsModule,
15948
+ MatSelectModule,
15949
+ MatOptionModule,
15950
+ MatFormFieldModule
15951
+ ],
15952
+ exports: [
15953
+ QmsStatusDropdownComponent
15954
+ ]
15955
+ },] }
15956
+ ];
15957
+
15958
+ var QmsStatusDropdownType;
15959
+ (function (QmsStatusDropdownType) {
15960
+ QmsStatusDropdownType[QmsStatusDropdownType["Light"] = 1] = "Light";
15961
+ QmsStatusDropdownType[QmsStatusDropdownType["Warning"] = 2] = "Warning";
15962
+ QmsStatusDropdownType[QmsStatusDropdownType["Success"] = 3] = "Success";
15963
+ QmsStatusDropdownType[QmsStatusDropdownType["Danger"] = 4] = "Danger";
15964
+ })(QmsStatusDropdownType || (QmsStatusDropdownType = {}));
15965
+ class QmsStatusDropdownOption {
15966
+ }
15967
+
15869
15968
  class QMSTableAction {
15870
15969
  constructor(elRef) {
15871
15970
  this.elRef = elRef;
@@ -15936,6 +16035,46 @@ QMSTableModule.decorators = [
15936
16035
  class BreadcrumbNode {
15937
16036
  }
15938
16037
 
16038
+ class RelatedConst {
16039
+ }
16040
+ RelatedConst.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
16041
+ RelatedConst.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
16042
+ RelatedConst.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
16043
+
16044
+ var DataType$1;
16045
+ (function (DataType) {
16046
+ DataType[DataType["process"] = 2] = "process";
16047
+ DataType[DataType["document"] = 1] = "document";
16048
+ DataType[DataType["area"] = 3] = "area";
16049
+ DataType[DataType["folder"] = 4] = "folder";
16050
+ DataType[DataType["deviation"] = 5] = "deviation";
16051
+ DataType[DataType["checklist"] = 6] = "checklist";
16052
+ DataType[DataType["risk"] = 7] = "risk";
16053
+ DataType[DataType["deviationType"] = 8] = "deviationType";
16054
+ DataType[DataType["checklistCategory"] = 9] = "checklistCategory";
16055
+ DataType[DataType["riskFolder"] = 10] = "riskFolder";
16056
+ })(DataType$1 || (DataType$1 = {}));
16057
+
16058
+ var DocumentNodeType$1;
16059
+ (function (DocumentNodeType) {
16060
+ DocumentNodeType[DocumentNodeType["Document"] = 1] = "Document";
16061
+ DocumentNodeType[DocumentNodeType["LinkDocument"] = 2] = "LinkDocument";
16062
+ DocumentNodeType[DocumentNodeType["FileDocument"] = 3] = "FileDocument";
16063
+ DocumentNodeType[DocumentNodeType["ShortcutDocument"] = 4] = "ShortcutDocument";
16064
+ DocumentNodeType[DocumentNodeType["Folder"] = 5] = "Folder";
16065
+ DocumentNodeType[DocumentNodeType["TopFolder"] = 6] = "TopFolder";
16066
+ DocumentNodeType[DocumentNodeType["DepartmentFolder"] = 7] = "DepartmentFolder";
16067
+ DocumentNodeType[DocumentNodeType["RegionalFolder"] = 8] = "RegionalFolder";
16068
+ })(DocumentNodeType$1 || (DocumentNodeType$1 = {}));
16069
+
16070
+ var ModuleType$1;
16071
+ (function (ModuleType) {
16072
+ ModuleType[ModuleType["documentProcess"] = 1] = "documentProcess";
16073
+ ModuleType[ModuleType["deviation"] = 2] = "deviation";
16074
+ ModuleType[ModuleType["checklist"] = 3] = "checklist";
16075
+ ModuleType[ModuleType["risk"] = 4] = "risk";
16076
+ })(ModuleType$1 || (ModuleType$1 = {}));
16077
+
15939
16078
  class StepModel {
15940
16079
  constructor(id, name, disabled, selected) {
15941
16080
  this.id = id;
@@ -15964,6 +16103,7 @@ class QmsStepperComponent {
15964
16103
  }
15965
16104
  QmsStepperComponent.decorators = [
15966
16105
  { type: Component, args: [{
16106
+ changeDetection: ChangeDetectionStrategy.OnPush,
15967
16107
  selector: 'app-qms-stepper',
15968
16108
  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>",
15969
16109
  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}"]
@@ -16106,6 +16246,16 @@ class InformationCoverItem {
16106
16246
  }
16107
16247
  }
16108
16248
 
16249
+ var SelectOptionTypes;
16250
+ (function (SelectOptionTypes) {
16251
+ SelectOptionTypes[SelectOptionTypes["SelectOne"] = 1] = "SelectOne";
16252
+ SelectOptionTypes[SelectOptionTypes["IncludeChildren"] = 2] = "IncludeChildren";
16253
+ SelectOptionTypes[SelectOptionTypes["Children"] = 3] = "Children";
16254
+ })(SelectOptionTypes || (SelectOptionTypes = {}));
16255
+
16256
+ class SelectOption {
16257
+ }
16258
+
16109
16259
  class SelectPopupData {
16110
16260
  constructor() {
16111
16261
  this.treeData = [];
@@ -16115,8 +16265,11 @@ class SelectPopupData {
16115
16265
  }
16116
16266
  }
16117
16267
 
16118
- class SelectOption {
16119
- }
16268
+ class SelectConst {
16269
+ }
16270
+ SelectConst.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
16271
+ SelectConst.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
16272
+ SelectConst.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
16120
16273
 
16121
16274
  class QMSSelectGlobalService {
16122
16275
  constructor() {
@@ -16132,19 +16285,6 @@ QMSSelectGlobalService.decorators = [
16132
16285
  ];
16133
16286
  QMSSelectGlobalService.ctorParameters = () => [];
16134
16287
 
16135
- class SelectConst {
16136
- }
16137
- SelectConst.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
16138
- SelectConst.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
16139
- SelectConst.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
16140
-
16141
- var SelectOptionTypes;
16142
- (function (SelectOptionTypes) {
16143
- SelectOptionTypes[SelectOptionTypes["SelectOne"] = 1] = "SelectOne";
16144
- SelectOptionTypes[SelectOptionTypes["IncludeChildren"] = 2] = "IncludeChildren";
16145
- SelectOptionTypes[SelectOptionTypes["Children"] = 3] = "Children";
16146
- })(SelectOptionTypes || (SelectOptionTypes = {}));
16147
-
16148
16288
  class SelectIncludeChildrenPopUpComponent {
16149
16289
  constructor(cdRef, translate, dialogRef, globalService, iconRegistry, domSanitizer, appIconService, elem, data) {
16150
16290
  this.cdRef = cdRef;
@@ -16817,7 +16957,8 @@ class QmsBadgesComponent {
16817
16957
  constructor() {
16818
16958
  this.typeBadges = BadgesType;
16819
16959
  this.sizeCircleBadges = BadgeCircleSize;
16820
- this.type = BadgesType.circle;
16960
+ this.type = '' || BadgesType.circle;
16961
+ this.size = '' || BadgeCircleSize.small;
16821
16962
  }
16822
16963
  ngOnInit() {
16823
16964
  if (this.type === BadgesType.circle) {
@@ -16828,8 +16969,8 @@ class QmsBadgesComponent {
16828
16969
  QmsBadgesComponent.decorators = [
16829
16970
  { type: Component, args: [{
16830
16971
  selector: 'qms-badges',
16831
- 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",
16832
- 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}"]
16972
+ 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",
16973
+ 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}"]
16833
16974
  },] }
16834
16975
  ];
16835
16976
  QmsBadgesComponent.propDecorators = {
@@ -16837,7 +16978,10 @@ QmsBadgesComponent.propDecorators = {
16837
16978
  color: [{ type: Input }],
16838
16979
  contents: [{ type: Input }],
16839
16980
  size: [{ type: Input }],
16840
- icon: [{ type: Input }]
16981
+ icon: [{ type: Input }],
16982
+ itemIconPath: [{ type: Input }],
16983
+ itemIconSvg: [{ type: Input }],
16984
+ fontIconGG: [{ type: Input }]
16841
16985
  };
16842
16986
 
16843
16987
  class QmsBadgesModule {
@@ -17225,11 +17369,19 @@ class SelectOneDialog {
17225
17369
  this.listChildrenSelectOne = [];
17226
17370
  this.listChildrenSelectOne = listChildren;
17227
17371
  }
17372
+ removeCheckedNodeList() {
17373
+ const item = null;
17374
+ this.checkedNodeList = [];
17375
+ this.selectedData = [...[], item];
17376
+ setTimeout(() => {
17377
+ this.selectedData = [];
17378
+ }, 500);
17379
+ }
17228
17380
  }
17229
17381
  SelectOneDialog.decorators = [
17230
17382
  { type: Component, args: [{
17231
17383
  selector: 'qms-select-one',
17232
- 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",
17384
+ 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",
17233
17385
  encapsulation: ViewEncapsulation.None,
17234
17386
  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}"]
17235
17387
  },] }
@@ -17286,6 +17438,1803 @@ QMSSelectOneModule.decorators = [
17286
17438
  class ISelectOneItem {
17287
17439
  }
17288
17440
 
17441
+ class NewTreeModel {
17442
+ }
17443
+
17444
+ class NewTreeNode {
17445
+ }
17446
+
17447
+ let objData = {};
17448
+ let json = JSON;
17449
+ function buildArrayTree(obj, level) {
17450
+ return Object.keys(obj).reduce((accumulator, key) => {
17451
+ const value = obj[key];
17452
+ const node = new NewTreeNode();
17453
+ const keyObj = json.parse(key);
17454
+ node.id = keyObj["id"];
17455
+ node.name = keyObj["name"];
17456
+ node.parentId = keyObj["parentId"];
17457
+ node.levelType = keyObj["levelType"];
17458
+ node.expandable = keyObj["expandable"];
17459
+ if (value != null) {
17460
+ if (typeof value === 'object') {
17461
+ node.children = this.buildArrayTree(value, level + 1);
17462
+ }
17463
+ else {
17464
+ node.name = value;
17465
+ }
17466
+ }
17467
+ return accumulator.concat(node);
17468
+ }, []);
17469
+ }
17470
+ function buildObjectTree(arr) {
17471
+ objData = {};
17472
+ let objTreeData;
17473
+ const root = arr.filter((x) => {
17474
+ return x.parentId === '';
17475
+ });
17476
+ root.forEach((item) => {
17477
+ objTreeData = this.findParent(item, arr);
17478
+ });
17479
+ return objTreeData;
17480
+ }
17481
+ function findParent(item, array) {
17482
+ if (item) {
17483
+ const objParent = {};
17484
+ // find child
17485
+ const childFolder = array.filter((x) => {
17486
+ return x.parentId === item.id && x.expandable;
17487
+ });
17488
+ if (childFolder.length > 0) {
17489
+ this.findChild(item.id, objParent, array);
17490
+ }
17491
+ const items = array.filter((x) => {
17492
+ return x.parentId === item.id && !x.expandable;
17493
+ });
17494
+ items.forEach((item) => {
17495
+ let parentKey = {
17496
+ id: item.id,
17497
+ name: item.name,
17498
+ parentId: item.parentId,
17499
+ levelType: item.levelType,
17500
+ expandable: item.expandable
17501
+ };
17502
+ objParent[json.stringify(parentKey)] = null;
17503
+ });
17504
+ let key = {
17505
+ id: item.id,
17506
+ name: item.name,
17507
+ parentId: '',
17508
+ levelType: item.levelType,
17509
+ expandable: item.expandable
17510
+ };
17511
+ // add node to tree
17512
+ objData[json.stringify(key)] = objParent;
17513
+ }
17514
+ return objData;
17515
+ }
17516
+ function findChild(id, objParent, array) {
17517
+ const subNode = array.filter((x) => {
17518
+ return x.parentId === id;
17519
+ });
17520
+ subNode.forEach((item) => {
17521
+ const processNode = {};
17522
+ if (item.expandable) {
17523
+ this.findChild(item.id, processNode, array);
17524
+ }
17525
+ let key = {
17526
+ id: item.id,
17527
+ name: item.name,
17528
+ parentId: id,
17529
+ levelType: item.levelType,
17530
+ expandable: item.expandable
17531
+ };
17532
+ objParent[json.stringify(key)] = Object.assign(Object.assign({}, objParent[json.stringify(key)]), processNode);
17533
+ });
17534
+ }
17535
+ const TreeFunctions = {
17536
+ buildArrayTree,
17537
+ buildObjectTree,
17538
+ findParent,
17539
+ findChild,
17540
+ };
17541
+
17542
+ class NewTreeComponent {
17543
+ constructor(cdRef, domSanitizer, iconRegistry, appIconService) {
17544
+ this.cdRef = cdRef;
17545
+ this.domSanitizer = domSanitizer;
17546
+ this.iconRegistry = iconRegistry;
17547
+ this.appIconService = appIconService;
17548
+ this.treeData = [];
17549
+ this.selectedData = [];
17550
+ this.selectedRiskData = [];
17551
+ this.disabledList = [];
17552
+ this.expandToChildNode = [];
17553
+ this.selectNodeEvent = new EventEmitter();
17554
+ this.selectFolderEvent = new EventEmitter();
17555
+ this.checkBoxEvent = new EventEmitter();
17556
+ this.childCheckedEvent = new EventEmitter();
17557
+ this.nodeExpandEvent = new EventEmitter();
17558
+ this.getChildNodeSelectOne = new EventEmitter();
17559
+ this.treeControlNodes = new EventEmitter();
17560
+ this.listParentObj = {};
17561
+ this.filterData = [];
17562
+ this.arrIndex = [];
17563
+ this.checkedNodeList = [];
17564
+ this.useExpandFeature = true;
17565
+ this.allowSelectFolder = false;
17566
+ this.areaOfCurrentProcess = '';
17567
+ this.showCheckBox = false;
17568
+ this.allowMultipleCheck = true;
17569
+ this.singleSelectedNode = false;
17570
+ this.onlyCheckBoxForChild = false;
17571
+ this.onlyFolder = false;
17572
+ this.itemIconType = ItemIconType;
17573
+ this.displayType = 1;
17574
+ this.openIcon = '';
17575
+ this.openIconColor = '#1954A9';
17576
+ this.closeIcon = '';
17577
+ this.closeIconColor = '#000000';
17578
+ this.itemIcon = '';
17579
+ this.itemIconSvg = '';
17580
+ this.itemIconPath = '';
17581
+ this.itemIconBase64 = '';
17582
+ this.treeControl = new FlatTreeControl((node) => {
17583
+ return node.level;
17584
+ }, (node) => {
17585
+ return node.expandable;
17586
+ });
17587
+ this.isChecked = false;
17588
+ this.idCheckIcon = '';
17589
+ this.listChildNode = [];
17590
+ this.dataType = DataType$2;
17591
+ this.transformer = (node, level) => {
17592
+ let checkHasChild = true;
17593
+ if (!node.children) {
17594
+ checkHasChild = false;
17595
+ }
17596
+ else if (node.expandable) {
17597
+ checkHasChild = false;
17598
+ }
17599
+ // tslint:disable-next-line:max-line-length
17600
+ else if (!!node.children &&
17601
+ node.children.length &&
17602
+ node.children.length === 1 &&
17603
+ !node.children[0].name &&
17604
+ node.id.toString() === this.areaOfCurrentProcess) {
17605
+ checkHasChild = false;
17606
+ }
17607
+ if (!(this.listParentObj[node.id] === 1)) {
17608
+ checkHasChild = false;
17609
+ }
17610
+ return {
17611
+ expandable: node.expandable,
17612
+ name: node.name,
17613
+ level,
17614
+ id: node.id,
17615
+ hasChild: checkHasChild,
17616
+ parentId: node.parentId,
17617
+ disabled: false,
17618
+ levelType: node.levelType
17619
+ };
17620
+ };
17621
+ this.treeFlattener = new MatTreeFlattener(this.transformer, (node) => {
17622
+ return node.level;
17623
+ }, (node) => {
17624
+ return node.expandable;
17625
+ }, (node) => {
17626
+ return node.children;
17627
+ });
17628
+ this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
17629
+ this.hasChild = (_, node) => {
17630
+ return node.expandable;
17631
+ };
17632
+ iconRegistry.addSvgIconLiteral('keyboard_up', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_UP_ICON));
17633
+ iconRegistry.addSvgIconLiteral('keyboard_down', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_DOWN_ICON));
17634
+ appIconService.registerProcessIcon(iconRegistry, domSanitizer);
17635
+ appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);
17636
+ appIconService.registerDocumentIcon(iconRegistry, domSanitizer);
17637
+ appIconService.registerFolderIcon(iconRegistry, domSanitizer);
17638
+ appIconService.registerDeviationIcon(iconRegistry, domSanitizer);
17639
+ appIconService.registerChecklistIcon(iconRegistry, domSanitizer);
17640
+ appIconService.registerRiskIcon(iconRegistry, domSanitizer);
17641
+ }
17642
+ ngOnChanges(changes) {
17643
+ if (changes.treeData && JSON.stringify(changes.treeData.currentValue) !== JSON.stringify(changes.treeData.previousValue)) {
17644
+ this.treeData = [...this.treeData, changes.treeData.currentValue];
17645
+ this.initTreeData();
17646
+ }
17647
+ if (changes.selectedData &&
17648
+ (changes.selectedData.currentValue.length > 0 ||
17649
+ JSON.stringify(changes.selectedData.currentValue) !==
17650
+ JSON.stringify(changes.selectedData.previousValue))) {
17651
+ if (changes.selectedData.currentValue) {
17652
+ this.checkSelected(changes.selectedData.currentValue);
17653
+ }
17654
+ else {
17655
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17656
+ this.checklistSelection.deselect(this.treeControl.dataNodes[i]);
17657
+ }
17658
+ }
17659
+ }
17660
+ if (changes.disabledList && JSON.stringify(changes.disabledList.currentValue) !== JSON.stringify(changes.disabledList.previousValue)) {
17661
+ this.checkDisabledList();
17662
+ }
17663
+ // expand all parent to show node
17664
+ if (changes.expandToChildNode && JSON.stringify(changes.expandToChildNode.currentValue) !== JSON.stringify(changes.expandToChildNode.previousValue)) {
17665
+ this.openExpandToChildNode();
17666
+ }
17667
+ }
17668
+ ngOnInit() {
17669
+ // this.initTreeData();
17670
+ }
17671
+ initTreeData() {
17672
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
17673
+ this.treeData.forEach(item => {
17674
+ if (!!item.parentId && item.parentId.length > 0) {
17675
+ this.listParentObj[item.parentId] = 1;
17676
+ }
17677
+ if (item.id && item.id.length > 0) {
17678
+ this.listParentObj[item.parentId] = 1;
17679
+ }
17680
+ });
17681
+ this.filterData = this.treeData;
17682
+ this.treeObject = TreeFunctions.buildObjectTree(this.filterData);
17683
+ this.dataSource.data = TreeFunctions.buildArrayTree(this.treeObject || {}, 0).map(element => {
17684
+ const item = this.sortDataTree(element);
17685
+ element = null;
17686
+ element = Object.assign({}, item);
17687
+ return element;
17688
+ });
17689
+ this.useExpandFeature = !((_a = this.treeConfig) === null || _a === void 0 ? void 0 : _a.showCheckBox);
17690
+ this.allowSelectFolder = (_b = this.treeConfig) === null || _b === void 0 ? void 0 : _b.allowSelectFolder;
17691
+ this.areaOfCurrentProcess = (_c = this.treeConfig) === null || _c === void 0 ? void 0 : _c.areaOfCurrentProcess;
17692
+ this.showCheckBox = (_d = this.treeConfig) === null || _d === void 0 ? void 0 : _d.showCheckBox;
17693
+ this.onlyCheckBoxForChild = (_e = this.treeConfig) === null || _e === void 0 ? void 0 : _e.onlyCheckBoxForChild;
17694
+ this.moduleId = (_f = this.treeConfig) === null || _f === void 0 ? void 0 : _f.moduleId;
17695
+ this.openIcon = (_g = this.treeConfig) === null || _g === void 0 ? void 0 : _g.openIcon;
17696
+ 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;
17697
+ this.closeIcon = (_k = this.treeConfig) === null || _k === void 0 ? void 0 : _k.closeIcon;
17698
+ 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;
17699
+ this.itemIcon = (_o = this.treeConfig) === null || _o === void 0 ? void 0 : _o.itemIcon;
17700
+ this.itemIconSvg = (_p = this.treeConfig) === null || _p === void 0 ? void 0 : _p.itemIconSvg;
17701
+ this.itemIconPath = (_q = this.treeConfig) === null || _q === void 0 ? void 0 : _q.itemIconPath;
17702
+ this.itemIconBase64 = this.domSanitizer.bypassSecurityTrustResourceUrl((_r = this.treeConfig) === null || _r === void 0 ? void 0 : _r.itemIconBase64);
17703
+ this.allowMultipleCheck = (_s = this.treeConfig) === null || _s === void 0 ? void 0 : _s.allowMultipleCheck;
17704
+ this.singleSelectedNode = (_t = this.treeConfig) === null || _t === void 0 ? void 0 : _t.singleSelectedNode;
17705
+ this.onlyFolder = (_u = this.treeConfig) === null || _u === void 0 ? void 0 : _u.onlyFolder;
17706
+ this.checklistSelection = new SelectionModel(this.allowMultipleCheck); /* true: multiple */
17707
+ this.displayType = this.getItemIconType(this.treeConfig);
17708
+ // Expand child node tree
17709
+ if (this.treeConfig.expandAll) {
17710
+ this.treeControl.expandAll();
17711
+ }
17712
+ //Disabled node
17713
+ if (this.disabledList.length) {
17714
+ this.checkDisabledList();
17715
+ }
17716
+ if (this.selectedData.length) {
17717
+ this.checkSelected(this.selectedData);
17718
+ }
17719
+ // Risk Tree
17720
+ if (this.selectedRiskData.length) {
17721
+ const selectedData = [];
17722
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17723
+ this.selectedRiskData.forEach(x => {
17724
+ const index = selectedData.findIndex(el => el.id === x.rootId);
17725
+ if (x.rootId === this.treeControl.dataNodes[i].id && index < 0) {
17726
+ selectedData.push(this.treeControl.dataNodes[i]);
17727
+ }
17728
+ });
17729
+ }
17730
+ this.checkSelected(selectedData);
17731
+ this.checkBoxEvent.emit(selectedData);
17732
+ }
17733
+ // keep expand
17734
+ if (this.parentNodeOnClick && Object.keys(this.parentNodeOnClick).length) {
17735
+ let tempParent = [];
17736
+ let root = new TreeFlatNode();
17737
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17738
+ const tree = this.treeControl.dataNodes[i];
17739
+ if (this.parentNodeOnClick.parentId === tree.parentId && this.parentNodeOnClick.id === tree.id
17740
+ || this.parentNodeOnClick.parentId === tree.id) {
17741
+ tempParent = [...tempParent, this.getParent(tree)];
17742
+ root = tree;
17743
+ }
17744
+ }
17745
+ tempParent.push(root);
17746
+ tempParent.forEach(x => {
17747
+ this.treeControl.expand(x);
17748
+ });
17749
+ }
17750
+ }
17751
+ getParent(node) {
17752
+ const { treeControl } = this;
17753
+ const currentLevel = treeControl.getLevel(node);
17754
+ if (currentLevel < 1) {
17755
+ return null;
17756
+ }
17757
+ const index = treeControl.dataNodes.indexOf(node) - 1;
17758
+ for (let i = index; i >= 0; i--) {
17759
+ const currentNode = treeControl.dataNodes[i];
17760
+ if (treeControl.getLevel(currentNode) < currentLevel) {
17761
+ return currentNode;
17762
+ }
17763
+ }
17764
+ }
17765
+ openExpandToChildNode() {
17766
+ if (this.expandToChildNode.length) {
17767
+ if (this.expandToChildNode[0] === '') {
17768
+ this.idCheckIcon = '';
17769
+ this.treeControl.collapseAll();
17770
+ this.cdRef.detectChanges();
17771
+ return;
17772
+ }
17773
+ let itemMarkChecked = this.expandToChildNode[this.expandToChildNode.length - 1].toUpperCase();
17774
+ this.idCheckIcon = itemMarkChecked;
17775
+ // get all children nodes on same level
17776
+ let listChildNodeSameLevel = this.findChildNode(itemMarkChecked, this.dataSource.data);
17777
+ // get all children in all level
17778
+ this.listChildNode = [];
17779
+ this.getChild(listChildNodeSameLevel);
17780
+ this.getChildNodeSelectOne.emit(this.listChildNode);
17781
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17782
+ if (itemMarkChecked === this.treeControl.dataNodes[i].id) {
17783
+ this.selectNodeEvent.emit(this.treeControl.dataNodes[i]);
17784
+ }
17785
+ this.expandToChildNode.forEach(el => {
17786
+ if (this.treeControl.dataNodes[i].id === el.toUpperCase()) {
17787
+ this.treeControl.expand(this.treeControl.dataNodes[i]);
17788
+ }
17789
+ });
17790
+ }
17791
+ }
17792
+ }
17793
+ checkDisabledList() {
17794
+ // Disable List
17795
+ if (this.disabledList.length) {
17796
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17797
+ this.disabledList.forEach(x => {
17798
+ var _a;
17799
+ if (x.id === this.treeControl.dataNodes[i].id
17800
+ && (!x.parentId || x.parentId === ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.parentId))) {
17801
+ this.treeControl.dataNodes[i].disabled = true;
17802
+ }
17803
+ });
17804
+ }
17805
+ }
17806
+ //Selected node with select one
17807
+ if (this.disabledList.length && this.treeConfig.selectOne) {
17808
+ let itemMarkChecked = this.disabledList[this.disabledList.length - 1].toUpperCase();
17809
+ this.idCheckIcon = itemMarkChecked;
17810
+ // get all children nodes on same level
17811
+ let listChildNodeSameLevel = this.findChildNode(itemMarkChecked, this.dataSource.data);
17812
+ // get all children in all level
17813
+ this.listChildNode = [];
17814
+ this.getChild(listChildNodeSameLevel);
17815
+ this.getChildNodeSelectOne.emit(this.listChildNode);
17816
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17817
+ if (itemMarkChecked === this.treeControl.dataNodes[i].id) {
17818
+ this.selectNodeEvent.emit(this.treeControl.dataNodes[i]);
17819
+ }
17820
+ this.disabledList.forEach(el => {
17821
+ if (this.treeControl.dataNodes[i].id === el.toUpperCase()) {
17822
+ this.treeControl.expand(this.treeControl.dataNodes[i]);
17823
+ }
17824
+ });
17825
+ // remove all children nodes when user dont need to show them
17826
+ this.listChildNode.forEach(el => {
17827
+ var _a;
17828
+ if (el.id && ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.id) === el.id) {
17829
+ this.treeControl.dataNodes.splice(i, 1);
17830
+ }
17831
+ });
17832
+ }
17833
+ }
17834
+ else {
17835
+ this.idCheckIcon = '';
17836
+ this.treeControl.collapseAll();
17837
+ this.cdRef.detectChanges();
17838
+ }
17839
+ }
17840
+ getChild(obj) {
17841
+ for (let i = 0; i < obj.children.length; i++) {
17842
+ if (obj.children[i].children) {
17843
+ this.getChild(obj.children[i]);
17844
+ delete obj.children[i].children;
17845
+ this.listChildNode.push(obj.children[i]);
17846
+ }
17847
+ else {
17848
+ this.listChildNode.push(obj.children[i]);
17849
+ }
17850
+ }
17851
+ }
17852
+ sortDataTree(obj) {
17853
+ if (obj.children) {
17854
+ let child = [];
17855
+ const leafNode = obj.children.filter(x => !x.children);
17856
+ const subFolderNode = obj.children.filter(x => x.children);
17857
+ // for(let index = subFolderNode.length - 1; index >= 0 ; index--){
17858
+ // let el = subFolderNode[index];
17859
+ // this.sortDataTree(el);
17860
+ // child.unshift(el);
17861
+ // }
17862
+ subFolderNode.forEach(element => {
17863
+ let el = element;
17864
+ this.sortDataTree(el);
17865
+ child.push(el);
17866
+ });
17867
+ leafNode.forEach(element => {
17868
+ let el = element;
17869
+ child.push(el);
17870
+ });
17871
+ obj.children = child;
17872
+ }
17873
+ return obj;
17874
+ }
17875
+ getImagePath() {
17876
+ return this.domSanitizer.bypassSecurityTrustResourceUrl(this.treeConfig.itemIconBase64);
17877
+ }
17878
+ checkSelected(itemSelected) {
17879
+ setTimeout(() => {
17880
+ if (!this.treeControl['dataNodes'])
17881
+ return;
17882
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17883
+ const tree = this.treeControl.dataNodes[i];
17884
+ this.checklistSelection.deselect(tree);
17885
+ for (let j = 0; j < itemSelected.length; j++) {
17886
+ const element = itemSelected[j];
17887
+ if (tree.id.toLocaleLowerCase() === element.id.toLocaleLowerCase() && (!element.parentId || tree.parentId.toLocaleLowerCase() === element.parentId.toLocaleLowerCase())) {
17888
+ this.checklistSelection.select(tree);
17889
+ }
17890
+ }
17891
+ }
17892
+ }, 500);
17893
+ }
17894
+ checkSelectedSameNode(itemSelected, flag) {
17895
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17896
+ const tree = this.treeControl.dataNodes[i];
17897
+ for (let j = 0; j < itemSelected.length; j++) {
17898
+ const element = itemSelected[j];
17899
+ if (element.id && tree.id === element.id
17900
+ && tree.parentId === element.parentId && !tree.disabled) {
17901
+ flag ? this.checklistSelection.select(tree) : this.checklistSelection.deselect(tree);
17902
+ }
17903
+ }
17904
+ }
17905
+ }
17906
+ getItemIconType(treeConfig) {
17907
+ if (treeConfig.itemIcon && treeConfig.itemIcon.length)
17908
+ return this.itemIconType.name;
17909
+ if (treeConfig.itemIconPath && treeConfig.itemIconPath.length)
17910
+ return this.itemIconType.path;
17911
+ if (treeConfig.itemIconBase64 && treeConfig.itemIconBase64.length)
17912
+ return this.itemIconType.base64;
17913
+ if (treeConfig.itemIconSvg && treeConfig.itemIconSvg.length)
17914
+ return this.itemIconType.svg;
17915
+ return this.itemIconType.none;
17916
+ }
17917
+ /** Whether all the descendants of the node are selected */
17918
+ descendantsAllSelected(node) {
17919
+ const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];
17920
+ if (!descendants.length) {
17921
+ return this.checklistSelection.isSelected(node);
17922
+ }
17923
+ const selected = this.checklistSelection.isSelected(node);
17924
+ const allSelected = descendants.every(child => this.checklistSelection.isSelected(child));
17925
+ if (!selected && allSelected) {
17926
+ this.checklistSelection.select(node);
17927
+ this.cdRef.markForCheck();
17928
+ }
17929
+ return allSelected;
17930
+ }
17931
+ /** Whether part of the descendants are selected */
17932
+ descendantsPartiallySelected(node) {
17933
+ const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];
17934
+ const result = descendants.some(child => this.checklistSelection.isSelected(child));
17935
+ return result && !this.descendantsAllSelected(node);
17936
+ }
17937
+ /** Toggle the to-do item selection. Select/deselect all the descendants node */
17938
+ todoItemSelectionToggle(node) {
17939
+ switch (this.moduleId) {
17940
+ case DataType$2.document:
17941
+ node.itemType = node.expandable ? DataType$2.folder : DataType$2.document;
17942
+ break;
17943
+ case DataType$2.process:
17944
+ node.itemType = node.expandable ? DataType$2.area : DataType$2.process;
17945
+ break;
17946
+ case DataType$2.checklist:
17947
+ node.itemType = node.expandable ? DataType$2.checklistCategory : DataType$2.checklist;
17948
+ break;
17949
+ case DataType$2.deviation:
17950
+ node.itemType = node.expandable ? DataType$2.deviationType : DataType$2.deviation;
17951
+ break;
17952
+ case DataType$2.risk:
17953
+ node.itemType = node.expandable ? DataType$2.riskFolder : DataType$2.risk;
17954
+ break;
17955
+ }
17956
+ this.selectNodeEvent.emit(node);
17957
+ // tree have duplicate node
17958
+ if (this.treeConfig.canHaveDupId) {
17959
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17960
+ if (this.treeControl.dataNodes[i].id === node.id
17961
+ && this.treeControl.dataNodes[i].parentId === node.parentId
17962
+ && !this.treeControl.dataNodes[i].disabled) {
17963
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
17964
+ }
17965
+ }
17966
+ }
17967
+ else {
17968
+ this.checklistSelection.toggle(node);
17969
+ }
17970
+ // process/ document single selected
17971
+ if (this.singleSelectedNode) {
17972
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17973
+ }
17974
+ else {
17975
+ const descendants = this.treeControl.getDescendants(node).filter(item => !item.disabled);
17976
+ this.checkSelectedSameNode(descendants, this.descendantsAllSelected(node));
17977
+ !this.descendantsAllSelected(node)
17978
+ ? this.checklistSelection.select(...descendants)
17979
+ : this.checklistSelection.deselect(...descendants);
17980
+ this.cdRef.markForCheck();
17981
+ const allNodeIsParent = this.checklistSelection.selected.every(child => child.expandable);
17982
+ if (allNodeIsParent) {
17983
+ this.checklistSelection.selected.forEach(element => {
17984
+ this.checklistSelection.deselect(element);
17985
+ });
17986
+ }
17987
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17988
+ }
17989
+ }
17990
+ todoChildSelectionToggle(node) {
17991
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17992
+ if (this.treeControl.dataNodes[i].id === node.id
17993
+ && this.treeControl.dataNodes[i].parentId === node.parentId
17994
+ && !this.treeControl.dataNodes[i].disabled) {
17995
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
17996
+ }
17997
+ }
17998
+ // this.checklistSelection.toggle(node);
17999
+ this.cdRef.markForCheck();
18000
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
18001
+ }
18002
+ todoItemSelection(nodes) {
18003
+ nodes.forEach(node => {
18004
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18005
+ if (this.treeControl.dataNodes[i].id === node.id &&
18006
+ this.treeControl.dataNodes[i].parentId === node.parentId &&
18007
+ !this.treeControl.dataNodes[i].disabled && !this.treeControl.dataNodes[i].expandable) {
18008
+ if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
18009
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
18010
+ }
18011
+ }
18012
+ });
18013
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
18014
+ }
18015
+ todoItemSelectionProcessDocument(nodes) {
18016
+ nodes.forEach(node => {
18017
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18018
+ if (this.treeControl.dataNodes[i].id === node.id &&
18019
+ this.treeControl.dataNodes[i].parentId === node.parentId &&
18020
+ !this.treeControl.dataNodes[i].disabled && !this.treeControl.dataNodes[i].expandable) {
18021
+ if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
18022
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
18023
+ }
18024
+ }
18025
+ });
18026
+ setTimeout(() => {
18027
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
18028
+ this.treeControlNodes.emit(this.treeControl);
18029
+ }, 500);
18030
+ }
18031
+ todoFolderSelection(nodes) {
18032
+ nodes.forEach(node => {
18033
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18034
+ if (this.treeControl.dataNodes[i].id === node.id &&
18035
+ this.treeControl.dataNodes[i].parentId === node.parentId &&
18036
+ !this.treeControl.dataNodes[i].disabled && this.treeControl.dataNodes[i].expandable) {
18037
+ if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
18038
+ this.todoItemSelectionToggle(this.treeControl.dataNodes[i]);
18039
+ }
18040
+ }
18041
+ });
18042
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
18043
+ }
18044
+ selectNode(node) {
18045
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
18046
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
18047
+ }
18048
+ if (this.treeConfig.selectOne) {
18049
+ node.itemType = this.checkDataTypeSelectNode(node);
18050
+ this.idCheckIcon = node.id;
18051
+ this.selectNodeEvent.emit(node);
18052
+ }
18053
+ }
18054
+ checkDataTypeSelectNode(node) {
18055
+ let itemType = -1;
18056
+ switch (this.moduleId) {
18057
+ case DataType$2.process:
18058
+ itemType = node.expandable ? DataType$2.area : DataType$2.process;
18059
+ break;
18060
+ case DataType$2.document:
18061
+ itemType = node.expandable ? DataType$2.folder : DataType$2.document;
18062
+ break;
18063
+ default:
18064
+ itemType = this.moduleId;
18065
+ break;
18066
+ }
18067
+ return itemType;
18068
+ }
18069
+ selectFolder(node) {
18070
+ this.selectFolderEvent.emit(node);
18071
+ }
18072
+ onExpandNode(node, isExpandNode) {
18073
+ if (isExpandNode) {
18074
+ this.nodeExpandEvent.emit(node);
18075
+ }
18076
+ if (this.treeConfig.selectOne) {
18077
+ this.idCheckIcon = node.id;
18078
+ node.itemType = this.checkDataTypeSelectNode(node);
18079
+ this.selectNodeEvent.emit(node);
18080
+ }
18081
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
18082
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
18083
+ }
18084
+ // set useExpandFeature = true to improve performance of tree loading
18085
+ if (!isExpandNode || !this.useExpandFeature) {
18086
+ for (let i = 0; i < this.arrIndex.length; i++) {
18087
+ if (this.arrIndex[i] === node.id) {
18088
+ this.arrIndex.splice(i, 1);
18089
+ }
18090
+ }
18091
+ return;
18092
+ }
18093
+ // get array index to expand node after refresh datasource
18094
+ let index = 0;
18095
+ let isChange = false;
18096
+ let isRemove = false;
18097
+ this.arrIndex.push(node.id);
18098
+ const childArray = this.treeData.filter((x) => {
18099
+ return x.parentId === node.id;
18100
+ });
18101
+ let rootId = '0';
18102
+ let parentElement;
18103
+ let childrenList;
18104
+ if (childArray.length === 0) {
18105
+ return;
18106
+ }
18107
+ childArray.forEach((item) => {
18108
+ if (item.parentId === rootId) {
18109
+ return;
18110
+ }
18111
+ // get child node from original datasource
18112
+ const child = this.getChildNode(item.parentId, childArray);
18113
+ rootId = item.parentId;
18114
+ index = this.getNodeIndex(child.id, undefined, this.dataSource['_treeControl'].dataNodes);
18115
+ if (index > -1) {
18116
+ return;
18117
+ }
18118
+ // add child node to expand node
18119
+ parentElement = this.findChildNode(node.id, this.dataSource.data);
18120
+ if (parentElement) {
18121
+ // temporary remove all node without children => purpose to add node folder first
18122
+ if (!isRemove) {
18123
+ childrenList = [...parentElement.children];
18124
+ this.removeChildren(parentElement);
18125
+ isRemove = true;
18126
+ }
18127
+ // add node folder first
18128
+ parentElement.children.push(child);
18129
+ isChange = true;
18130
+ }
18131
+ });
18132
+ // add node without children again
18133
+ if (isRemove) {
18134
+ this.addChildren(parentElement, childrenList);
18135
+ }
18136
+ // refresh data and expand tree node from root node
18137
+ if (isChange) {
18138
+ this.refreshTreeData();
18139
+ this.arrIndex.forEach((item) => {
18140
+ index = this.getNodeIndex(item, undefined, this.dataSource['_treeControl'].dataNodes);
18141
+ this.treeControl.expand(this.treeControl.dataNodes[index]);
18142
+ });
18143
+ isChange = false;
18144
+ }
18145
+ }
18146
+ removeChildren(parentElement) {
18147
+ if (parentElement.children) {
18148
+ parentElement.children.length = 0;
18149
+ }
18150
+ }
18151
+ addChildren(parentElement, childrenList) {
18152
+ if (childrenList) {
18153
+ childrenList.forEach((e) => {
18154
+ parentElement.children.push(e);
18155
+ });
18156
+ }
18157
+ }
18158
+ getNodeIndex(id, level, data) {
18159
+ if (level) {
18160
+ return data.findIndex((x) => {
18161
+ return x.id === id && x.level === level;
18162
+ });
18163
+ }
18164
+ return data.findIndex((x) => {
18165
+ return x.id === id;
18166
+ });
18167
+ }
18168
+ getChildNode(rootId, data) {
18169
+ const childArray = data.filter((x) => {
18170
+ return x.rootId === rootId;
18171
+ });
18172
+ const child = { id: childArray[0].rootId, name: childArray[0].subName, children: [] };
18173
+ childArray.forEach((item) => {
18174
+ child.children.push({ id: item.childId, name: item.childName, parentId: rootId, expandable: false });
18175
+ });
18176
+ return child;
18177
+ }
18178
+ findChildNode(id, data) {
18179
+ // eslint-disable-next-line no-restricted-syntax
18180
+ for (const currentFather of data) {
18181
+ if (currentFather.id === id) {
18182
+ return currentFather;
18183
+ }
18184
+ if (currentFather.children) {
18185
+ const currentChild = currentFather.children.find((x) => {
18186
+ return x.id === id;
18187
+ });
18188
+ if (currentChild) {
18189
+ return currentChild;
18190
+ }
18191
+ // eslint-disable-next-line no-restricted-syntax
18192
+ for (const currentChild1 of currentFather.children) {
18193
+ if (id !== currentChild1.id) {
18194
+ const result = this.findChildNode(id, currentFather.children);
18195
+ if (result !== false) {
18196
+ return result;
18197
+ }
18198
+ }
18199
+ }
18200
+ }
18201
+ }
18202
+ return false;
18203
+ }
18204
+ refreshTreeData() {
18205
+ const data = this.dataSource.data;
18206
+ this.dataSource.data = [];
18207
+ this.dataSource.data = data;
18208
+ }
18209
+ getNodeIcon(node) {
18210
+ if (this.openIcon && this.closeIcon) {
18211
+ return this.treeControl.isExpanded(node) ? this.openIcon : this.closeIcon;
18212
+ }
18213
+ switch (this.moduleId) {
18214
+ case DataType$2.document: {
18215
+ let nodeData = this.treeData.filter(x => { return x.id === node.id; });
18216
+ if (nodeData.length > 0) {
18217
+ switch (nodeData[0].levelType) {
18218
+ case DocumentNodeType$2.DepartmentFolder:
18219
+ return this.treeControl.isExpanded(node) ? 'department_folder_outlined' : 'department_folder';
18220
+ case DocumentNodeType$2.RegionalFolder:
18221
+ return this.treeControl.isExpanded(node) ? 'regional_folder_outlined' : 'regional_folder';
18222
+ case DocumentNodeType$2.TopFolder:
18223
+ return this.treeControl.isExpanded(node) ? 'enterprise_folder_outlined' : 'enterprise_folder';
18224
+ case DocumentNodeType$2.Folder:
18225
+ return this.treeControl.isExpanded(node) ? 'local_folder_outlined' : 'local_folder';
18226
+ default:
18227
+ return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';
18228
+ }
18229
+ }
18230
+ return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';
18231
+ }
18232
+ case DataType$2.process:
18233
+ return this.treeControl.isExpanded(node) ? 'process_area_outlined' : 'process_area';
18234
+ default:
18235
+ return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
18236
+ }
18237
+ }
18238
+ getItemIcon(node) {
18239
+ switch (this.moduleId) {
18240
+ case DataType$2.document:
18241
+ const parent = this.treeData.filter(x => { return x.id === node.parentId; });
18242
+ if (parent.length > 0) {
18243
+ switch (parent[0].levelType) {
18244
+ case DocumentNodeType$2.DepartmentFolder:
18245
+ return 'document_department';
18246
+ case DocumentNodeType$2.RegionalFolder:
18247
+ return 'document_regional';
18248
+ case DocumentNodeType$2.TopFolder:
18249
+ return 'document_enterprise';
18250
+ case DocumentNodeType$2.Folder:
18251
+ return 'document_local';
18252
+ default:
18253
+ return 'document';
18254
+ }
18255
+ }
18256
+ return 'document';
18257
+ case DataType$2.process:
18258
+ return 'process';
18259
+ case DataType$2.checklist:
18260
+ return 'checklist';
18261
+ case DataType$2.deviation:
18262
+ return 'deviation';
18263
+ case DataType$2.risk:
18264
+ return 'risk';
18265
+ default:
18266
+ return 'document';
18267
+ }
18268
+ }
18269
+ getNodeId(node) {
18270
+ return `_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`;
18271
+ }
18272
+ getNodeByIdAndParentId(nodeId, parentId) {
18273
+ return this.treeControl.dataNodes.find(x => {
18274
+ return x.id === nodeId && x.parentId === parentId;
18275
+ });
18276
+ }
18277
+ expandNode(node) {
18278
+ this.treeControl.expand(node);
18279
+ }
18280
+ }
18281
+ NewTreeComponent.decorators = [
18282
+ { type: Component, args: [{
18283
+ selector: 'qms-tree-new',
18284
+ 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",
18285
+ encapsulation: ViewEncapsulation.None,
18286
+ 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}"]
18287
+ },] }
18288
+ ];
18289
+ NewTreeComponent.ctorParameters = () => [
18290
+ { type: ChangeDetectorRef },
18291
+ { type: DomSanitizer },
18292
+ { type: MatIconRegistry },
18293
+ { type: QMSIconRegistryService }
18294
+ ];
18295
+ NewTreeComponent.propDecorators = {
18296
+ treeData: [{ type: Input }],
18297
+ treeConfig: [{ type: Input }],
18298
+ selectedData: [{ type: Input }],
18299
+ selectedRiskData: [{ type: Input }],
18300
+ disabledList: [{ type: Input }],
18301
+ expandOnTitleClick: [{ type: Input }],
18302
+ expandToChildNode: [{ type: Input }],
18303
+ parentNodeOnClick: [{ type: Input }],
18304
+ selectNodeEvent: [{ type: Output }],
18305
+ selectFolderEvent: [{ type: Output }],
18306
+ checkBoxEvent: [{ type: Output }],
18307
+ childCheckedEvent: [{ type: Output }],
18308
+ nodeExpandEvent: [{ type: Output }],
18309
+ getChildNodeSelectOne: [{ type: Output }],
18310
+ treeControlNodes: [{ type: Output }]
18311
+ };
18312
+
18313
+ class QMSNewTreeModule {
18314
+ }
18315
+ QMSNewTreeModule.decorators = [
18316
+ { type: NgModule, args: [{
18317
+ declarations: [
18318
+ NewTreeComponent,
18319
+ ],
18320
+ imports: [
18321
+ CommonModule,
18322
+ MatTreeModule,
18323
+ MatFormFieldModule,
18324
+ MatIconModule,
18325
+ MatButtonModule,
18326
+ MatCheckboxModule,
18327
+ MatAutocompleteModule,
18328
+ ReactiveFormsModule,
18329
+ ScrollingModule,
18330
+ MatCardModule,
18331
+ MatSidenavModule,
18332
+ MatListModule,
18333
+ SharedMaterialModule,
18334
+ QMSListModule,
18335
+ QmsAngularModule,
18336
+ QMSBreadcrumbModule,
18337
+ QMSAppIconModule
18338
+ ],
18339
+ exports: [
18340
+ NewTreeComponent,
18341
+ ]
18342
+ },] }
18343
+ ];
18344
+
18345
+ class SelectProcessDocumentPopupData {
18346
+ constructor() {
18347
+ this.moduleId = 0;
18348
+ this.moduleName = '';
18349
+ this.treeData1 = [];
18350
+ this.treeData2 = [];
18351
+ this.selectedNode = [];
18352
+ this.disabledList = [];
18353
+ this.disabledList2 = [];
18354
+ this.splitView = false;
18355
+ }
18356
+ }
18357
+
18358
+ class QMSProcessDocumentItem {
18359
+ }
18360
+
18361
+ class QMSSelectProcessDocumentGlobalService {
18362
+ constructor() {
18363
+ this.searchRelated = new BehaviorSubject([]);
18364
+ this.splitViewValue = new BehaviorSubject([]);
18365
+ this.getProcessAreaChildren = new BehaviorSubject([]);
18366
+ this.getFolderChildren = new BehaviorSubject([]);
18367
+ }
18368
+ setSearchRelated(result) {
18369
+ this.searchRelated.next(result);
18370
+ }
18371
+ setSplitviewValue(result) {
18372
+ this.splitViewValue.next(result);
18373
+ }
18374
+ setProcessAreaChildren(result) {
18375
+ this.getProcessAreaChildren.next(result);
18376
+ }
18377
+ setFolderChildren(result) {
18378
+ this.getFolderChildren.next(result);
18379
+ }
18380
+ }
18381
+ QMSSelectProcessDocumentGlobalService.ɵprov = i0.ɵɵdefineInjectable({ factory: function QMSSelectProcessDocumentGlobalService_Factory() { return new QMSSelectProcessDocumentGlobalService(); }, token: QMSSelectProcessDocumentGlobalService, providedIn: "root" });
18382
+ QMSSelectProcessDocumentGlobalService.decorators = [
18383
+ { type: Injectable, args: [{ providedIn: 'root' },] }
18384
+ ];
18385
+ QMSSelectProcessDocumentGlobalService.ctorParameters = () => [];
18386
+
18387
+ class SelectProcessDocumentPopupComponent {
18388
+ constructor(cdRef, translate, dialogRef, globalService, iconRegistry, sanitizer, appIconService, elem, data) {
18389
+ this.cdRef = cdRef;
18390
+ this.translate = translate;
18391
+ this.dialogRef = dialogRef;
18392
+ this.globalService = globalService;
18393
+ this.iconRegistry = iconRegistry;
18394
+ this.sanitizer = sanitizer;
18395
+ this.appIconService = appIconService;
18396
+ this.elem = elem;
18397
+ this.data = data;
18398
+ this.ngUnsubscribe = new Subject();
18399
+ this.moduleId = 0;
18400
+ this.moduleName = '';
18401
+ this.treeData1 = [];
18402
+ this.treeData2 = [];
18403
+ this.checkedNodeList = [];
18404
+ this.selectedNode = [];
18405
+ this.selectedData = [];
18406
+ this.selectedData2 = [];
18407
+ this.commonCheckedList = [];
18408
+ this.documentCheckedList = [];
18409
+ this.singleProcessList = [];
18410
+ this.singleDocumentList = [];
18411
+ this.module = ModuleType$1;
18412
+ this.dataType = DataType$1;
18413
+ this.itemType = 0;
18414
+ this.selectedRiskData = [];
18415
+ this.disabledList = [];
18416
+ this.disabledList2 = [];
18417
+ this.isDocumentExpanded = true;
18418
+ this.isCommonExpanded = true;
18419
+ this.singleSelectedNode = false;
18420
+ this.searchOrder = [];
18421
+ this.myControl = new FormControl();
18422
+ this.filteredOptions = [];
18423
+ this.isInputValue = false;
18424
+ this.itemInSplitview = [];
18425
+ this.selectedFolder = null;
18426
+ this.splitViewTitle = null;
18427
+ this.listChildrenSelectOne = [];
18428
+ this.onSearch = new EventEmitter();
18429
+ this.onSelectFolderItem = new EventEmitter();
18430
+ this.onExpandProcessArea = new EventEmitter();
18431
+ this.onExpandFolder = new EventEmitter();
18432
+ this.parentNodeSelected = new TreeFlatNode();
18433
+ this.moduleId = data.moduleId;
18434
+ this.moduleName = data.moduleName;
18435
+ this.treeData1 = data.treeData1;
18436
+ this.treeData2 = data.treeData2;
18437
+ this.treeConfig1 = data.treeConfig1;
18438
+ this.treeConfig2 = data.treeConfig2;
18439
+ this.selectedRiskData = (data === null || data === void 0 ? void 0 : data.selectedNode) || [];
18440
+ this.singleSelectedNode = data.treeConfig1.singleSelectedNode;
18441
+ this.disabledList = data.disabledList || [];
18442
+ this.disabledList2 = data.disabledList2 || [];
18443
+ this.splitView = data.splitView;
18444
+ this.isSelectOne = data.isSelectOne;
18445
+ this.canOnlySelectItem = data.canOnlySelectItem;
18446
+ appIconService.registerProcessIcon(iconRegistry, sanitizer);
18447
+ appIconService.registerProcessAreaIcon(iconRegistry, sanitizer);
18448
+ appIconService.registerDocumentIcon(iconRegistry, sanitizer);
18449
+ appIconService.registerFolderIcon(iconRegistry, sanitizer);
18450
+ }
18451
+ ngOnDestroy() {
18452
+ this.ngUnsubscribe.next();
18453
+ this.ngUnsubscribe.complete();
18454
+ this.globalService.setSearchRelated([]);
18455
+ this.selectedFolder = null;
18456
+ this.globalService.setSplitviewValue([]);
18457
+ }
18458
+ onMessage(event) {
18459
+ if (event.data === RelatedConst.HIDE_SEARCH_RESULT) {
18460
+ // this.autoComplete.closePanel();
18461
+ }
18462
+ }
18463
+ ngOnInit() {
18464
+ this.translate.getLanguageSubject$.pipe().subscribe((res) => {
18465
+ if (res) {
18466
+ this.LANG = this.translate.getObjectLang(res);
18467
+ }
18468
+ });
18469
+ this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18470
+ if (res && res.length) {
18471
+ this.filteredOptions = res;
18472
+ }
18473
+ });
18474
+ this.globalService.splitViewValue.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18475
+ this.itemInSplitview = res;
18476
+ if (res.length) {
18477
+ let listNodeProcess = [];
18478
+ let listNodeDocs = [];
18479
+ res.forEach(item => {
18480
+ let newNodeProcess = new NewTreeModel();
18481
+ newNodeProcess.id = item.id;
18482
+ newNodeProcess.name = item.itemName;
18483
+ newNodeProcess.displayId = +item.itemNumberId;
18484
+ newNodeProcess.parentId = item.parentId;
18485
+ newNodeProcess.statusId = item.status;
18486
+ if (item.itemType === DataType$1.process) {
18487
+ listNodeProcess.push(newNodeProcess);
18488
+ }
18489
+ else {
18490
+ let newNodeDocs = new NewTreeModel();
18491
+ newNodeDocs.statusName = item.statusName;
18492
+ listNodeDocs.push(newNodeDocs);
18493
+ }
18494
+ });
18495
+ if (this.checkedNodeList.length) {
18496
+ this.selectedData = [];
18497
+ this.selectedData2 = [];
18498
+ let selectProcess = [];
18499
+ let selectDocument = [];
18500
+ this.checkedNodeList.forEach(x => {
18501
+ const newNode = {
18502
+ disabled: false,
18503
+ expandable: (x.itemType == DataType$1.area || x.itemType == DataType$1.folder) ? true : false,
18504
+ hasChild: (x.itemType == DataType$1.area || x.itemType == DataType$1.folder) ? true : false,
18505
+ id: x.id,
18506
+ level: 0,
18507
+ levelType: undefined,
18508
+ name: x.itemName,
18509
+ parentId: x.parentId
18510
+ };
18511
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
18512
+ this.treeData1.forEach(item => {
18513
+ if (item.id && x.id === item.id) {
18514
+ selectProcess.push(newNode);
18515
+ }
18516
+ });
18517
+ }
18518
+ else {
18519
+ this.treeData2.forEach(item => {
18520
+ if (item.id && x.id === item.id) {
18521
+ selectDocument.push(newNode);
18522
+ }
18523
+ });
18524
+ }
18525
+ });
18526
+ this.selectedData = [...this.selectedData, ...selectProcess];
18527
+ this.selectedData2 = [...this.selectedData2, ...selectDocument];
18528
+ }
18529
+ }
18530
+ });
18531
+ this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {
18532
+ this.isInputValue = true;
18533
+ this.onSearchRelated(val);
18534
+ });
18535
+ this.globalService.getProcessAreaChildren.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18536
+ if (res.length > 0 && this.dataTrees) {
18537
+ let notShownChildren = [];
18538
+ res.forEach(x => {
18539
+ const index = this.treeData1.findIndex(item => item.id === x.id && item.parentId === x.parentId && x.expandable == item.expandable);
18540
+ if (index < 0) {
18541
+ notShownChildren.push(x);
18542
+ }
18543
+ });
18544
+ this.treeData1 = [...this.treeData1, ...notShownChildren];
18545
+ }
18546
+ });
18547
+ this.globalService.getFolderChildren.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18548
+ if (res.length > 0 && this.dataTrees) {
18549
+ let notShownChildren = [];
18550
+ res.forEach(x => {
18551
+ const index = this.treeData2.findIndex(item => item.id === x.id && item.parentId === x.parentId && x.expandable == item.expandable);
18552
+ if (index < 0) {
18553
+ notShownChildren.push(x);
18554
+ }
18555
+ });
18556
+ this.treeData2 = [...this.treeData2, ...notShownChildren];
18557
+ }
18558
+ });
18559
+ this.itemType = this.dataType.process;
18560
+ this.searchOrder = this.getSearchOrder();
18561
+ }
18562
+ ngAfterViewChecked() {
18563
+ }
18564
+ removeCheckedNodeList(item) {
18565
+ this.selectedData = [];
18566
+ this.selectedData2 = [];
18567
+ this.checkedNodeList = this.checkedNodeList.filter(x => (x.id.toLowerCase() !== item.id.toLowerCase() || x.parentId.toLowerCase() !== item.parentId.toLowerCase()));
18568
+ const tempArr = [];
18569
+ const tempArrDocument = [];
18570
+ const newSelectProcessList = [];
18571
+ const newSelectDocumentList = [];
18572
+ this.commonCheckedList.forEach(element => {
18573
+ this.checkedNodeList.forEach(x => {
18574
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18575
+ tempArr.push(element);
18576
+ }
18577
+ });
18578
+ });
18579
+ this.singleProcessList.forEach(element => {
18580
+ this.checkedNodeList.forEach(x => {
18581
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18582
+ newSelectProcessList.push(element);
18583
+ }
18584
+ });
18585
+ });
18586
+ this.singleProcessList = newSelectProcessList;
18587
+ if (tempArr.length > 0) {
18588
+ this.selectedData = [...tempArr];
18589
+ }
18590
+ this.documentCheckedList.forEach(element => {
18591
+ this.checkedNodeList.forEach(x => {
18592
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18593
+ tempArrDocument.push(element);
18594
+ }
18595
+ });
18596
+ });
18597
+ this.singleDocumentList.forEach(element => {
18598
+ this.checkedNodeList.forEach(x => {
18599
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18600
+ newSelectDocumentList.push(element);
18601
+ }
18602
+ });
18603
+ });
18604
+ this.singleDocumentList = newSelectDocumentList;
18605
+ if (tempArrDocument.length > 0) {
18606
+ this.selectedData2 = [...tempArrDocument];
18607
+ }
18608
+ }
18609
+ setResultHeight(arr) {
18610
+ let maxHeight = 484;
18611
+ const popup_content = document.getElementsByClassName('qmslib_related_popup_content')[0];
18612
+ const line__divider = document.getElementsByClassName('line__divider')[0];
18613
+ if (popup_content && line__divider) {
18614
+ maxHeight = this.getOffsetHeight(popup_content, true) + this.getOffsetHeight(line__divider, true) * 2;
18615
+ }
18616
+ const contentResult = document.getElementsByClassName('cdk-virtual-scroll-content-wrapper')[0];
18617
+ const viewreports = document.getElementsByClassName('related-viewport')[0];
18618
+ if (viewreports) {
18619
+ if (contentResult.offsetHeight <= maxHeight) {
18620
+ viewreports.style.height = `${contentResult.offsetHeight}px`;
18621
+ }
18622
+ else {
18623
+ viewreports.style.height = `${maxHeight}px`;
18624
+ }
18625
+ }
18626
+ }
18627
+ onSearchRelated(_val) {
18628
+ this.filteredOptions = [];
18629
+ if (typeof (_val) === 'object') {
18630
+ this.myControl.setValue('');
18631
+ this.isInputValue = false;
18632
+ }
18633
+ else if (typeof (_val) === 'string') {
18634
+ if (!!_val) {
18635
+ this.onSearch.emit(_val);
18636
+ }
18637
+ }
18638
+ }
18639
+ getModuleFilteredOptions(moduleId) {
18640
+ if (this.listChildrenSelectOne.length) {
18641
+ for (let index = 0; index < this.listChildrenSelectOne.length; index++) {
18642
+ const firstEl = this.listChildrenSelectOne[index];
18643
+ for (let j = 0; j < this.filteredOptions.length; j++) {
18644
+ const secondEl = this.filteredOptions[j];
18645
+ if (firstEl.id === secondEl.id) {
18646
+ this.filteredOptions.splice(j, 1);
18647
+ }
18648
+ }
18649
+ }
18650
+ }
18651
+ return this.filteredOptions.filter(x => x.itemType === moduleId);
18652
+ }
18653
+ showSearchResult() {
18654
+ // this.autoComplete.openPanel();
18655
+ }
18656
+ displayRelated(related) {
18657
+ return related ? related.itemName : undefined;
18658
+ }
18659
+ selectRelated(item) {
18660
+ let index = -1;
18661
+ this.selectedNode = [];
18662
+ if (this.treeConfig1.showCheckBox) {
18663
+ index = this.checkedNodeList.findIndex(x => {
18664
+ return x.id === item.id && x.parentId === item.parentId;
18665
+ });
18666
+ }
18667
+ if (index < 0) {
18668
+ let position = -1;
18669
+ let node;
18670
+ let typeId;
18671
+ if (item.itemType === this.dataType.document) {
18672
+ // document
18673
+ const isExistInDisabled = this.disabledList2.findIndex(x => {
18674
+ return x.id && x.id.toLowerCase() === item.id.toLowerCase();
18675
+ });
18676
+ if (isExistInDisabled >= 0) {
18677
+ return;
18678
+ }
18679
+ position = this.treeData2.findIndex(x => {
18680
+ return x.id === item.id && x.parentId === item.parentId && !x.expandable;
18681
+ });
18682
+ if (position >= 0) {
18683
+ this.addToChecklistNodeAndSelectedData(item);
18684
+ node = this.treeData2[position];
18685
+ typeId = this.dataType.document;
18686
+ const treeNode = {
18687
+ id: node.childId,
18688
+ name: node.childName,
18689
+ children: [],
18690
+ parentId: node.rootId,
18691
+ expandable: false
18692
+ };
18693
+ this.dataTrees.toArray()[1].todoItemSelectionProcessDocument([treeNode]);
18694
+ }
18695
+ else {
18696
+ this.addNodeToTree(item);
18697
+ this.addToChecklistNodeAndSelectedData(item);
18698
+ setTimeout(() => {
18699
+ const treeNode = {
18700
+ id: item.id,
18701
+ name: item.itemName,
18702
+ children: [],
18703
+ parentId: item.parentId,
18704
+ expandable: false
18705
+ };
18706
+ this.dataTrees.toArray()[1].todoItemSelectionProcessDocument([treeNode]);
18707
+ }, 500);
18708
+ }
18709
+ }
18710
+ else if (item.itemType === this.dataType.folder) {
18711
+ position = this.treeData2.findIndex(x => {
18712
+ return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase());
18713
+ });
18714
+ typeId = item.itemType;
18715
+ if (position >= 0) {
18716
+ node = this.treeData2[position];
18717
+ const treeNode = {
18718
+ id: node.id,
18719
+ name: node.name,
18720
+ children: [],
18721
+ parentId: node.parentId,
18722
+ expandable: true,
18723
+ };
18724
+ this.dataTrees.toArray()[1].todoFolderSelection([treeNode]);
18725
+ }
18726
+ else {
18727
+ this.addNodeToTree(item);
18728
+ this.addToChecklistNodeAndSelectedData(item);
18729
+ }
18730
+ return;
18731
+ }
18732
+ else if (item.itemType === this.dataType.area) {
18733
+ position = this.treeData1.findIndex(x => {
18734
+ return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase()) && x.expandable;
18735
+ });
18736
+ typeId = item.itemType;
18737
+ if (position >= 0) {
18738
+ node = this.treeData1[position];
18739
+ const treeNode = {
18740
+ id: node.id,
18741
+ name: node.name,
18742
+ children: [],
18743
+ parentId: node.parentId,
18744
+ expandable: true
18745
+ };
18746
+ this.dataTrees.toArray()[0].todoFolderSelection([treeNode]);
18747
+ }
18748
+ else {
18749
+ this.addNodeToTree(item);
18750
+ this.addToChecklistNodeAndSelectedData(item);
18751
+ }
18752
+ return;
18753
+ }
18754
+ else {
18755
+ const isExistInDisabled = this.disabledList.findIndex(x => {
18756
+ return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase());
18757
+ });
18758
+ if (isExistInDisabled >= 0) {
18759
+ return;
18760
+ }
18761
+ position = this.treeData1.findIndex(x => {
18762
+ return x.id.toLowerCase() === item.id.toLowerCase() && x.parentId.toLowerCase() === item.parentId.toLowerCase() && !x.expandable;
18763
+ });
18764
+ if (position >= 0) {
18765
+ node = this.treeData1[position];
18766
+ typeId = this.itemType;
18767
+ const treeNode = {
18768
+ id: node.childId,
18769
+ name: node.childName,
18770
+ children: [],
18771
+ parentId: node.rootId,
18772
+ expandable: false
18773
+ };
18774
+ this.addToChecklistNodeAndSelectedData(item);
18775
+ this.dataTrees.toArray()[0].todoItemSelectionProcessDocument([treeNode]);
18776
+ }
18777
+ else {
18778
+ this.addNodeToTree(item);
18779
+ this.addToChecklistNodeAndSelectedData(item);
18780
+ setTimeout(() => {
18781
+ const treeNode = {
18782
+ id: item.id,
18783
+ name: item.itemName,
18784
+ children: [],
18785
+ parentId: item.parentId,
18786
+ expandable: false
18787
+ };
18788
+ this.dataTrees.toArray()[0].todoItemSelectionProcessDocument([treeNode]);
18789
+ }, 500);
18790
+ }
18791
+ }
18792
+ }
18793
+ }
18794
+ addNodeToTree(item) {
18795
+ let newNodeDocs = new NewTreeModel();
18796
+ newNodeDocs.id = item.id;
18797
+ newNodeDocs.name = item.itemName;
18798
+ newNodeDocs.parentId = item.parentId;
18799
+ newNodeDocs.statusId = item === null || item === void 0 ? void 0 : item['itemStatus'];
18800
+ newNodeDocs.statusName = item === null || item === void 0 ? void 0 : item['statusName'];
18801
+ newNodeDocs.displayId = +item.itemNumberId;
18802
+ newNodeDocs.expandable = item.itemType == DataType$1.folder || item.itemType == DataType$1.area ? true : false;
18803
+ if (item.itemType == DataType$1.folder || item.itemType == DataType$1.document) {
18804
+ if (this.treeData2.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() &&
18805
+ (!newNodeDocs.parentId || x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) && x.expandable === newNodeDocs.expandable) >= 0) {
18806
+ this.treeData2 = [...this.treeData2, newNodeDocs];
18807
+ }
18808
+ }
18809
+ else {
18810
+ if (this.treeData1.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() &&
18811
+ (!newNodeDocs.parentId || x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) && x.expandable === newNodeDocs.expandable) >= 0) {
18812
+ this.treeData1 = [...this.treeData1, newNodeDocs];
18813
+ }
18814
+ }
18815
+ }
18816
+ addToChecklistNode(item) {
18817
+ let newNodeDocs = new NewTreeModel();
18818
+ newNodeDocs.id = item.id;
18819
+ newNodeDocs.name = item.itemName;
18820
+ newNodeDocs.parentId = item.parentId;
18821
+ newNodeDocs.statusId = item === null || item === void 0 ? void 0 : item['itemStatus'];
18822
+ newNodeDocs.statusName = item === null || item === void 0 ? void 0 : item['statusName'];
18823
+ newNodeDocs.displayId = +item.itemNumberId;
18824
+ newNodeDocs.expandable = item.itemType == DataType$1.folder || item.itemType == DataType$1.area ? true : false;
18825
+ if (this.isSelectOne) {
18826
+ this.checkedNodeList = [];
18827
+ this.documentCheckedList = [];
18828
+ this.commonCheckedList = [];
18829
+ }
18830
+ const index = this.checkedNodeList.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() &&
18831
+ (!newNodeDocs.parentId || x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) && x.expandable === newNodeDocs.expandable);
18832
+ if (index < 0) {
18833
+ if (item.itemType == DataType$1.folder || item.itemType == DataType$1.document) {
18834
+ this.documentCheckedList.push({
18835
+ id: newNodeDocs.id,
18836
+ name: newNodeDocs.name,
18837
+ itemType: item.itemType,
18838
+ parentId: newNodeDocs.parentId,
18839
+ levelType: newNodeDocs.levelType,
18840
+ level: 0,
18841
+ disabled: false,
18842
+ expandable: newNodeDocs.expandable,
18843
+ hasChild: newNodeDocs.expandable
18844
+ });
18845
+ }
18846
+ else {
18847
+ this.commonCheckedList.push({
18848
+ id: newNodeDocs.id,
18849
+ name: newNodeDocs.name,
18850
+ itemType: item.itemType,
18851
+ parentId: newNodeDocs.parentId,
18852
+ levelType: newNodeDocs.levelType,
18853
+ level: 0,
18854
+ disabled: false,
18855
+ expandable: newNodeDocs.expandable,
18856
+ hasChild: newNodeDocs.expandable
18857
+ });
18858
+ }
18859
+ this.checkedNodeList.push({
18860
+ moduleId: this.moduleId,
18861
+ id: item.id,
18862
+ itemName: newNodeDocs.name,
18863
+ itemType: item.itemType,
18864
+ parentId: newNodeDocs.parentId,
18865
+ parentName: item.parentName,
18866
+ itemNumberId: item.itemNumberId,
18867
+ levelType: item.levelType,
18868
+ expandable: newNodeDocs.expandable,
18869
+ statusName: item.statusName,
18870
+ status: item.status,
18871
+ displayId: Number.parseFloat(item.itemNumberId)
18872
+ });
18873
+ }
18874
+ }
18875
+ addSelectedData(item) {
18876
+ const selectProcess = [];
18877
+ const selectDocument = [];
18878
+ this.selectedData = [];
18879
+ this.selectedData2 = [];
18880
+ if (this.checkedNodeList.length) {
18881
+ this.checkedNodeList.forEach(x => {
18882
+ const node = {
18883
+ disabled: false,
18884
+ expandable: x.itemType == DataType$1.area || x.itemType == DataType$1.folder ? true : false,
18885
+ hasChild: x.itemType == DataType$1.area || x.itemType == DataType$1.folder ? true : false,
18886
+ id: x.id,
18887
+ level: 0,
18888
+ levelType: undefined,
18889
+ name: x.itemName,
18890
+ parentId: x.parentId
18891
+ };
18892
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
18893
+ this.treeData1.forEach(item => {
18894
+ if (item.id && x.id.toLowerCase() === item.id.toLowerCase() &&
18895
+ (!x.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase())) {
18896
+ selectProcess.push(node);
18897
+ }
18898
+ });
18899
+ }
18900
+ else {
18901
+ this.treeData2.forEach(item => {
18902
+ if (item.id && x.id.toLowerCase() === item.id.toLowerCase() &&
18903
+ (!x.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase())) {
18904
+ selectDocument.push(node);
18905
+ }
18906
+ });
18907
+ }
18908
+ });
18909
+ }
18910
+ if (!this.isSelectOne) {
18911
+ this.selectedData = [...this.selectedData, ...selectProcess];
18912
+ this.selectedData2 = [...this.selectedData2, ...selectDocument];
18913
+ }
18914
+ if (item.itemType === DataType$1.folder || item.itemType === DataType$1.document) {
18915
+ if (this.selectedData2.findIndex(x => x.id.toLowerCase() === item.id.toLowerCase() &&
18916
+ (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase()) && x.expandable === item.expandable) < 0) {
18917
+ this.selectedData2 = [...this.selectedData2, item];
18918
+ }
18919
+ }
18920
+ else {
18921
+ if (this.selectedData.findIndex(x => x.id.toLowerCase() === item.id.toLowerCase() &&
18922
+ (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase()) && x.expandable === item.expandable) < 0) {
18923
+ this.selectedData = [...this.selectedData, item];
18924
+ }
18925
+ }
18926
+ }
18927
+ addToChecklistNodeAndSelectedData(item) {
18928
+ this.addToChecklistNode(item);
18929
+ this.addSelectedData({
18930
+ id: item.id,
18931
+ name: item.itemName,
18932
+ expandable: item.itemType == DataType$1.area || item.itemType == DataType$1.folder,
18933
+ level: 0,
18934
+ disabled: false,
18935
+ hasChild: item.itemType == DataType$1.area || item.itemType == DataType$1.folder,
18936
+ });
18937
+ }
18938
+ setTypeProcess(expand) {
18939
+ return expand ? this.dataType.area : this.dataType.process;
18940
+ }
18941
+ onCloseClick() {
18942
+ this.selectedFolder = null;
18943
+ this.itemInSplitview = [];
18944
+ this.dialogRef.close();
18945
+ }
18946
+ ;
18947
+ onAddClick() {
18948
+ // if (this.treeConfig1.showCheckBox) {
18949
+ this.selectedFolder = null;
18950
+ this.itemInSplitview = [];
18951
+ this.dialogRef.close(this.checkedNodeList);
18952
+ }
18953
+ getStatusName(id) {
18954
+ let statusName = '';
18955
+ this.treeData2.forEach(x => {
18956
+ if (id.toString() === x.id) {
18957
+ statusName = x.statusName;
18958
+ }
18959
+ });
18960
+ return statusName;
18961
+ }
18962
+ selectTreeControlNodeDocument(treeNodes) {
18963
+ this.treeControlNodeDocument = null;
18964
+ this.treeControlNodeDocument = treeNodes;
18965
+ this.treeControlNodeDocument.dataNodes = this.treeControlNodeDocument.dataNodes.filter(x => x.name !== null && x.name !== '');
18966
+ }
18967
+ selectTreeControlNodeProcess(treeNodes) {
18968
+ this.treeControlNodeProcess = null;
18969
+ this.treeControlNodeProcess = treeNodes;
18970
+ this.treeControlNodeProcess.dataNodes = this.treeControlNodeProcess.dataNodes.filter(x => x.name !== null && x.name !== '');
18971
+ }
18972
+ getStatusDocs(id) {
18973
+ return this.treeData2.filter(x => x.id === id)[0].statusId;
18974
+ }
18975
+ getStatusProcess(id) {
18976
+ return this.treeData1.filter(x => x.id === id)[0].statusId;
18977
+ }
18978
+ getOffsetHeight(element, includeMargin) {
18979
+ let elmHeight = 0, elmMargin = 0;
18980
+ elmHeight = element.offsetHeight;
18981
+ if (includeMargin) {
18982
+ const style = window.getComputedStyle(element);
18983
+ elmMargin = parseFloat(style.marginTop.replace('px', '')) + parseFloat(style.marginBottom.replace('px', ''));
18984
+ }
18985
+ return (elmHeight + elmMargin);
18986
+ }
18987
+ getItemChipName(item) {
18988
+ return item.itemName;
18989
+ }
18990
+ isEllipsisActive(e) {
18991
+ return e ? (e.clientWidth < e.scrollWidth) : false;
18992
+ }
18993
+ getNodeIcon(item) {
18994
+ switch (item.itemType) {
18995
+ case DataType$1.folder: {
18996
+ switch (item.levelType) {
18997
+ case DocumentNodeType$1.DepartmentFolder:
18998
+ return 'department_folder_outlined';
18999
+ case DocumentNodeType$1.RegionalFolder:
19000
+ return 'regional_folder_outlined';
19001
+ case DocumentNodeType$1.TopFolder:
19002
+ return 'enterprise_folder_outlined';
19003
+ case DocumentNodeType$1.Folder:
19004
+ return 'local_folder_outlined';
19005
+ default:
19006
+ return 'folder_outlined';
19007
+ }
19008
+ }
19009
+ case DataType$1.document: {
19010
+ switch (item.levelType) {
19011
+ case DocumentNodeType$1.DepartmentFolder:
19012
+ return 'document_department';
19013
+ case DocumentNodeType$1.RegionalFolder:
19014
+ return 'document_regional';
19015
+ case DocumentNodeType$1.TopFolder:
19016
+ return 'document_enterprise';
19017
+ case DocumentNodeType$1.Folder:
19018
+ return 'document_local';
19019
+ default:
19020
+ return 'document';
19021
+ }
19022
+ }
19023
+ case DataType$1.area:
19024
+ return 'process_area_outlined';
19025
+ case DataType$1.process:
19026
+ return 'process';
19027
+ default:
19028
+ return 'folder_outlined';
19029
+ }
19030
+ }
19031
+ getSearchOrder() {
19032
+ let searchTypes = Object.keys(this.dataType)
19033
+ .map(key => ({ value: this.dataType[key], key: key }));
19034
+ searchTypes = searchTypes.slice(searchTypes.length / 2);
19035
+ return searchTypes;
19036
+ }
19037
+ getTitle(type) {
19038
+ switch (type) {
19039
+ case DataType$1.process:
19040
+ return this.LANG.PROCESSES;
19041
+ case DataType$1.area:
19042
+ return this.LANG.PROCESS_AREA;
19043
+ case DataType$1.document:
19044
+ return this.LANG.DOCUMENTS;
19045
+ case DataType$1.folder:
19046
+ return this.LANG.FOLDER;
19047
+ }
19048
+ }
19049
+ getItemId(item) {
19050
+ if (item.itemType === this.dataType.process) {
19051
+ return `${this.LANG.PROCESS_ID}: ${item.itemNumberId}; ${item.statusName}`;
19052
+ }
19053
+ else if (item.itemType === this.dataType.document) {
19054
+ return `${this.LANG.DOCUMENT_ID}: ${item.itemNumberId}; ${item.statusName}`;
19055
+ }
19056
+ return null;
19057
+ }
19058
+ toggleSelectItem(node) {
19059
+ const selectedNode = this.checkedNodeList.find(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase()));
19060
+ if (selectedNode) {
19061
+ this.removeCheckedNodeList({
19062
+ id: selectedNode.id,
19063
+ itemName: node.itemName,
19064
+ parentId: selectedNode.parentId,
19065
+ expandable: false,
19066
+ itemType: selectedNode.itemType,
19067
+ moduleId: this.moduleId,
19068
+ itemNumberId: selectedNode.itemNumberId
19069
+ });
19070
+ }
19071
+ else {
19072
+ this.selectRelated(node);
19073
+ }
19074
+ }
19075
+ isNodeSelected(node) {
19076
+ return this.checkedNodeList.filter(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase())).length > 0;
19077
+ }
19078
+ getChildrenOfFolder(node, type) {
19079
+ let item = new QMSProcessDocumentItem();
19080
+ item.id = node.id;
19081
+ item.itemType = type;
19082
+ item.itemName = node.name;
19083
+ item.levelType = node.levelType;
19084
+ this.selectedFolder = node;
19085
+ this.parentNodeSelected = new TreeFlatNode();
19086
+ this.parentNodeSelected = Object.assign({}, node);
19087
+ if (item.itemType == DataType$1.area)
19088
+ this.onExpandProcessArea.emit(item);
19089
+ else
19090
+ this.onExpandFolder.emit(item);
19091
+ }
19092
+ canShowSearchOption(moduleId) {
19093
+ return this.getModuleFilteredOptions(moduleId).length > 0;
19094
+ }
19095
+ selectNodeTreeEvent(node) {
19096
+ if (!node.itemType) {
19097
+ return;
19098
+ }
19099
+ const index = this.checkedNodeList.findIndex(x => x.id.toLowerCase() === node.id.toLowerCase()
19100
+ && (!node.parentId || x.parentId.toLowerCase() === node.parentId.toLowerCase()) && x.itemType == node.itemType);
19101
+ if (index >= 0) {
19102
+ this.removeCheckedNodeList({
19103
+ id: node.id,
19104
+ itemName: node.name,
19105
+ parentId: node.parentId,
19106
+ expandable: false,
19107
+ itemType: node.itemType,
19108
+ moduleId: this.moduleId,
19109
+ itemNumberId: node.id
19110
+ });
19111
+ return;
19112
+ }
19113
+ else {
19114
+ let item;
19115
+ let status = 0;
19116
+ let statusName = '';
19117
+ if (node.itemType == DataType$1.folder || node.itemType == DataType$1.document) {
19118
+ item = this.treeData2.find(x => x.id.toLowerCase() === node.id.toLowerCase()
19119
+ && (!node.parentId || x.parentId.toLowerCase() === node.parentId.toLowerCase()) && x.expandable == node.expandable);
19120
+ }
19121
+ else {
19122
+ item = this.treeData1.find(x => x.id.toLowerCase() === node.id.toLowerCase()
19123
+ && (!node.parentId || x.parentId.toLowerCase() === node.parentId.toLowerCase()) && x.expandable == node.expandable);
19124
+ }
19125
+ if (item) {
19126
+ statusName = item.statusName;
19127
+ status = item.statusId;
19128
+ }
19129
+ this.addToChecklistNode({
19130
+ id: node.id,
19131
+ itemName: node.name,
19132
+ parentId: node.parentId,
19133
+ itemType: node.itemType,
19134
+ status: status,
19135
+ statusName: statusName,
19136
+ itemNumberId: item.displayId.toString(),
19137
+ levelType: item.levelType
19138
+ });
19139
+ this.addSelectedData(node);
19140
+ }
19141
+ }
19142
+ getChildNodeSelectOne(listChildren) {
19143
+ this.listChildrenSelectOne = [];
19144
+ this.listChildrenSelectOne = listChildren;
19145
+ }
19146
+ getItemOfFolder(node, type) {
19147
+ if (this.splitView) {
19148
+ const parentTexts = this.elem.nativeElement.querySelectorAll('.text-node-parent');
19149
+ [].forEach.call(parentTexts, (el) => {
19150
+ el.classList.remove('active-item');
19151
+ });
19152
+ const itemElement = document.querySelectorAll(`#_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`);
19153
+ [].forEach.call(itemElement, (el) => {
19154
+ el.classList.add('active-item');
19155
+ });
19156
+ if (type === this.dataType.folder) {
19157
+ this.splitViewTitle = `${this.LANG.MESSAGE.DOCUMENTS_IN.toUpperCase()} "${node.name}"`;
19158
+ }
19159
+ else if (type === this.dataType.area) {
19160
+ this.splitViewTitle = `${this.LANG.MESSAGE.PROCESSES_IN.toUpperCase()} "${node.name}"`;
19161
+ }
19162
+ let item = new QMSProcessDocumentItem();
19163
+ item.id = node.id;
19164
+ item.itemType = type;
19165
+ item.itemName = node.name;
19166
+ item.levelType = node.levelType;
19167
+ this.selectedFolder = node;
19168
+ this.parentNodeSelected = new TreeFlatNode();
19169
+ this.parentNodeSelected = Object.assign({}, node);
19170
+ this.onSelectFolderItem.emit(item);
19171
+ }
19172
+ }
19173
+ }
19174
+ SelectProcessDocumentPopupComponent.decorators = [
19175
+ { type: Component, args: [{
19176
+ selector: 'qms-select-process-document',
19177
+ 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 ",
19178
+ encapsulation: ViewEncapsulation.None,
19179
+ 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}"]
19180
+ },] }
19181
+ ];
19182
+ SelectProcessDocumentPopupComponent.ctorParameters = () => [
19183
+ { type: ChangeDetectorRef },
19184
+ { type: TranslateLibraryService },
19185
+ { type: MatDialogRef },
19186
+ { type: QMSSelectProcessDocumentGlobalService },
19187
+ { type: MatIconRegistry },
19188
+ { type: DomSanitizer },
19189
+ { type: QMSIconRegistryService },
19190
+ { type: ElementRef },
19191
+ { type: SelectProcessDocumentPopupData, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
19192
+ ];
19193
+ SelectProcessDocumentPopupComponent.propDecorators = {
19194
+ dataTrees: [{ type: ViewChildren, args: [NewTreeComponent, {},] }],
19195
+ autoComplete: [{ type: ViewChild, args: ['autoCompleteInputSearch', { read: MatAutocompleteTrigger, static: true },] }],
19196
+ onMessage: [{ type: HostListener, args: ['window:message', ['$event'],] }]
19197
+ };
19198
+
19199
+ class QMSSelectProcessDocumentModule {
19200
+ }
19201
+ QMSSelectProcessDocumentModule.decorators = [
19202
+ { type: NgModule, args: [{
19203
+ declarations: [
19204
+ SelectProcessDocumentPopupComponent
19205
+ ],
19206
+ imports: [
19207
+ CommonModule,
19208
+ MatTreeModule,
19209
+ MatIconModule,
19210
+ MatButtonModule,
19211
+ MatCheckboxModule,
19212
+ MatExpansionModule,
19213
+ MatAutocompleteModule,
19214
+ ReactiveFormsModule,
19215
+ ScrollingModule,
19216
+ MatCardModule,
19217
+ MatSidenavModule,
19218
+ MatListModule,
19219
+ SharedMaterialModule,
19220
+ QMSListModule,
19221
+ QmsAngularModule,
19222
+ QMSBreadcrumbModule,
19223
+ QMSAppIconModule,
19224
+ QMSTreeModule,
19225
+ QMSButtonModule,
19226
+ MatSlideToggleModule,
19227
+ QMSNewTreeModule
19228
+ ],
19229
+ exports: [
19230
+ SelectProcessDocumentPopupComponent
19231
+ ]
19232
+ },] }
19233
+ ];
19234
+
19235
+ class SelectedProcessDocumentItem {
19236
+ }
19237
+
17289
19238
  /*
17290
19239
  * Public API Surface of qms-angular
17291
19240
  */
@@ -17294,5 +19243,5 @@ class ISelectOneItem {
17294
19243
  * Generated bundle index. Do not edit.
17295
19244
  */
17296
19245
 
17297
- 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 };
19246
+ 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, QmsStatusDropdownComponent, QmsStatusDropdownModule, QmsStatusDropdownOption, QmsStatusDropdownType, QmsStepperComponent, QmsStepperModule, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON, RelatedConst, RelatedContentComponent, RelatedItemType, RelatedListComponent, RelatedPopupComponent, Result, RiskAnalysis, RiskAnalysisComponent, RiskDanger, RiskListComponent, RiskResult, RiskResultComponent, SaveTemplateComponent, ScrollToSelectedDirective, SelectConst, SelectDialog, SelectIncludeChildrenPopUpComponent, SelectOneDialog, SelectOnePopupData, SelectOption, SelectOptionTypes, SelectPopupData, SelectProcessDocumentPopupComponent, SelectProcessDocumentPopupData, SelectedOption, SelectedProcessDocumentItem, SharedModule, ShowHideSearchResultConst, SideNav, SideNavItem, SidenavComponent, StepModel, TargetType, TargetTypeName, 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 };
17298
19247
  //# sourceMappingURL=qms-angular.js.map