qms-angular 1.0.69 → 1.0.70

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 (205) hide show
  1. package/bundles/qms-angular.umd.js +818 -163
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/badges/qms-badges.component.js +3 -3
  4. package/esm2015/lib/components/qms-app-bar/index.js +2 -0
  5. package/esm2015/lib/components/qms-app-bar/models/qms-app-bar.model.js +10 -0
  6. package/esm2015/lib/components/qms-app-bar/public_api.js +3 -0
  7. package/esm2015/lib/components/qms-app-bar/qms-app-bar.component.js +2 -2
  8. package/esm2015/lib/components/qms-navigation-drawer/index.js +2 -0
  9. package/esm2015/lib/components/qms-navigation-drawer/models/qms-navigation-drawer.model.js +3 -0
  10. package/esm2015/lib/components/qms-navigation-drawer/public_api.js +3 -0
  11. package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.js +348 -0
  12. package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.module.js +33 -0
  13. package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.component.js +1 -1
  14. package/esm2015/lib/components/qms-stepper/index.js +2 -0
  15. package/esm2015/lib/components/qms-stepper/models/qms-stepper.model.js +9 -0
  16. package/esm2015/lib/components/qms-stepper/public_api.js +3 -0
  17. package/esm2015/lib/components/qms-stepper/qms-stepper.component.js +3 -3
  18. package/esm2015/lib/components/related/popup/related-popup.component.js +2 -2
  19. package/esm2015/lib/components/select-include-children/model/select-popup-data.model.js +2 -1
  20. package/esm2015/lib/components/select-include-children/select-include-children.component.js +45 -45
  21. package/esm2015/lib/components/tab/directive/tab-group-advanced.directive.js +30 -0
  22. package/esm2015/lib/components/tab/directive/tab-group.directive.js +20 -0
  23. package/esm2015/lib/components/tab/directive/tab-label.directive.js +20 -0
  24. package/esm2015/lib/components/tab/index.js +2 -0
  25. package/esm2015/lib/components/tab/public-api.js +5 -0
  26. package/esm2015/lib/components/tab/tab.module.js +25 -0
  27. package/esm2015/lib/components/tree/tree.component.js +6 -3
  28. package/esm2015/lib/directives/table/table.directive.js +201 -0
  29. package/esm2015/lib/qms-angular.module.js +17 -11
  30. package/esm2015/lib/qms-ckeditor-components/common/functions/common.function.js +2 -2
  31. package/esm2015/public-api.js +7 -10
  32. package/fesm2015/qms-angular.js +730 -149
  33. package/fesm2015/qms-angular.js.map +1 -1
  34. package/lib/components/qms-app-bar/index.d.ts +1 -0
  35. package/lib/components/qms-app-bar/{qms-app-bar.model.d.ts → models/qms-app-bar.model.d.ts} +0 -0
  36. package/lib/components/qms-app-bar/public_api.d.ts +2 -0
  37. package/lib/components/qms-app-bar/qms-app-bar.component.d.ts +1 -1
  38. package/lib/components/qms-navigation-drawer/index.d.ts +1 -0
  39. package/lib/components/qms-navigation-drawer/models/qms-navigation-drawer.model.d.ts +19 -0
  40. package/lib/components/qms-navigation-drawer/public_api.d.ts +2 -0
  41. package/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.d.ts +105 -0
  42. package/lib/components/qms-navigation-drawer/qms-navigation-drawer.module.d.ts +2 -0
  43. package/lib/components/qms-stepper/index.d.ts +1 -0
  44. package/lib/components/qms-stepper/{qms-stepper.model.d.ts → models/qms-stepper.model.d.ts} +0 -0
  45. package/lib/components/qms-stepper/public_api.d.ts +2 -0
  46. package/lib/components/qms-stepper/qms-stepper.component.d.ts +1 -1
  47. package/lib/components/select-include-children/model/select-popup-data.model.d.ts +1 -0
  48. package/lib/components/select-include-children/select-include-children.component.d.ts +3 -2
  49. package/lib/{directives/tab → components/tab/directive}/tab-group-advanced.directive.d.ts +0 -0
  50. package/lib/{directives/tab → components/tab/directive}/tab-group.directive.d.ts +0 -0
  51. package/lib/{directives/tab → components/tab/directive}/tab-label.directive.d.ts +0 -0
  52. package/lib/components/tab/index.d.ts +1 -0
  53. package/lib/components/tab/public-api.d.ts +4 -0
  54. package/lib/components/tab/tab.module.d.ts +2 -0
  55. package/lib/directives/table/table.directive.d.ts +50 -0
  56. package/lib.theme.scss +1 -0
  57. package/package.json +4 -2
  58. package/public-api.d.ts +5 -9
  59. package/qms-angular.metadata.json +1 -1
  60. package/src/assets/fonts/icomoon.eot +0 -0
  61. package/src/assets/fonts/icomoon.svg +203 -0
  62. package/src/assets/fonts/icomoon.ttf +0 -0
  63. package/src/assets/fonts/icomoon.woff +0 -0
  64. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +2 -2
  65. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
  66. package/src/assets/qms-ckeditor-plugin/build/translations/ar.js +1 -1
  67. package/src/assets/qms-ckeditor-plugin/build/translations/az.js +1 -1
  68. package/src/assets/qms-ckeditor-plugin/build/translations/bg.js +1 -1
  69. package/src/assets/qms-ckeditor-plugin/build/translations/cs.js +1 -1
  70. package/src/assets/qms-ckeditor-plugin/build/translations/da.js +1 -1
  71. package/src/assets/qms-ckeditor-plugin/build/translations/de-ch.js +1 -1
  72. package/src/assets/qms-ckeditor-plugin/build/translations/de.js +1 -1
  73. package/src/assets/qms-ckeditor-plugin/build/translations/en-au.js +1 -1
  74. package/src/assets/qms-ckeditor-plugin/build/translations/en-gb.js +1 -1
  75. package/src/assets/qms-ckeditor-plugin/build/translations/es.js +1 -1
  76. package/src/assets/qms-ckeditor-plugin/build/translations/et.js +1 -1
  77. package/src/assets/qms-ckeditor-plugin/build/translations/fa.js +1 -1
  78. package/src/assets/qms-ckeditor-plugin/build/translations/fi.js +1 -1
  79. package/src/assets/qms-ckeditor-plugin/build/translations/fr.js +1 -1
  80. package/src/assets/qms-ckeditor-plugin/build/translations/gl.js +1 -1
  81. package/src/assets/qms-ckeditor-plugin/build/translations/hi.js +1 -1
  82. package/src/assets/qms-ckeditor-plugin/build/translations/hr.js +1 -1
  83. package/src/assets/qms-ckeditor-plugin/build/translations/hu.js +1 -1
  84. package/src/assets/qms-ckeditor-plugin/build/translations/id.js +1 -1
  85. package/src/assets/qms-ckeditor-plugin/build/translations/it.js +1 -1
  86. package/src/assets/qms-ckeditor-plugin/build/translations/ja.js +1 -1
  87. package/src/assets/qms-ckeditor-plugin/build/translations/ko.js +1 -1
  88. package/src/assets/qms-ckeditor-plugin/build/translations/ku.js +1 -1
  89. package/src/assets/qms-ckeditor-plugin/build/translations/lt.js +1 -1
  90. package/src/assets/qms-ckeditor-plugin/build/translations/lv.js +1 -1
  91. package/src/assets/qms-ckeditor-plugin/build/translations/nb.js +1 -1
  92. package/src/assets/qms-ckeditor-plugin/build/translations/ne.js +1 -1
  93. package/src/assets/qms-ckeditor-plugin/build/translations/nl.js +1 -1
  94. package/src/assets/qms-ckeditor-plugin/build/translations/no.js +1 -1
  95. package/src/assets/qms-ckeditor-plugin/build/translations/pl.js +1 -1
  96. package/src/assets/qms-ckeditor-plugin/build/translations/pt-br.js +1 -1
  97. package/src/assets/qms-ckeditor-plugin/build/translations/ro.js +1 -1
  98. package/src/assets/qms-ckeditor-plugin/build/translations/ru.js +1 -1
  99. package/src/assets/qms-ckeditor-plugin/build/translations/sk.js +1 -1
  100. package/src/assets/qms-ckeditor-plugin/build/translations/sq.js +1 -1
  101. package/src/assets/qms-ckeditor-plugin/build/translations/sr-latn.js +1 -1
  102. package/src/assets/qms-ckeditor-plugin/build/translations/sr.js +1 -1
  103. package/src/assets/qms-ckeditor-plugin/build/translations/sv.js +1 -1
  104. package/src/assets/qms-ckeditor-plugin/build/translations/th.js +1 -1
  105. package/src/assets/qms-ckeditor-plugin/build/translations/tk.js +1 -1
  106. package/src/assets/qms-ckeditor-plugin/build/translations/tr.js +1 -1
  107. package/src/assets/qms-ckeditor-plugin/build/translations/ug.js +1 -1
  108. package/src/assets/qms-ckeditor-plugin/build/translations/uk.js +1 -1
  109. package/src/assets/qms-ckeditor-plugin/build/translations/vi.js +1 -1
  110. package/src/assets/qms-ckeditor-plugin/build/translations/zh-cn.js +1 -1
  111. package/src/assets/qms-ckeditor-plugin/build/translations/zh.js +1 -1
  112. package/src/assets/qms-ckeditor-plugin/package-lock.json +29 -1
  113. package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +6 -0
  114. package/src/assets/svg-icons/acutely-toxic.svg +19 -0
  115. package/src/assets/svg-icons/add-column.svg +4 -0
  116. package/src/assets/svg-icons/add-tooltip.svg +6 -0
  117. package/src/assets/svg-icons/admin.svg +3 -0
  118. package/src/assets/svg-icons/annual-cycle.svg +10 -0
  119. package/src/assets/svg-icons/assignment-repete.svg +4 -0
  120. package/src/assets/svg-icons/barrier-add.svg +7 -0
  121. package/src/assets/svg-icons/barrier-edit.svg +7 -0
  122. package/src/assets/svg-icons/barrier-view.svg +3 -0
  123. package/src/assets/svg-icons/button-group.svg +5 -0
  124. package/src/assets/svg-icons/checklist.svg +8 -0
  125. package/src/assets/svg-icons/chemical-manager.svg +5 -0
  126. package/src/assets/svg-icons/chronic-health-hazard.svg +17 -0
  127. package/src/assets/svg-icons/contingency.svg +3 -0
  128. package/src/assets/svg-icons/corrosive.svg +23 -0
  129. package/src/assets/svg-icons/dashboard.svg +3 -0
  130. package/src/assets/svg-icons/database-sds.svg +4 -0
  131. package/src/assets/svg-icons/department-document.svg +4 -0
  132. package/src/assets/svg-icons/department-folder-closed.svg +4 -0
  133. package/src/assets/svg-icons/department-folder-open.svg +4 -0
  134. package/src/assets/svg-icons/description-add.svg +6 -0
  135. package/src/assets/svg-icons/description-edit.svg +6 -0
  136. package/src/assets/svg-icons/description-view.svg +3 -0
  137. package/src/assets/svg-icons/deviation.svg +3 -0
  138. package/src/assets/svg-icons/document-read.svg +5 -0
  139. package/src/assets/svg-icons/draft.svg +7 -0
  140. package/src/assets/svg-icons/dropdown-folder.svg +4 -0
  141. package/src/assets/svg-icons/enterprise-document.svg +4 -0
  142. package/src/assets/svg-icons/enterprise-folder-closed.svg +4 -0
  143. package/src/assets/svg-icons/enterprise-folder-open.svg +4 -0
  144. package/src/assets/svg-icons/expired-off.svg +3 -0
  145. package/src/assets/svg-icons/expired-on.svg +5 -0
  146. package/src/assets/svg-icons/explosive.svg +48 -0
  147. package/src/assets/svg-icons/file-excel.svg +3 -0
  148. package/src/assets/svg-icons/file-pdf-verified.svg +5 -0
  149. package/src/assets/svg-icons/file-pdf.svg +3 -0
  150. package/src/assets/svg-icons/file-word.svg +3 -0
  151. package/src/assets/svg-icons/filter-alt.svg +3 -0
  152. package/src/assets/svg-icons/flammable.svg +5 -0
  153. package/src/assets/svg-icons/flowchart-BPMN.svg +9 -0
  154. package/src/assets/svg-icons/folder-closed.svg +3 -0
  155. package/src/assets/svg-icons/folder-open.svg +3 -0
  156. package/src/assets/svg-icons/gas-under-pressure.svg +4 -0
  157. package/src/assets/svg-icons/health-hazard.svg +4 -0
  158. package/src/assets/svg-icons/keyboard_arrow_down.svg +1 -0
  159. package/src/assets/svg-icons/keyboard_arrow_up.svg +1 -0
  160. package/src/assets/svg-icons/line-break.svg +7 -0
  161. package/src/assets/svg-icons/local-document.svg +4 -0
  162. package/src/assets/svg-icons/local-folder-closed.svg +4 -0
  163. package/src/assets/svg-icons/local-folder-open.svg +4 -0
  164. package/src/assets/svg-icons/location.svg +3 -0
  165. package/src/assets/svg-icons/measure-add.svg +5 -0
  166. package/src/assets/svg-icons/measure-edit.svg +5 -0
  167. package/src/assets/svg-icons/measure-view.svg +3 -0
  168. package/src/assets/svg-icons/messages.svg +3 -0
  169. package/src/assets/svg-icons/monitoring.svg +5 -0
  170. package/src/assets/svg-icons/move.svg +3 -0
  171. package/src/assets/svg-icons/oxidizing.svg +6 -0
  172. package/src/assets/svg-icons/process-area-closed.svg +4 -0
  173. package/src/assets/svg-icons/process-area-open.svg +4 -0
  174. package/src/assets/svg-icons/process-linked.svg +4 -0
  175. package/src/assets/svg-icons/process.svg +3 -0
  176. package/src/assets/svg-icons/regional-document.svg +4 -0
  177. package/src/assets/svg-icons/regional-folder-closed.svg +4 -0
  178. package/src/assets/svg-icons/regional-folder-open.svg +4 -0
  179. package/src/assets/svg-icons/risk.svg +3 -0
  180. package/src/assets/svg-icons/search-in-file.svg +4 -0
  181. package/src/assets/svg-icons/sort-ascending.svg +3 -0
  182. package/src/assets/svg-icons/sort-descending.svg +3 -0
  183. package/src/assets/svg-icons/subscript.svg +4 -0
  184. package/src/assets/svg-icons/superscript.svg +4 -0
  185. package/src/assets/svg-icons/syncronice-favorites.svg +5 -0
  186. package/src/assets/svg-icons/system-settings.svg +3 -0
  187. package/src/assets/svg-icons/view-three-outlined.svg +5 -0
  188. package/src/assets/svg-icons/wiris.svg +9 -0
  189. package/src/assets/svg-icons/workplace-safety.svg +5 -0
  190. package/src/lib/components/badges/_qms-badges-base.scss +8 -7
  191. package/src/lib/components/badges/qms-badges.component.scss +1 -1
  192. package/src/lib/components/qms-app-bar/qms-app-bar.component.scss +10 -0
  193. package/src/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.scss +174 -0
  194. package/src/lib/components/qms-status-dropdown/qms-status-dropdown.component.scss +6 -2
  195. package/src/lib/components/tree/tree.component.scss +3 -1
  196. package/src/themes/_qms-icon-font.scss +894 -0
  197. package/src/themes/core/_colors.scss +1 -0
  198. package/src/themes/core/_range-slider.scss +6 -2
  199. package/src/themes/core/_tab.scss +42 -1
  200. package/src/themes/core/_table.scss +54 -0
  201. package/esm2015/lib/components/qms-app-bar/qms-app-bar.model.js +0 -10
  202. package/esm2015/lib/components/qms-stepper/qms-stepper.model.js +0 -9
  203. package/esm2015/lib/directives/tab/tab-group-advanced.directive.js +0 -30
  204. package/esm2015/lib/directives/tab/tab-group.directive.js +0 -20
  205. package/esm2015/lib/directives/tab/tab-label.directive.js +0 -20
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, EventEmitter, ChangeDetectionStrategy, Input, Output, ViewEncapsulation, Inject, ElementRef, ViewChild, HostListener, Directive, ContentChild, Optional, Renderer2, InjectionToken, forwardRef, ChangeDetectorRef, ContentChildren, Attribute, NgModule, CUSTOM_ELEMENTS_SCHEMA, Pipe, NO_ERRORS_SCHEMA, ViewChildren, Injector } from '@angular/core';
2
+ import { Injectable, Component, EventEmitter, ChangeDetectionStrategy, Input, Output, ViewEncapsulation, Inject, ElementRef, ViewChild, HostListener, Directive, ContentChild, Optional, Renderer2, InjectionToken, forwardRef, ChangeDetectorRef, ContentChildren, Attribute, NgModule, CUSTOM_ELEMENTS_SCHEMA, Pipe, ViewContainerRef, HostBinding, NO_ERRORS_SCHEMA, ViewChildren, Injector } from '@angular/core';
3
3
  import { BehaviorSubject, ReplaySubject, Subject, forkJoin } from 'rxjs';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { FormControl, FormBuilder, NgControl, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule, NG_VALIDATORS, FormGroup, Validators } from '@angular/forms';
@@ -46,6 +46,7 @@ import { MatToolbarModule } from '@angular/material/toolbar';
46
46
  import { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';
47
47
  import { MatStepperModule } from '@angular/material/stepper';
48
48
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
49
+ import { DragDropModule } from '@angular/cdk/drag-drop';
49
50
 
50
51
  class QmsAngularService {
51
52
  constructor() { }
@@ -1833,73 +1834,6 @@ QMSDrawerDirective.ctorParameters = () => [
1833
1834
  { type: ElementRef }
1834
1835
  ];
1835
1836
 
1836
- class QMSTabGroupAdvancedDirective {
1837
- constructor(ele) {
1838
- this.ele = ele;
1839
- }
1840
- ngOnInit() {
1841
- if (this.ele) {
1842
- this.ele.nativeElement.classList.add('qms-tab-group-advanced');
1843
- if (this.color) {
1844
- this.ele.nativeElement.classList.add(this.color);
1845
- }
1846
- if (this.type === 'fixed') {
1847
- this.ele.nativeElement.classList.add('qms-tab-group-advanced-fixed');
1848
- }
1849
- }
1850
- }
1851
- }
1852
- QMSTabGroupAdvancedDirective.decorators = [
1853
- { type: Directive, args: [{
1854
- selector: '[qms-tab-group-advanced]',
1855
- },] }
1856
- ];
1857
- QMSTabGroupAdvancedDirective.ctorParameters = () => [
1858
- { type: ElementRef }
1859
- ];
1860
- QMSTabGroupAdvancedDirective.propDecorators = {
1861
- color: [{ type: Input }],
1862
- type: [{ type: Input }]
1863
- };
1864
-
1865
- class QMSTabGroupDirective {
1866
- constructor(ele) {
1867
- this.ele = ele;
1868
- }
1869
- ngOnInit() {
1870
- if (this.ele) {
1871
- this.ele.nativeElement.classList.add('qms-tab-group');
1872
- }
1873
- }
1874
- }
1875
- QMSTabGroupDirective.decorators = [
1876
- { type: Directive, args: [{
1877
- selector: '[qms-tab-group]',
1878
- },] }
1879
- ];
1880
- QMSTabGroupDirective.ctorParameters = () => [
1881
- { type: ElementRef }
1882
- ];
1883
-
1884
- class QMSTabLabelDirective {
1885
- constructor(ele) {
1886
- this.ele = ele;
1887
- }
1888
- ngOnInit() {
1889
- if (this.ele) {
1890
- this.ele.nativeElement.classList.add('qms-tab-label');
1891
- }
1892
- }
1893
- }
1894
- QMSTabLabelDirective.decorators = [
1895
- { type: Directive, args: [{
1896
- selector: '[qms-tab-label]',
1897
- },] }
1898
- ];
1899
- QMSTabLabelDirective.ctorParameters = () => [
1900
- { type: ElementRef }
1901
- ];
1902
-
1903
1837
  class QMSTextBlockLine {
1904
1838
  constructor(elRef, renderer) {
1905
1839
  this.elRef = elRef;
@@ -2812,6 +2746,206 @@ QMSAppBar.propDecorators = {
2812
2746
  mode: [{ type: Input, args: ['mode',] }]
2813
2747
  };
2814
2748
 
2749
+ class QMSTableExpandDirective {
2750
+ constructor(_el, renderer) {
2751
+ this._el = _el;
2752
+ this.renderer = renderer;
2753
+ this._el.nativeElement.classList.add('qms-table');
2754
+ }
2755
+ ngAfterViewChecked() {
2756
+ let matRows = this._el.nativeElement.querySelectorAll('mat-row');
2757
+ for (const [key, value] of Object.entries(matRows)) {
2758
+ this.renderer.addClass(value, 'qms-row');
2759
+ }
2760
+ }
2761
+ }
2762
+ QMSTableExpandDirective.decorators = [
2763
+ { type: Directive, args: [{
2764
+ selector: '[qms-table-expand]',
2765
+ host: { 'class': 'qms-table-expand' }
2766
+ },] }
2767
+ ];
2768
+ QMSTableExpandDirective.ctorParameters = () => [
2769
+ { type: ElementRef },
2770
+ { type: Renderer2 }
2771
+ ];
2772
+ class QMSTableDirective {
2773
+ constructor(_el, renderer) {
2774
+ this._el = _el;
2775
+ this.renderer = renderer;
2776
+ }
2777
+ ngAfterViewChecked() {
2778
+ let matRows = this._el.nativeElement.querySelectorAll('mat-row');
2779
+ for (const [key, value] of Object.entries(matRows)) {
2780
+ this.renderer.addClass(value, 'qms-row');
2781
+ }
2782
+ }
2783
+ }
2784
+ QMSTableDirective.decorators = [
2785
+ { type: Directive, args: [{
2786
+ selector: '[qms-table]',
2787
+ host: { 'class': 'qms-table' }
2788
+ },] }
2789
+ ];
2790
+ QMSTableDirective.ctorParameters = () => [
2791
+ { type: ElementRef },
2792
+ { type: Renderer2 }
2793
+ ];
2794
+ class QMSTableChildrenDirective {
2795
+ constructor(_el, renderer) {
2796
+ this._el = _el;
2797
+ this.renderer = renderer;
2798
+ }
2799
+ ngAfterViewChecked() {
2800
+ let matRows = this._el.nativeElement.querySelectorAll('mat-row');
2801
+ for (const [key, value] of Object.entries(matRows)) {
2802
+ this.renderer.addClass(value, 'qms-row-children');
2803
+ this.renderer.addClass(value, 'qms-row-group');
2804
+ }
2805
+ }
2806
+ }
2807
+ QMSTableChildrenDirective.decorators = [
2808
+ { type: Directive, args: [{
2809
+ selector: '[qms-table-children]',
2810
+ host: { 'class': 'qms-table-children' }
2811
+ },] }
2812
+ ];
2813
+ QMSTableChildrenDirective.ctorParameters = () => [
2814
+ { type: ElementRef },
2815
+ { type: Renderer2 }
2816
+ ];
2817
+ class QMSRowExpandDirective {
2818
+ constructor() { }
2819
+ }
2820
+ QMSRowExpandDirective.decorators = [
2821
+ { type: Directive, args: [{
2822
+ selector: '[qms-row-expand]',
2823
+ host: { 'class': 'qms-row-expand' }
2824
+ },] }
2825
+ ];
2826
+ QMSRowExpandDirective.ctorParameters = () => [];
2827
+ class QMSRowDetailDirective {
2828
+ constructor() { }
2829
+ }
2830
+ QMSRowDetailDirective.decorators = [
2831
+ { type: Directive, args: [{
2832
+ selector: '[qms-row-detail]',
2833
+ host: { 'class': 'qms-row-detail' }
2834
+ },] }
2835
+ ];
2836
+ QMSRowDetailDirective.ctorParameters = () => [];
2837
+ class QMSCollapseGroupDirective {
2838
+ constructor() {
2839
+ }
2840
+ }
2841
+ QMSCollapseGroupDirective.decorators = [
2842
+ { type: Directive, args: [{
2843
+ selector: '[qms-collapse-group]',
2844
+ host: { 'class': 'qms-collapse-group' }
2845
+ },] }
2846
+ ];
2847
+ QMSCollapseGroupDirective.ctorParameters = () => [];
2848
+ class CdkDetailRowDirective {
2849
+ constructor(vcRef, _el) {
2850
+ this.vcRef = vcRef;
2851
+ this._el = _el;
2852
+ this.focusClass = 'focus-grid-style';
2853
+ this.onRowExpandEvent = new EventEmitter();
2854
+ }
2855
+ get expended() {
2856
+ return this.opened;
2857
+ }
2858
+ set cdkDetailRow(value) {
2859
+ if (value !== this.row) {
2860
+ this.row = value;
2861
+ }
2862
+ }
2863
+ set template(value) {
2864
+ if (value !== this.tRef) {
2865
+ this.tRef = value;
2866
+ }
2867
+ }
2868
+ set otherTemplate(value) {
2869
+ if (value !== this.othertRef) {
2870
+ this.othertRef = value;
2871
+ }
2872
+ }
2873
+ ngOnChanges(changes) {
2874
+ this.vcRef.clear();
2875
+ if (this.othertRef && this.row) {
2876
+ this.vcRef.createEmbeddedView(this.othertRef, { $implicit: this.row });
2877
+ }
2878
+ }
2879
+ ngOnInit() {
2880
+ var _a, _b;
2881
+ this.vcRef.clear();
2882
+ if (this.othertRef && this.row) {
2883
+ this.vcRef.createEmbeddedView(this.othertRef, { $implicit: this.row });
2884
+ if (((_a = this.row) === null || _a === void 0 ? void 0 : _a.children) && ((_b = this.row) === null || _b === void 0 ? void 0 : _b.children.length) > 0) {
2885
+ this._el.nativeElement.classList.add('qms-row-group');
2886
+ }
2887
+ }
2888
+ }
2889
+ onClick() {
2890
+ this.toggle();
2891
+ }
2892
+ onClickItem(event) {
2893
+ if (event && event.parentNode && event.parentNode.classList && !event.parentNode.classList.contains(this.focusClass)) {
2894
+ const elements = document.getElementsByClassName(this.focusClass);
2895
+ while (elements.length > 0) {
2896
+ elements[0].classList.remove(this.focusClass);
2897
+ }
2898
+ }
2899
+ }
2900
+ onKeydown(event) {
2901
+ const elements = document.getElementsByClassName(this.focusClass);
2902
+ if (event && elements && elements.length > 0) {
2903
+ //To do
2904
+ }
2905
+ }
2906
+ toggle() {
2907
+ if (this.opened) {
2908
+ this.vcRef.clear();
2909
+ if (this.othertRef) {
2910
+ this.vcRef.createEmbeddedView(this.othertRef, { $implicit: this.row });
2911
+ }
2912
+ }
2913
+ else {
2914
+ this.render();
2915
+ }
2916
+ this.opened = !this.opened;
2917
+ this.onRowExpandEvent.emit(this.opened);
2918
+ }
2919
+ render() {
2920
+ this.vcRef.clear();
2921
+ if (this.tRef && this.row) {
2922
+ this.vcRef.createEmbeddedView(this.tRef, { $implicit: this.row });
2923
+ if (this.othertRef) {
2924
+ this.vcRef.createEmbeddedView(this.othertRef, { $implicit: this.row });
2925
+ }
2926
+ }
2927
+ }
2928
+ }
2929
+ CdkDetailRowDirective.decorators = [
2930
+ { type: Directive, args: [{
2931
+ selector: '[cdkDetailRow]'
2932
+ },] }
2933
+ ];
2934
+ CdkDetailRowDirective.ctorParameters = () => [
2935
+ { type: ViewContainerRef },
2936
+ { type: ElementRef }
2937
+ ];
2938
+ CdkDetailRowDirective.propDecorators = {
2939
+ onRowExpandEvent: [{ type: Output }],
2940
+ expended: [{ type: HostBinding, args: ['class.expanded',] }],
2941
+ cdkDetailRow: [{ type: Input }],
2942
+ template: [{ type: Input, args: ['cdkDetailRowTpl',] }],
2943
+ otherTemplate: [{ type: Input, args: ['cdkotherTemplate',] }],
2944
+ onClick: [{ type: HostListener, args: ['click',] }],
2945
+ onClickItem: [{ type: HostListener, args: ['document:click', ['$event.target'],] }],
2946
+ onKeydown: [{ type: HostListener, args: ['document:keydown', ['$event.target'],] }]
2947
+ };
2948
+
2815
2949
  const ɵ0$2 = { appearance: 'fill' }, ɵ1 = { color: 'none' };
2816
2950
  class QmsAngularModule {
2817
2951
  }
@@ -2854,9 +2988,13 @@ QmsAngularModule.decorators = [
2854
2988
  QMSDrawerContentDirective,
2855
2989
  QMSDrawerHeaderActionDirective,
2856
2990
  QMSToolTipRendererDirective,
2857
- QMSTabLabelDirective,
2858
- QMSTabGroupDirective,
2859
- QMSTabGroupAdvancedDirective,
2991
+ QMSTableExpandDirective,
2992
+ QMSTableDirective,
2993
+ QMSRowDetailDirective,
2994
+ QMSTableChildrenDirective,
2995
+ QMSRowExpandDirective,
2996
+ CdkDetailRowDirective,
2997
+ QMSCollapseGroupDirective,
2860
2998
  DateFormatPipe,
2861
2999
  QMSChipInputDirective,
2862
3000
  QMSChipInputSelectFieldDirective,
@@ -2911,9 +3049,6 @@ QmsAngularModule.decorators = [
2911
3049
  QMSDrawerContentDirective,
2912
3050
  QMSDrawerHeaderActionDirective,
2913
3051
  QMSToolTipRendererDirective,
2914
- QMSTabLabelDirective,
2915
- QMSTabGroupDirective,
2916
- QMSTabGroupAdvancedDirective,
2917
3052
  DateFormatPipe,
2918
3053
  QMSChipInputDirective,
2919
3054
  QMSChipInputSelectFieldDirective,
@@ -2923,7 +3058,14 @@ QmsAngularModule.decorators = [
2923
3058
  ScrollToSelectedDirective,
2924
3059
  QMSTooltipImageDirective,
2925
3060
  SelectDialog,
2926
- QMSAppBar
3061
+ QMSAppBar,
3062
+ QMSTableExpandDirective,
3063
+ QMSTableDirective,
3064
+ QMSTableChildrenDirective,
3065
+ QMSRowDetailDirective,
3066
+ QMSRowExpandDirective,
3067
+ CdkDetailRowDirective,
3068
+ QMSCollapseGroupDirective
2927
3069
  ],
2928
3070
  providers: [
2929
3071
  { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: ɵ0$2 },
@@ -4250,6 +4392,9 @@ class TreeComponent {
4250
4392
  }
4251
4393
  checkDisabledList() {
4252
4394
  // Disable List
4395
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4396
+ this.treeControl.dataNodes[i].disabled = false;
4397
+ }
4253
4398
  if (this.disabledList.length) {
4254
4399
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4255
4400
  this.disabledList.forEach(x => {
@@ -4746,9 +4891,9 @@ class TreeComponent {
4746
4891
  TreeComponent.decorators = [
4747
4892
  { type: Component, args: [{
4748
4893
  selector: 'qms-tree',
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",
4894
+ 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\"\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\"\r\n class=\"mat-icon\"\r\n [src]=\"itemIconPath\"\r\n />\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.base64\"\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\"\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",
4750
4895
  encapsulation: ViewEncapsulation.None,
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}"]
4896
+ 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}.mat-checkbox.mat-checkbox-disabled.qms-group-options.mat-checkbox-checked .mat-checkbox-background{background-color:#e0e0e0!important}"]
4752
4897
  },] }
4753
4898
  ];
4754
4899
  TreeComponent.ctorParameters = () => [
@@ -6158,7 +6303,7 @@ class RelatedPopupComponent {
6158
6303
  RelatedPopupComponent.decorators = [
6159
6304
  { type: Component, args: [{
6160
6305
  selector: 'qms-related-popup',
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",
6306
+ 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 <ng-container *ngIf=\"treeData1.length > 0\">\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 </ng-container>\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",
6162
6307
  encapsulation: ViewEncapsulation.None,
6163
6308
  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}"]
6164
6309
  },] }
@@ -8364,7 +8509,7 @@ function getCKEditorConfiguration(itemToolbar) {
8364
8509
  },
8365
8510
  language: 'en',
8366
8511
  table: {
8367
- contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells']
8512
+ contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells', 'tableProperties', 'tableCellProperties']
8368
8513
  },
8369
8514
  image: {
8370
8515
  styles: ['alignLeft', 'alignCenter', 'alignRight'],
@@ -15649,7 +15794,7 @@ QmsAppBarComponent.decorators = [
15649
15794
  { type: Component, args: [{
15650
15795
  selector: 'app-qms-app-bar',
15651
15796
  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}"]
15797
+ 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 .bar-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:#fff}.qms-app-bar-container .pr-8{padding-right:8px}"]
15653
15798
  },] }
15654
15799
  ];
15655
15800
  QmsAppBarComponent.ctorParameters = () => [];
@@ -15696,16 +15841,6 @@ QmsAppBarModule.decorators = [
15696
15841
  },] }
15697
15842
  ];
15698
15843
 
15699
- class IconModel {
15700
- constructor(icon, tooltip, cssClass = '', svg = false, isShow = true) {
15701
- this.icon = icon;
15702
- this.tooltip = tooltip;
15703
- this.svg = svg;
15704
- this.cssClass = cssClass;
15705
- this.isShow = isShow;
15706
- }
15707
- }
15708
-
15709
15844
  class ConfirmDialog {
15710
15845
  constructor() {
15711
15846
  this.title = '';
@@ -15752,6 +15887,93 @@ QMSTooltipModule.decorators = [
15752
15887
  },] }
15753
15888
  ];
15754
15889
 
15890
+ class QMSTabGroupAdvancedDirective {
15891
+ constructor(ele) {
15892
+ this.ele = ele;
15893
+ }
15894
+ ngOnInit() {
15895
+ if (this.ele) {
15896
+ this.ele.nativeElement.classList.add('qms-tab-group-advanced');
15897
+ if (this.color) {
15898
+ this.ele.nativeElement.classList.add(this.color);
15899
+ }
15900
+ if (this.type === 'fixed') {
15901
+ this.ele.nativeElement.classList.add('qms-tab-group-advanced-fixed');
15902
+ }
15903
+ }
15904
+ }
15905
+ }
15906
+ QMSTabGroupAdvancedDirective.decorators = [
15907
+ { type: Directive, args: [{
15908
+ selector: '[qms-tab-group-advanced]',
15909
+ },] }
15910
+ ];
15911
+ QMSTabGroupAdvancedDirective.ctorParameters = () => [
15912
+ { type: ElementRef }
15913
+ ];
15914
+ QMSTabGroupAdvancedDirective.propDecorators = {
15915
+ color: [{ type: Input }],
15916
+ type: [{ type: Input }]
15917
+ };
15918
+
15919
+ class QMSTabGroupDirective {
15920
+ constructor(ele) {
15921
+ this.ele = ele;
15922
+ }
15923
+ ngOnInit() {
15924
+ if (this.ele) {
15925
+ this.ele.nativeElement.classList.add('qms-tab-group');
15926
+ }
15927
+ }
15928
+ }
15929
+ QMSTabGroupDirective.decorators = [
15930
+ { type: Directive, args: [{
15931
+ selector: '[qms-tab-group]',
15932
+ },] }
15933
+ ];
15934
+ QMSTabGroupDirective.ctorParameters = () => [
15935
+ { type: ElementRef }
15936
+ ];
15937
+
15938
+ class QMSTabLabelDirective {
15939
+ constructor(ele) {
15940
+ this.ele = ele;
15941
+ }
15942
+ ngOnInit() {
15943
+ if (this.ele) {
15944
+ this.ele.nativeElement.classList.add('qms-tab-label');
15945
+ }
15946
+ }
15947
+ }
15948
+ QMSTabLabelDirective.decorators = [
15949
+ { type: Directive, args: [{
15950
+ selector: '[qms-tab-label]',
15951
+ },] }
15952
+ ];
15953
+ QMSTabLabelDirective.ctorParameters = () => [
15954
+ { type: ElementRef }
15955
+ ];
15956
+
15957
+ class QMSTabModule {
15958
+ }
15959
+ QMSTabModule.decorators = [
15960
+ { type: NgModule, args: [{
15961
+ declarations: [
15962
+ QMSTabGroupAdvancedDirective,
15963
+ QMSTabGroupDirective,
15964
+ QMSTabLabelDirective
15965
+ ],
15966
+ imports: [
15967
+ CommonModule
15968
+ ],
15969
+ exports: [
15970
+ QMSTabGroupAdvancedDirective,
15971
+ QMSTabGroupDirective,
15972
+ QMSTabLabelDirective
15973
+ ]
15974
+ },] }
15975
+ ];
15976
+
15755
15977
  class QmsBannerContent {
15756
15978
  }
15757
15979
  var BannerType;
@@ -15924,7 +16146,7 @@ QmsStatusDropdownComponent.decorators = [
15924
16146
  { type: Component, args: [{
15925
16147
  selector: 'qms-status-dropdown',
15926
16148
  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}"]
16149
+ styles: [".qms-status-dropdown-container ::ng-deep .material-custom-multiselect{height:40px}.qms-status-dropdown-container ::ng-deep .material-custom-multiselect.mat-focused{outline:1px solid #1954a9;border-radius:2px}.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;letter-spacing:1px}.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}.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}.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
16150
  },] }
15929
16151
  ];
15930
16152
  QmsStatusDropdownComponent.propDecorators = {
@@ -16075,15 +16297,6 @@ var ModuleType$1;
16075
16297
  ModuleType[ModuleType["risk"] = 4] = "risk";
16076
16298
  })(ModuleType$1 || (ModuleType$1 = {}));
16077
16299
 
16078
- class StepModel {
16079
- constructor(id, name, disabled, selected) {
16080
- this.id = id;
16081
- this.disabled = disabled;
16082
- this.name = name;
16083
- this.selected = selected;
16084
- }
16085
- }
16086
-
16087
16300
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
16088
16301
  class QmsStepperComponent {
16089
16302
  constructor(changeDetector) {
@@ -16098,14 +16311,14 @@ class QmsStepperComponent {
16098
16311
  }
16099
16312
  changeStep(selectedIndex) {
16100
16313
  this.currentStep = selectedIndex;
16101
- this.selectionChangeEvent.emit(selectedIndex);
16314
+ this.selectionChangeEvent.emit(this.currentStep);
16102
16315
  }
16103
16316
  }
16104
16317
  QmsStepperComponent.decorators = [
16105
16318
  { type: Component, args: [{
16106
16319
  changeDetection: ChangeDetectionStrategy.OnPush,
16107
16320
  selector: 'app-qms-stepper',
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>",
16321
+ 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.selectedIndex)\" 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>",
16109
16322
  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}"]
16110
16323
  },] }
16111
16324
  ];
@@ -16260,6 +16473,7 @@ class SelectPopupData {
16260
16473
  constructor() {
16261
16474
  this.treeData = [];
16262
16475
  this.headerName = '';
16476
+ this.selectIncludeLabel = '';
16263
16477
  this.selectedNode = [];
16264
16478
  this.disabledList = [];
16265
16479
  }
@@ -16298,6 +16512,7 @@ class SelectIncludeChildrenPopUpComponent {
16298
16512
  this.data = data;
16299
16513
  this.ngUnsubscribe = new Subject();
16300
16514
  this.headerName = '';
16515
+ this.selectIncludeLabel = '';
16301
16516
  this.treeData = [];
16302
16517
  this.checkedNodeList = [];
16303
16518
  this.selectedOptions = [];
@@ -16331,6 +16546,7 @@ class SelectIncludeChildrenPopUpComponent {
16331
16546
  this.checkedNodeList = (data === null || data === void 0 ? void 0 : data.selectedList) || [];
16332
16547
  this.includeChildren = data === null || data === void 0 ? void 0 : data.includeChildren;
16333
16548
  this.editItem = data.editItem;
16549
+ this.selectIncludeLabel = data.selectIncludeLabel;
16334
16550
  appIconService.registerProcessIcon(iconRegistry, domSanitizer);
16335
16551
  appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);
16336
16552
  appIconService.registerDocumentIcon(iconRegistry, domSanitizer);
@@ -16407,19 +16623,17 @@ class SelectIncludeChildrenPopUpComponent {
16407
16623
  removeCheckedNodeList(item) {
16408
16624
  const index = this.checkedNodeList.findIndex(x => (x.id.toLowerCase() === item.id.toLowerCase() && x.parentId.toLowerCase() === item.parentId.toLowerCase()));
16409
16625
  if (index >= 0) {
16410
- let position = this.selectedOptions.findIndex(x => x.id === item.id && x.parentId === item.parentId);
16411
- if (position >= 0) {
16412
- this.selectedOptions.splice(position, 1);
16413
- }
16414
16626
  if (this.checkedNodeList[index].type === SelectOptionTypes.IncludeChildren) {
16415
16627
  this.removeIncludeChildren(item);
16416
- }
16417
- if (this.includeChildren) {
16418
16628
  this.refactorSelectList(item);
16419
16629
  }
16420
16630
  else {
16421
- this.checkedNodeList.splice(index, 1);
16631
+ let position = this.selectedOptions.findIndex(x => x.id === item.id && x.parentId === item.parentId);
16632
+ if (position >= 0) {
16633
+ this.selectedOptions.splice(position, 1);
16634
+ }
16422
16635
  }
16636
+ this.checkedNodeList.splice(index, 1);
16423
16637
  this.enableSelectedNode({ id: item.id, parentId: item.parentId, itemName: item.name, type: SelectOptionTypes.IncludeChildren });
16424
16638
  this.selectedData = this.mapSelectOptionToTreeNode(this.selectedOptions);
16425
16639
  }
@@ -16476,11 +16690,6 @@ class SelectIncludeChildrenPopUpComponent {
16476
16690
  getImagePath(item) {
16477
16691
  return this.domSanitizer.bypassSecurityTrustResourceUrl(item.itemIconBase64);
16478
16692
  }
16479
- isMatchTrue(arr, arr2) {
16480
- return arr.every((i) => {
16481
- return arr2.includes(i);
16482
- });
16483
- }
16484
16693
  setResultHeight(arr) {
16485
16694
  let maxHeight = 484;
16486
16695
  const popup_content = document.getElementsByClassName('qmslib_related_popup_content')[0];
@@ -16540,12 +16749,14 @@ class SelectIncludeChildrenPopUpComponent {
16540
16749
  listChildren = this.getAllChildrenNodeRecursive(listChildren, item);
16541
16750
  const itemIndex = this.selectedOptions.findIndex(node => node.id === item.id && node.parentId === item.parentId);
16542
16751
  if (itemIndex >= 0) {
16752
+ this.enableSelectedNode(this.selectedOptions[itemIndex]);
16543
16753
  this.selectedOptions.splice(itemIndex, 1);
16544
16754
  }
16545
16755
  listChildren.forEach(x => {
16546
16756
  const index = this.selectedOptions.findIndex(node => node.id === x.id && node.parentId === x.parentId);
16547
16757
  if (index >= 0) {
16548
16758
  this.selectedOptions.splice(index, 1);
16759
+ this.disabledList = this.disabledList.filter(node => !(x.id === node.id && x.parentId === node.parentId));
16549
16760
  }
16550
16761
  });
16551
16762
  }
@@ -16632,30 +16843,17 @@ class SelectIncludeChildrenPopUpComponent {
16632
16843
  disabled: false,
16633
16844
  });
16634
16845
  }
16635
- else {
16636
- // this.selectRelated(node);
16637
- }
16638
16846
  }
16639
16847
  isNodeSelected(node) {
16640
16848
  return this.checkedNodeList.filter(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase())).length > 0;
16641
16849
  }
16642
16850
  getChildrenOfFolder(node) {
16643
- // if (this.splitView) {
16644
- // const parentTexts = this.elem.nativeElement.querySelectorAll('.text-node-parent');
16645
- // [].forEach.call(parentTexts, (el) => {
16646
- // el.classList.remove('active-item');
16647
- // });
16648
- // const itemElement = document.querySelectorAll(`#_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`);
16649
- // [].forEach.call(itemElement, (el) => {
16650
- // el.classList.add('active-item');
16651
- // });
16652
16851
  let item = new SelectOption();
16653
16852
  item.id = node.id;
16654
16853
  item.itemName = node.name;
16655
16854
  item.levelType = node.levelType;
16656
16855
  this.selectedFolder = node;
16657
16856
  this.onExpandFolder.emit(item);
16658
- // }
16659
16857
  }
16660
16858
  selectNodeTreeEvent(node) {
16661
16859
  let position = this.selectedOptions.findIndex(x => x.id === node.id && x.parentId === node.parentId);
@@ -16720,14 +16918,15 @@ class SelectIncludeChildrenPopUpComponent {
16720
16918
  }
16721
16919
  setValue(e) {
16722
16920
  this.includeChildren = !!e.checked;
16723
- if (!this.includeChildren) {
16724
- this.checkedNodeList.forEach(node => {
16725
- this.disableSelectedNode(node);
16726
- });
16727
- }
16728
- else {
16729
- this.disabledList = this.orginalDisableList;
16730
- }
16921
+ this.disabledList = $.extend(true, [], this.orginalDisableList || []);
16922
+ this.checkedNodeList.forEach(node => {
16923
+ if (!this.includeChildren) {
16924
+ this.disableSelectIncludeNode(node);
16925
+ }
16926
+ else {
16927
+ this.disableSelectSingleNode(node);
16928
+ }
16929
+ });
16731
16930
  }
16732
16931
  mapSelectOptionToTreeNode(list) {
16733
16932
  return list.map(x => {
@@ -16761,6 +16960,7 @@ class SelectIncludeChildrenPopUpComponent {
16761
16960
  if (selectedParentList.length > 0) {
16762
16961
  const highestSelectedNode = selectedParentList[selectedParentList.length - 1];
16763
16962
  this.combineNodes(highestSelectedNode);
16963
+ this.disabledList = this.disabledList.filter(x => !(x.id === highestSelectedNode.id && x.parentId === highestSelectedNode.parentId));
16764
16964
  }
16765
16965
  else {
16766
16966
  this.combineNodes({
@@ -16769,6 +16969,7 @@ class SelectIncludeChildrenPopUpComponent {
16769
16969
  type: SelectOptionTypes.IncludeChildren,
16770
16970
  parentId: node.parentId
16771
16971
  });
16972
+ this.disabledList = this.disabledList.filter(x => !(x.id === node.id && x.parentId === node.parentId));
16772
16973
  }
16773
16974
  }
16774
16975
  else {
@@ -16800,10 +17001,11 @@ class SelectIncludeChildrenPopUpComponent {
16800
17001
  }
16801
17002
  const selectIndex = this.selectedOptions.findIndex(node => node.id === child.id && node.parentId === child.parentId);
16802
17003
  if (selectIndex >= 0) {
17004
+ this.disabledList = this.disabledList.filter(node => !(child.id === node.id && child.parentId === node.parentId));
16803
17005
  nodeList.push(child);
16804
17006
  }
16805
17007
  });
16806
- if (nodeList.length > 0 || children.length === 0) {
17008
+ if (selectedNodeIndex >= 0 || nodeList.length > 0 || children.length === 0) {
16807
17009
  if (selectedNodeIndex < 0) {
16808
17010
  this.checkedNodeList.push({
16809
17011
  id: root.id,
@@ -16836,17 +17038,19 @@ class SelectIncludeChildrenPopUpComponent {
16836
17038
  }
16837
17039
  return listParent;
16838
17040
  }
16839
- disableSelectedNode(node) {
17041
+ disableSelectIncludeNode(node) {
16840
17042
  if (node.type === SelectOptionTypes.IncludeChildren) {
16841
17043
  let children = [];
16842
- children = this.getAllChildrenNodeRecursive(children, {
16843
- id: node.id,
16844
- name: node.itemName,
16845
- parentId: node.parentId,
16846
- level: 0,
16847
- expandable: true,
16848
- hasChild: true,
16849
- disabled: false
17044
+ children = node.children.map(x => {
17045
+ return {
17046
+ id: x.id,
17047
+ name: x.itemName,
17048
+ parentId: node.id,
17049
+ level: 0,
17050
+ expandable: true,
17051
+ hasChild: true,
17052
+ disabled: false
17053
+ };
16850
17054
  });
16851
17055
  let disableNodes = [];
16852
17056
  const index = this.disabledList.findIndex(x => x.id === node.id && x.parentId === node.parentId);
@@ -16862,6 +17066,16 @@ class SelectIncludeChildrenPopUpComponent {
16862
17066
  this.disabledList = [...this.disabledList, ...disableNodes];
16863
17067
  }
16864
17068
  }
17069
+ disableSelectSingleNode(node) {
17070
+ if (node.type === SelectOptionTypes.SelectOne) {
17071
+ let disableNodes = [];
17072
+ const index = this.disabledList.findIndex(x => x.id === node.id && x.parentId === node.parentId);
17073
+ if (index < 0) {
17074
+ disableNodes.push(node);
17075
+ }
17076
+ this.disabledList = [...this.disabledList, ...disableNodes];
17077
+ }
17078
+ }
16865
17079
  enableSelectedNode(node) {
16866
17080
  let children = [];
16867
17081
  children = this.getAllChildrenNodeRecursive(children, {
@@ -16880,7 +17094,7 @@ class SelectIncludeChildrenPopUpComponent {
16880
17094
  SelectIncludeChildrenPopUpComponent.decorators = [
16881
17095
  { type: Component, args: [{
16882
17096
  selector: 'qms-select-include-children-popup',
16883
- 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>{{ headerName | uppercase }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n <div class=\"select__toggle-include\">\r\n <mat-slide-toggle\r\n [checked]=\"includeChildren\"\r\n (change)=\"setValue($event)\"\r\n color=\"default\"\r\n qms-group-options\r\n >\r\n <span class=\"text-label\">Select label</span>\r\n </mat-slide-toggle>\r\n </div>\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\">\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of filteredOptions\"\r\n [value]=\"option\"\r\n (click)=\"selectSearchOption(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n *ngIf=\"getItemIconType(option) === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n type=\"image-square\"\r\n >\r\n {{ option.itemIcon }}\r\n </mat-icon>\r\n\r\n <mat-icon\r\n leading-icon\r\n *ngIf=\"getItemIconType(option) === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n type=\"image-square\"\r\n [svgIcon]=\"option.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n\r\n <img\r\n leading-icon\r\n *ngIf=\"getItemIconType(option) === itemIconType.path\"\r\n class=\"mat-icon\"\r\n [src]=\"option.itemIconPath\"\r\n type=\"image-square\"\r\n />\r\n\r\n <img\r\n leading-icon\r\n *ngIf=\"getItemIconType(option) === itemIconType.base64\"\r\n class=\"mat-icon image-base64\"\r\n [src]=\"getImagePath(option)\"\r\n type=\"image-square\"\r\n />\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 </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 qmslib_related_popup_content col-12\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\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 (checkBoxEvent)=\"getCommonCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n ></qms-tree>\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 class=\"select__include-children__count\"\r\n *ngIf=\"item.noSelectedChildren > 0\"\r\n >\r\n {{ getItemSelectedChildrenRatio(item) }}\r\n </span>\r\n </span>\r\n\r\n <mat-icon (click)=\"removeCheckedNodeList(item)\">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</div>\r\n",
17097
+ 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>{{ headerName | uppercase }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n <div class=\"select__toggle-include\">\r\n <mat-slide-toggle\r\n [checked]=\"includeChildren\"\r\n (change)=\"setValue($event)\"\r\n color=\"default\"\r\n qms-group-options\r\n >\r\n <span class=\"text-label\">{{ selectIncludeLabel }}</span>\r\n </mat-slide-toggle>\r\n </div>\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\">\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of filteredOptions\"\r\n [value]=\"option\"\r\n (click)=\"selectSearchOption(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n *ngIf=\"getItemIconType(option) === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n type=\"image-square\"\r\n >\r\n {{ option.itemIcon }}\r\n </mat-icon>\r\n\r\n <mat-icon\r\n leading-icon\r\n *ngIf=\"getItemIconType(option) === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n type=\"image-square\"\r\n [svgIcon]=\"option.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n\r\n <img\r\n leading-icon\r\n *ngIf=\"getItemIconType(option) === itemIconType.path\"\r\n class=\"mat-icon\"\r\n [src]=\"option.itemIconPath\"\r\n type=\"image-square\"\r\n />\r\n\r\n <img\r\n leading-icon\r\n *ngIf=\"getItemIconType(option) === itemIconType.base64\"\r\n class=\"mat-icon image-base64\"\r\n [src]=\"getImagePath(option)\"\r\n type=\"image-square\"\r\n />\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 </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 qmslib_related_popup_content col-12\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\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 (checkBoxEvent)=\"getCommonCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n ></qms-tree>\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 class=\"select__include-children__count\"\r\n *ngIf=\"item.noSelectedChildren > 0\"\r\n >\r\n {{ getItemSelectedChildrenRatio(item) }}\r\n </span>\r\n </span>\r\n\r\n <mat-icon (click)=\"removeCheckedNodeList(item)\">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</div>\r\n",
16884
17098
  encapsulation: ViewEncapsulation.None,
16885
17099
  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 .select__toggle-include{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}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name .select__include-children__count{font-size:.75rem;color:rgba(0,0,0,.38)}.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}"]
16886
17100
  },] }
@@ -16969,8 +17183,8 @@ class QmsBadgesComponent {
16969
17183
  QmsBadgesComponent.decorators = [
16970
17184
  { type: Component, args: [{
16971
17185
  selector: 'qms-badges',
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}"]
17186
+ 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\">{{\r\n icon\r\n }}</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-white\"\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-12\"\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 text-color-white\" *ngIf=\"icon && !fontIconGG\">{{\r\n icon\r\n }}</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=\"text-color-white {{ fontIconGG }}\">\r\n {{ icon }}</span\r\n >\r\n</div>\r\n",
17187
+ 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:#f4e9e6}.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-orange,.badges-container-icon-red{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:#74280b}.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-white{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 6px;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}"]
16974
17188
  },] }
16975
17189
  ];
16976
17190
  QmsBadgesComponent.propDecorators = {
@@ -19235,6 +19449,373 @@ QMSSelectProcessDocumentModule.decorators = [
19235
19449
  class SelectedProcessDocumentItem {
19236
19450
  }
19237
19451
 
19452
+ class QMSNavigationDrawerComponent {
19453
+ constructor() {
19454
+ this.treeData = [];
19455
+ this.addNodeEvent = new EventEmitter();
19456
+ this.addFavoriteEvent = new EventEmitter();
19457
+ this.drogLocationEvent = new EventEmitter();
19458
+ this.showAddIcon = true;
19459
+ this.openNodes = [];
19460
+ this.dragDropListDisabled = false;
19461
+ this.nodesExpand = new EventEmitter();
19462
+ this.onClickNodeEvent = new EventEmitter();
19463
+ this.addFavoriteTooltip = 'Legg til favoritt';
19464
+ this.deleteFavoriteTooltip = 'Slett favoritt';
19465
+ this.addNodeTooltip = 'Legg til lokasjon';
19466
+ this.expandedNodeSet = new Set();
19467
+ this.dragging = false;
19468
+ this.expandDelay = 1000;
19469
+ this.isHover = false;
19470
+ this.treeControl = new FlatTreeControl(node => node.level, node => node.expandable);
19471
+ this.treeFlattener = new MatTreeFlattener(this._transformer, node => node.level, node => node.expandable, node => node.children);
19472
+ this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
19473
+ this.hoverNode = {};
19474
+ this.expandingNodes = [];
19475
+ this.hasChild = (_, node) => node.expandable;
19476
+ this.dataSource.data = this.treeData;
19477
+ }
19478
+ _transformer(node, level) {
19479
+ return {
19480
+ expandable: !!node.children && node.children.length > 0,
19481
+ name: node.name,
19482
+ level,
19483
+ id: node.id,
19484
+ isReadOnly: node.isReadOnly,
19485
+ favorite: node.favorite,
19486
+ disabled: node.disabled
19487
+ };
19488
+ }
19489
+ ngOnInit() {
19490
+ this.openNodes.forEach(item => {
19491
+ this.treeControl.expand(this.treeControl.dataNodes.find(p => p.id.toString() === item));
19492
+ });
19493
+ }
19494
+ ngOnChanges(changes) {
19495
+ this.dataSource.data = this.treeData;
19496
+ if (this.filterText) {
19497
+ this.expandNodeSearched(this.treeData, this.filterText);
19498
+ }
19499
+ if (changes.openNodes) {
19500
+ this.openNodes.forEach(item => {
19501
+ this.treeControl.expand(this.treeControl.dataNodes.find(p => p.id.toString() === item));
19502
+ });
19503
+ }
19504
+ }
19505
+ expandNodeSearched(nodesOrigin, txtSearch) {
19506
+ nodesOrigin.forEach(item => {
19507
+ if (!item.name.toLocaleLowerCase().includes(txtSearch.toLocaleLowerCase())) {
19508
+ this.treeControl.expand(this.treeControl.dataNodes.find(p => p.id.toString() === item.id));
19509
+ if (item.children.length > 0) {
19510
+ this.expandNodeSearched(item.children, txtSearch);
19511
+ }
19512
+ }
19513
+ });
19514
+ }
19515
+ onClickNode(nodeId) {
19516
+ this.onClickNodeEvent.emit(nodeId);
19517
+ }
19518
+ onOver(node) {
19519
+ this.hoverNode = node;
19520
+ }
19521
+ addNewNode(nodeId, event) {
19522
+ event.stopPropagation();
19523
+ event.preventDefault();
19524
+ this.addNodeEvent.emit(nodeId);
19525
+ }
19526
+ addFavoriteNode(nodeId, event) {
19527
+ event.stopPropagation();
19528
+ event.preventDefault();
19529
+ this.addFavoriteEvent.emit(nodeId);
19530
+ }
19531
+ ngOnDestroy() {
19532
+ if (this.activeNodeLocation) {
19533
+ this.activeNodeLocation.unsubscribe();
19534
+ }
19535
+ }
19536
+ /**
19537
+ * This constructs an array of nodes that matches the DOM,
19538
+ * and calls rememberExpandedTreeNodes to persist expand state
19539
+ */
19540
+ visibleNodes() {
19541
+ this.rememberExpandedTreeNodes(this.treeControl, this.expandedNodeSet);
19542
+ const result = [];
19543
+ function addExpandedChildren(node, expanded) {
19544
+ result.push(node);
19545
+ if (expanded.has(node.id)) {
19546
+ node.children.map(child => addExpandedChildren(child, expanded));
19547
+ }
19548
+ }
19549
+ this.dataSource.data.forEach(node => {
19550
+ addExpandedChildren(node, this.expandedNodeSet);
19551
+ });
19552
+ return result;
19553
+ }
19554
+ /**
19555
+ * Handle the drop - here we rearrange the data based on the drop event,
19556
+ * then rebuild the tree.
19557
+ * */
19558
+ drop(event) {
19559
+ // Save data for backup
19560
+ const node = event.item.data;
19561
+ const backupChangedNode = JSON.parse(JSON.stringify(node));
19562
+ const backupData = JSON.parse(JSON.stringify(this.dataSource.data));
19563
+ // ignore drops outside of the tree
19564
+ if (!event.isPointerOverContainer) {
19565
+ return;
19566
+ }
19567
+ // construct a list of visible nodes, this will match the DOM.
19568
+ // the cdkDragDrop event.currentIndex jives with visible nodes.
19569
+ // it calls rememberExpandedTreeNodes to persist expand state
19570
+ const visibleNodes = this.visibleNodes();
19571
+ // deep clone the data source so we can mutate it
19572
+ const changedData = JSON.parse(JSON.stringify(this.dataSource.data));
19573
+ // recursive find function to find siblings of node
19574
+ function findNodeSiblings(arr, id) {
19575
+ let result, subResult;
19576
+ arr.forEach(item => {
19577
+ if (item.id === id) {
19578
+ result = arr;
19579
+ }
19580
+ else if (item.children) {
19581
+ subResult = findNodeSiblings(item.children, id);
19582
+ if (subResult) {
19583
+ result = subResult;
19584
+ }
19585
+ }
19586
+ });
19587
+ return result;
19588
+ }
19589
+ // remove the node from its old place
19590
+ const siblings = findNodeSiblings(changedData, node.id);
19591
+ const siblingIndex = siblings.findIndex(n => n.id === node.id);
19592
+ // const nodeToInsert: TreeNode = siblings.splice(siblingIndex, 1)[0];
19593
+ const nodeToInsert = siblings.splice(siblingIndex, 1)[0];
19594
+ // determine where to insert the node
19595
+ const nodeAtDest = visibleNodes[event.currentIndex];
19596
+ if (nodeAtDest.id === nodeToInsert.id) {
19597
+ return;
19598
+ }
19599
+ // determine drop index relative to destination array
19600
+ let relativeIndex = event.currentIndex; // default if no parent
19601
+ const nodeAtDestFlatNode = this.treeControl.dataNodes.find(n => nodeAtDest.id === n.id);
19602
+ const parent = this.getParentNode(nodeAtDestFlatNode);
19603
+ if (parent) {
19604
+ const parentIndex = visibleNodes.findIndex(n => n.id === parent.id) + 1;
19605
+ relativeIndex = event.currentIndex - parentIndex;
19606
+ // update parentId for nodeToInsert
19607
+ nodeToInsert.parentId = parent.id;
19608
+ }
19609
+ else {
19610
+ nodeToInsert.parentId = guidHelper.empty;
19611
+ }
19612
+ // update new order for nodeToInsert
19613
+ nodeToInsert.order = relativeIndex;
19614
+ // insert node
19615
+ const newSiblings = findNodeSiblings(changedData, nodeAtDest.id);
19616
+ if (!newSiblings) {
19617
+ return;
19618
+ }
19619
+ newSiblings.splice(relativeIndex, 0, nodeToInsert);
19620
+ // rebuild tree with mutated data
19621
+ this.rebuildTreeForData(changedData);
19622
+ // update New Location Order for new insert node
19623
+ this.updateNewOrderForNodeSiblings(newSiblings);
19624
+ this.drogLocationEvent.emit({
19625
+ newSiblings: newSiblings,
19626
+ changedNode: backupChangedNode,
19627
+ oldDataSource: backupData
19628
+ });
19629
+ }
19630
+ updateNewOrderForNodeSiblings(newSiblings) {
19631
+ let newOrder = 0;
19632
+ newSiblings.forEach(item => {
19633
+ item.order = newOrder;
19634
+ newOrder = newOrder + 1;
19635
+ });
19636
+ }
19637
+ /**
19638
+ * Experimental - opening tree nodes as you drag over them
19639
+ */
19640
+ dragStart() {
19641
+ this.dragging = true;
19642
+ }
19643
+ dragEnd() {
19644
+ this.dragging = false;
19645
+ }
19646
+ dragHover(node) {
19647
+ this.isHover = true;
19648
+ if (this.dragging) {
19649
+ clearTimeout(this.expandTimeout);
19650
+ this.expandTimeout = setTimeout(() => {
19651
+ this.treeControl.expand(node);
19652
+ }, this.expandDelay);
19653
+ }
19654
+ }
19655
+ dragHoverEnd() {
19656
+ this.isHover = false;
19657
+ if (this.dragging) {
19658
+ clearTimeout(this.expandTimeout);
19659
+ }
19660
+ }
19661
+ /**
19662
+ * The following methods are for persisting the tree expand state
19663
+ * after being rebuilt
19664
+ */
19665
+ rebuildTreeForData(data) {
19666
+ this.rememberExpandedTreeNodes(this.treeControl, this.expandedNodeSet);
19667
+ this.treeData = data;
19668
+ this.dataSource.data = data;
19669
+ this.forgetMissingExpandedNodes(this.treeControl, this.expandedNodeSet);
19670
+ this.expandNodesById(this.treeControl.dataNodes, Array.from(this.expandedNodeSet));
19671
+ }
19672
+ rememberExpandedTreeNodes(treeControl, expandedNodeSet) {
19673
+ if (treeControl.dataNodes) {
19674
+ treeControl.dataNodes.forEach((node) => {
19675
+ if (treeControl.isExpandable(node) && treeControl.isExpanded(node)) {
19676
+ // capture latest expanded state
19677
+ expandedNodeSet.add(node.id.toString());
19678
+ }
19679
+ });
19680
+ }
19681
+ }
19682
+ forgetMissingExpandedNodes(treeControl, expandedNodeSet) {
19683
+ if (treeControl.dataNodes) {
19684
+ expandedNodeSet.forEach((nodeId) => {
19685
+ // maintain expanded node state
19686
+ if (!treeControl.dataNodes.find((n) => n.id.toString() === nodeId)) {
19687
+ // if the tree doesn't have the previous node, remove it from the expanded list
19688
+ expandedNodeSet.delete(nodeId);
19689
+ }
19690
+ });
19691
+ }
19692
+ }
19693
+ expandNodesById(flatNodes, ids) {
19694
+ if (!flatNodes || flatNodes.length === 0) {
19695
+ return;
19696
+ }
19697
+ const idSet = new Set(ids);
19698
+ return flatNodes.forEach((node) => {
19699
+ if (idSet.has(node.id.toString())) {
19700
+ this.treeControl.expand(node);
19701
+ this.expandingNodes.push(node);
19702
+ let parent = this.getParentNode(node);
19703
+ while (parent) {
19704
+ this.treeControl.expand(parent);
19705
+ this.expandingNodes.push(parent);
19706
+ parent = this.getParentNode(parent);
19707
+ }
19708
+ }
19709
+ });
19710
+ }
19711
+ getParentNode(node) {
19712
+ const currentLevel = node.level;
19713
+ if (currentLevel < 1) {
19714
+ return null;
19715
+ }
19716
+ const startIndex = this.treeControl.dataNodes.indexOf(node) - 1;
19717
+ for (let i = startIndex; i >= 0; i--) {
19718
+ const currentNode = this.treeControl.dataNodes[i];
19719
+ if (currentNode.level < currentLevel) {
19720
+ return currentNode;
19721
+ }
19722
+ }
19723
+ return null;
19724
+ }
19725
+ onKeyDownNode(event, node) {
19726
+ if (event.key == 'Enter') {
19727
+ this.onClickToggleNode(node);
19728
+ }
19729
+ }
19730
+ onClickToggleNode(node) {
19731
+ if (this.treeControl.isExpanded(node)) {
19732
+ this.treeControl.expand(node);
19733
+ this._addExpandingNode(node);
19734
+ }
19735
+ else {
19736
+ this.treeControl.collapse(node);
19737
+ this._removeExpandingNodes(node.id);
19738
+ }
19739
+ this.nodesExpand.emit({ node, isExpand: this.treeControl.isExpanded(node) });
19740
+ }
19741
+ setHoverFavorite(id) {
19742
+ this.hoverFavoriteNodeId = id;
19743
+ }
19744
+ expandNodes() {
19745
+ this._expandNodesLoop(this.treeData);
19746
+ }
19747
+ _expandNodesLoop(data) {
19748
+ data.forEach(node => {
19749
+ const expandingNode = this.expandingNodes.some(x => x.id === node.id);
19750
+ if (expandingNode) {
19751
+ this.onClickToggleNode(expandingNode);
19752
+ }
19753
+ data.forEach(item => {
19754
+ if (Array.isArray(item.children)) {
19755
+ this._expandNodesLoop(item.children);
19756
+ }
19757
+ });
19758
+ });
19759
+ }
19760
+ _addExpandingNode(node) {
19761
+ if (!this.expandingNodes.some(x => x.id === node.id)) {
19762
+ this.expandingNodes.push(node);
19763
+ }
19764
+ }
19765
+ _removeExpandingNodes(nodeId) {
19766
+ this.expandingNodes = this.expandingNodes.filter(x => x.id !== nodeId);
19767
+ }
19768
+ }
19769
+ QMSNavigationDrawerComponent.decorators = [
19770
+ { type: Component, args: [{
19771
+ selector: 'app-qms-navigation-drawer',
19772
+ template: "<mat-tree class=\"qms-navigation-drawer-container\" [dataSource]=\"dataSource\" [treeControl]=\"treeControl\" cdkDropList\r\n (cdkDropListDropped)=\"drop($event)\" [cdkDropListDisabled]=\"dragDropListDisabled\">\r\n <!-- This is the tree node template for leaf nodes -->\r\n <mat-tree-node *matTreeNodeDef=\"let node\" routerLinkActive=\"active\" (mouseover)=\"onOver(node)\" matTreeNodePadding\r\n matTreeNodePaddingIndent=\"34\" cdkDrag [cdkDragData]=\"node\" (mouseenter)=\"dragHover(node)\"\r\n (mouseleave)=\"dragHoverEnd()\" (cdkDragStarted)=\"dragStart()\" (cdkDragReleased)=\"dragEnd()\"\r\n [ngClass]=\"{'expand-node' : treeControl.isExpanded(node), 'collapse-node': !treeControl.isExpanded(node)}\">\r\n <div *ngIf=\"!node.isReadOnly\" (click)=\"onClickNode(node.id)\"\r\n class=\"tree-content\">\r\n <div class=\"span-text\" mode=\"dark\" position=\"below\">{{ node.name }}</div>\r\n <button tabindex=\"-1\" class=\"button-icon collapse-expand-icon space-icon\" mat-icon-button>\r\n <img class=\"img-icon\" [src]=\"faIconPath\" alt=\"\" />\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\"\r\n *ngIf=\"showFavoriteIcon && (node.id === hoverNode.id || node.favorite)\"\r\n (click)=\"addFavoriteNode(node.id, $event)\" (mouseenter)=\"setHoverFavorite(node.id)\"\r\n (mouseleave)=\"setHoverFavorite(null)\" [ngClass]=\"{'btn-favorite': (node.id === hoverNode.id && showAddIcon)}\"\r\n matTooltip=\"{{!node.favorite ? addFavoriteTooltip : deleteFavoriteTooltip}}\" mode=\"dark\" position=\"below\"\r\n mat-icon-button>\r\n <mat-icon class=\"mat-icon-rtl-mirror blur-icon\" [class.favorite]=\"true\">\r\n {{node.favorite && node.id !== hoverFavoriteNodeId && !favoriteMode\r\n ? 'star_rate_outline' :\r\n (hoverFavoriteNodeId !== null || (isHover && node.id === hoverNode.id)) && !favoriteMode ? 'star_border' : ''\r\n }}\r\n {{node.id === hoverNode.id && favoriteMode && isHover ? 'close' : ''}}\r\n </mat-icon>\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\" *ngIf=\"node.id === hoverNode.id && showAddIcon\"\r\n matTooltip=\"{{addNodeTooltip}}\" (click)=\"addNewNode(node.id, $event)\" mode=\"dark\" position=\"below\"\r\n mat-icon-button>\r\n <mat-icon class=\"mat-icon-rtl-mirror add-icon\">\r\n add\r\n </mat-icon>\r\n </button>\r\n </div>\r\n </mat-tree-node>\r\n <!-- This is the tree node template for expandable nodes -->\r\n <mat-tree-node *matTreeNodeDef=\"let node;when: hasChild\" routerLinkActive=\"active\" (mouseover)=\"onOver(node)\"\r\n matTreeNodePadding matTreeNodePaddingIndent=\"34\" cdkDrag [cdkDragData]=\"node\" (mouseenter)=\"dragHover(node)\"\r\n (mouseleave)=\"dragHoverEnd()\" (cdkDragStarted)=\"dragStart()\" (cdkDragReleased)=\"dragEnd()\" [ngClass]=\"\r\n {'expand-node' : treeControl.isExpanded(node), 'collapse-node': !treeControl.isExpanded(node)}\">\r\n <div *ngIf=\"!node.isReadOnly\" (click)=\"onClickNode(node.id)\"\r\n class=\"tree-content\" (keydown)=\"onKeyDownNode($event, node)\">\r\n <span class=\"span-text\" mode=\"dark\" position=\"below\">{{ node.name }}</span>\r\n <button tabindex=\"-1\" class=\"button-icon space-icon collapse-expand-icon\" mat-icon-button matTreeNodeToggle\r\n [attr.aria-label]=\"'toggle ' + node.name\" (click)=\"onClickToggleNode(node)\">\r\n <mat-icon class=\"mat-icon-rtl-mirror arrow-icon left-icon\">\r\n {{treeControl.isExpanded(node) ? 'expand_less' : 'expand_more'}}\r\n </mat-icon>\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\"\r\n matTooltip=\"{{!node.favorite ? addFavoriteTooltip : deleteFavoriteTooltip}}\"\r\n *ngIf=\"showFavoriteIcon && (node.id === hoverNode.id || node.favorite)\"\r\n (click)=\"addFavoriteNode(node.id, $event)\"\r\n [ngClass]=\"{'btn-favorite': (node.id === hoverNode.id && showAddIcon)}\" (mouseenter)=\"setHoverFavorite(node.id)\"\r\n (mouseleave)=\"setHoverFavorite(null)\" mode=\"dark\" position=\"below\" mat-icon-button>\r\n <mat-icon class=\"mat-icon-rtl-mirror blur-icon\" [class.favorite]=\"true\">\r\n {{node.favorite && node.id !== hoverFavoriteNodeId && !favoriteMode\r\n ? 'star_rate_outline' :\r\n (hoverFavoriteNodeId !== null || (isHover && node.id === hoverNode.id)) && !favoriteMode ? 'star_border' : ''\r\n }}\r\n {{node.id === hoverNode.id && favoriteMode && isHover ? 'close' : ''}}\r\n </mat-icon>\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\" *ngIf=\"node.id === hoverNode.id && showAddIcon\"\r\n matTooltip=\"{{addNodeTooltip}}\" (click)=\"addNewNode(node.id, $event)\" mat-icon-button>\r\n <mat-icon class=\"mat-icon-rtl-mirror add-icon\">\r\n add\r\n </mat-icon>\r\n </button>\r\n </div>\r\n </mat-tree-node>\r\n</mat-tree>",
19773
+ styles: ["::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node{width:272px!important;height:48px!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node{min-height:34px;margin:16px 0;padding-right:34px}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content{width:100%;position:relative;cursor:pointer}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .arrow-icon{color:#00324e}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .collapse-expand-icon{color:#3e57b7}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .collapse-expand-icon:hover{background:rgba(0,0,0,.08)}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .add-icon{color:#3e57b7}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .add-icon:hover{background:rgba(0,0,0,.08)}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .left-icon{color:#919191}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.expand-node{padding-left:0;position:static;height:32px;left:calc(50% - 216px/2);top:0;font-family:Open Sans;font-style:normal;font-weight:400;font-size:14px;line-height:19px;display:flex;align-items:center;color:#1954a9;flex:none;order:0;align-self:stretch;flex-grow:1}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.expand-node ::ng-deep mat-icon{color:#1954a9!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.collapse-node{position:static;height:32px;left:calc(50% - 176px/2);top:0;font-family:Open Sans;font-style:normal;font-weight:400;font-size:14px;line-height:19px;display:flex;align-items:center;color:#323232;flex:none;order:0;align-self:stretch;flex-grow:1}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .button-icon{width:30px;height:30px;line-height:30px!important;border-radius:50%}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .button-icon:hover{border-radius:50%}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .img-icon{max-height:25px;max-width:25px}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .add-icon{position:absolute;top:-2px;right:-34px}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .add-icon mat-icon{top:3px;right:3px;border-radius:50%}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .favorite{color:#b13514}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .btn-favorite{right:-5px;color:unset}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .space-icon{position:absolute;top:-5px;left:0}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .span-text{position:relative;overflow:hidden;text-overflow:ellipsis;padding-left:42px;max-width:calc(100% - 56px);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .span-text:after{content:\"\";display:block;clear:both}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node:first-child{margin:0}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.collapse-node:hover{background:#00000014}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.collapse-node:active{background:#0000001f}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.expand-node:active{background:#f2f7fd}"]
19774
+ },] }
19775
+ ];
19776
+ QMSNavigationDrawerComponent.ctorParameters = () => [];
19777
+ QMSNavigationDrawerComponent.propDecorators = {
19778
+ treeData: [{ type: Input }],
19779
+ showFavoriteIcon: [{ type: Input }],
19780
+ favoriteMode: [{ type: Input }],
19781
+ addNodeEvent: [{ type: Output }],
19782
+ addFavoriteEvent: [{ type: Output }],
19783
+ drogLocationEvent: [{ type: Output }],
19784
+ showAddIcon: [{ type: Input }],
19785
+ openNodes: [{ type: Input }],
19786
+ dragDropListDisabled: [{ type: Input }],
19787
+ nodesExpand: [{ type: Output }],
19788
+ filterText: [{ type: Input }],
19789
+ faIconPath: [{ type: Input }],
19790
+ onClickNodeEvent: [{ type: Output }],
19791
+ addFavoriteTooltip: [{ type: Input }],
19792
+ deleteFavoriteTooltip: [{ type: Input }],
19793
+ addNodeTooltip: [{ type: Input }]
19794
+ };
19795
+
19796
+ class QMSNavigationDrawerModule {
19797
+ }
19798
+ QMSNavigationDrawerModule.decorators = [
19799
+ { type: NgModule, args: [{
19800
+ declarations: [
19801
+ QMSNavigationDrawerComponent
19802
+ ],
19803
+ imports: [
19804
+ CommonModule,
19805
+ MatIconModule,
19806
+ MatToolbarModule,
19807
+ MatButtonModule,
19808
+ QMSButtonModule,
19809
+ MatTooltipModule,
19810
+ DragDropModule,
19811
+ MatTreeModule
19812
+ ],
19813
+ exports: [
19814
+ QMSNavigationDrawerComponent
19815
+ ]
19816
+ },] }
19817
+ ];
19818
+
19238
19819
  /*
19239
19820
  * Public API Surface of qms-angular
19240
19821
  */
@@ -19243,5 +19824,5 @@ class SelectedProcessDocumentItem {
19243
19824
  * Generated bundle index. Do not edit.
19244
19825
  */
19245
19826
 
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 };
19827
+ 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, CdkDetailRowDirective, ConfirmDialog, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, DataType$1 as DataType, DateFormatPipe, DocumentNodeType$1 as DocumentNodeType, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, FileErrorType, FlowChartConst, FlowchartViewMode, ISelectOneItem, 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, QMSCollapseGroupDirective, 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, QMSNavigationDrawerComponent, QMSNavigationDrawerModule, QMSNewTreeModule, QMSProcessDocumentItem, QMSRangeSliderDirective, QMSRangeSliderLockUpDirective, QMSRelatedGlobalService, QMSRelatedModule, QMSRichText, QMSRichTextModule, QMSRowDetailDirective, QMSRowExpandDirective, QMSScrolableAttachmentListDirective, QMSScrollbarDirective, QMSSearchFieldDirective, QMSSelectGlobalService, QMSSelectIncludeChildrenModule, QMSSelectOneGlobalService, QMSSelectOneModule, QMSSelectProcessDocumentGlobalService, QMSSelectProcessDocumentModule, QMSSnackbarConfig, QMSSuffixDirective, QMSSuffixFieldDirective, QMSTabGroupAdvancedDirective, QMSTabGroupDirective, QMSTabLabelDirective, QMSTabModule, QMSTableAction, QMSTableActionBlock, QMSTableChildrenDirective, QMSTableDirective, QMSTableExpandDirective, 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, 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 };
19247
19828
  //# sourceMappingURL=qms-angular.js.map