qms-angular 1.0.65 → 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 (274) hide show
  1. package/README.md +21 -2
  2. package/bundles/qms-angular.umd.js +2905 -231
  3. package/bundles/qms-angular.umd.js.map +1 -1
  4. package/esm2015/lib/common/enum/data-type.enum.js +14 -0
  5. package/esm2015/lib/common/enum/document-node-type.enum.js +12 -0
  6. package/esm2015/lib/common/enum/module-type.enum.js +8 -0
  7. package/esm2015/lib/common/related.const.js +6 -0
  8. package/esm2015/lib/components/badges/qms-badges.component.js +9 -5
  9. package/esm2015/lib/components/banner/index.js +2 -0
  10. package/esm2015/lib/components/banner/public_api.js +8 -0
  11. package/esm2015/lib/components/banner/qms-banner/qms-banner.component.js +2 -2
  12. package/esm2015/lib/components/button/button.js +5 -5
  13. package/esm2015/lib/components/comment/comment-log.model.js +2 -0
  14. package/esm2015/lib/components/comment/comment.js +6 -2
  15. package/esm2015/lib/components/qms-app-bar/index.js +2 -0
  16. package/esm2015/lib/components/qms-app-bar/models/qms-app-bar.model.js +10 -0
  17. package/esm2015/lib/components/qms-app-bar/public_api.js +3 -0
  18. package/esm2015/lib/components/qms-app-bar/qms-app-bar.component.js +2 -2
  19. package/esm2015/lib/components/qms-navigation-drawer/index.js +2 -0
  20. package/esm2015/lib/components/qms-navigation-drawer/models/qms-navigation-drawer.model.js +3 -0
  21. package/esm2015/lib/components/qms-navigation-drawer/public_api.js +3 -0
  22. package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.js +348 -0
  23. package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.module.js +33 -0
  24. package/esm2015/lib/components/qms-status-dropdown/index.js +4 -0
  25. package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.component.js +33 -0
  26. package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.model.js +10 -0
  27. package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.module.js +28 -0
  28. package/esm2015/lib/components/qms-stepper/index.js +2 -0
  29. package/esm2015/lib/components/qms-stepper/models/qms-stepper.model.js +9 -0
  30. package/esm2015/lib/components/qms-stepper/public_api.js +3 -0
  31. package/esm2015/lib/components/qms-stepper/qms-stepper.component.js +5 -4
  32. package/esm2015/lib/components/related/popup/related-popup.component.js +2 -2
  33. package/esm2015/lib/components/select-include-children/model/select-popup-data.model.js +2 -1
  34. package/esm2015/lib/components/select-include-children/select-include-children.component.js +45 -45
  35. package/esm2015/lib/components/select-process-document/index.js +2 -0
  36. package/esm2015/lib/components/select-process-document/models/pop-up-data.model.js +13 -0
  37. package/esm2015/lib/components/select-process-document/models/qms-process-document-item.model.js +3 -0
  38. package/esm2015/lib/components/select-process-document/models/selected-process-document-item.model.js +3 -0
  39. package/esm2015/lib/components/select-process-document/public-api.js +7 -0
  40. package/esm2015/lib/components/select-process-document/select-process-document.component.js +832 -0
  41. package/esm2015/lib/components/select-process-document/select-process-document.module.js +59 -0
  42. package/esm2015/lib/components/select-process-document/services/select-process-document-global.service.js +29 -0
  43. package/esm2015/lib/components/tab/directive/tab-group-advanced.directive.js +30 -0
  44. package/esm2015/lib/components/tab/directive/tab-group.directive.js +20 -0
  45. package/esm2015/lib/components/tab/directive/tab-label.directive.js +20 -0
  46. package/esm2015/lib/components/tab/index.js +2 -0
  47. package/esm2015/lib/components/tab/public-api.js +5 -0
  48. package/esm2015/lib/components/tab/tab.module.js +25 -0
  49. package/esm2015/lib/components/tree/tree.component.js +6 -3
  50. package/esm2015/lib/components/treeNew/index.js +2 -0
  51. package/esm2015/lib/components/treeNew/model/tree-node.model.js +3 -0
  52. package/esm2015/lib/components/treeNew/model/tree.model.js +3 -0
  53. package/esm2015/lib/components/treeNew/public-api.js +5 -0
  54. package/esm2015/lib/components/treeNew/tree.component.js +785 -0
  55. package/esm2015/lib/components/treeNew/tree.function.js +97 -0
  56. package/esm2015/lib/components/treeNew/tree.module.js +51 -0
  57. package/esm2015/lib/directives/app-bar/app-bar.directive.js +24 -0
  58. package/esm2015/lib/directives/table/table.directive.js +201 -0
  59. package/esm2015/lib/qms-angular.module.js +21 -15
  60. package/esm2015/lib/qms-ckeditor-components/common/functions/common.function.js +2 -2
  61. package/esm2015/public-api.js +17 -18
  62. package/fesm2015/qms-angular.js +2814 -317
  63. package/fesm2015/qms-angular.js.map +1 -1
  64. package/lib/common/enum/data-type.enum.d.ts +12 -0
  65. package/lib/common/enum/document-node-type.enum.d.ts +10 -0
  66. package/lib/common/enum/module-type.enum.d.ts +6 -0
  67. package/lib/common/related.const.d.ts +5 -0
  68. package/lib/components/badges/qms-badges.component.d.ts +4 -1
  69. package/lib/components/banner/index.d.ts +1 -0
  70. package/lib/components/banner/public_api.d.ts +7 -0
  71. package/lib/components/banner/qms-banner/qms-banner.component.d.ts +2 -2
  72. package/lib/components/button/button.d.ts +1 -1
  73. package/lib/components/comment/comment-log.model.d.ts +10 -0
  74. package/lib/components/comment/comment.d.ts +5 -11
  75. package/lib/components/qms-app-bar/index.d.ts +1 -0
  76. package/lib/components/qms-app-bar/{qms-app-bar.model.d.ts → models/qms-app-bar.model.d.ts} +0 -0
  77. package/lib/components/qms-app-bar/public_api.d.ts +2 -0
  78. package/lib/components/qms-app-bar/qms-app-bar.component.d.ts +1 -1
  79. package/lib/components/qms-navigation-drawer/index.d.ts +1 -0
  80. package/lib/components/qms-navigation-drawer/models/qms-navigation-drawer.model.d.ts +19 -0
  81. package/lib/components/qms-navigation-drawer/public_api.d.ts +2 -0
  82. package/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.d.ts +105 -0
  83. package/lib/components/qms-navigation-drawer/qms-navigation-drawer.module.d.ts +2 -0
  84. package/lib/components/qms-status-dropdown/index.d.ts +3 -0
  85. package/lib/components/qms-status-dropdown/qms-status-dropdown.component.d.ts +10 -0
  86. package/lib/components/qms-status-dropdown/qms-status-dropdown.model.d.ts +10 -0
  87. package/lib/components/qms-status-dropdown/qms-status-dropdown.module.d.ts +2 -0
  88. package/lib/components/qms-stepper/index.d.ts +1 -0
  89. package/lib/components/qms-stepper/{qms-stepper.model.d.ts → models/qms-stepper.model.d.ts} +0 -0
  90. package/lib/components/qms-stepper/public_api.d.ts +2 -0
  91. package/lib/components/qms-stepper/qms-stepper.component.d.ts +1 -1
  92. package/lib/components/select-include-children/model/select-popup-data.model.d.ts +1 -0
  93. package/lib/components/select-include-children/select-include-children.component.d.ts +3 -2
  94. package/lib/components/select-process-document/index.d.ts +1 -0
  95. package/lib/components/select-process-document/models/pop-up-data.model.d.ts +17 -0
  96. package/lib/components/select-process-document/models/qms-process-document-item.model.d.ts +13 -0
  97. package/lib/components/select-process-document/models/selected-process-document-item.model.d.ts +16 -0
  98. package/lib/components/select-process-document/public-api.d.ts +6 -0
  99. package/lib/components/select-process-document/select-process-document.component.d.ts +116 -0
  100. package/lib/components/select-process-document/select-process-document.module.d.ts +2 -0
  101. package/lib/components/select-process-document/services/select-process-document-global.service.d.ts +14 -0
  102. package/lib/{directives/tab → components/tab/directive}/tab-group-advanced.directive.d.ts +0 -0
  103. package/lib/{directives/tab → components/tab/directive}/tab-group.directive.d.ts +0 -0
  104. package/lib/{directives/tab → components/tab/directive}/tab-label.directive.d.ts +0 -0
  105. package/lib/components/tab/index.d.ts +1 -0
  106. package/lib/components/tab/public-api.d.ts +4 -0
  107. package/lib/components/tab/tab.module.d.ts +2 -0
  108. package/lib/components/treeNew/index.d.ts +1 -0
  109. package/lib/components/treeNew/model/tree-node.model.d.ts +8 -0
  110. package/lib/components/treeNew/model/tree.model.d.ts +11 -0
  111. package/lib/components/treeNew/public-api.d.ts +4 -0
  112. package/lib/components/treeNew/tree.component.d.ts +135 -0
  113. package/lib/components/treeNew/tree.function.d.ts +13 -0
  114. package/lib/components/treeNew/tree.module.d.ts +2 -0
  115. package/lib/directives/app-bar/app-bar.directive.d.ts +8 -0
  116. package/lib/directives/table/table.directive.d.ts +50 -0
  117. package/lib.theme.scss +3 -0
  118. package/package.json +4 -2
  119. package/public-api.d.ts +15 -17
  120. package/qms-angular.metadata.json +1 -1
  121. package/src/assets/fonts/icomoon.eot +0 -0
  122. package/src/assets/fonts/icomoon.svg +203 -0
  123. package/src/assets/fonts/icomoon.ttf +0 -0
  124. package/src/assets/fonts/icomoon.woff +0 -0
  125. package/src/assets/jointjs/scss/bpmn.scss +1 -9
  126. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +2 -2
  127. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
  128. package/src/assets/qms-ckeditor-plugin/build/translations/ar.js +1 -1
  129. package/src/assets/qms-ckeditor-plugin/build/translations/az.js +1 -1
  130. package/src/assets/qms-ckeditor-plugin/build/translations/bg.js +1 -1
  131. package/src/assets/qms-ckeditor-plugin/build/translations/cs.js +1 -1
  132. package/src/assets/qms-ckeditor-plugin/build/translations/da.js +1 -1
  133. package/src/assets/qms-ckeditor-plugin/build/translations/de-ch.js +1 -1
  134. package/src/assets/qms-ckeditor-plugin/build/translations/de.js +1 -1
  135. package/src/assets/qms-ckeditor-plugin/build/translations/en-au.js +1 -1
  136. package/src/assets/qms-ckeditor-plugin/build/translations/en-gb.js +1 -1
  137. package/src/assets/qms-ckeditor-plugin/build/translations/es.js +1 -1
  138. package/src/assets/qms-ckeditor-plugin/build/translations/et.js +1 -1
  139. package/src/assets/qms-ckeditor-plugin/build/translations/fa.js +1 -1
  140. package/src/assets/qms-ckeditor-plugin/build/translations/fi.js +1 -1
  141. package/src/assets/qms-ckeditor-plugin/build/translations/fr.js +1 -1
  142. package/src/assets/qms-ckeditor-plugin/build/translations/gl.js +1 -1
  143. package/src/assets/qms-ckeditor-plugin/build/translations/hi.js +1 -1
  144. package/src/assets/qms-ckeditor-plugin/build/translations/hr.js +1 -1
  145. package/src/assets/qms-ckeditor-plugin/build/translations/hu.js +1 -1
  146. package/src/assets/qms-ckeditor-plugin/build/translations/id.js +1 -1
  147. package/src/assets/qms-ckeditor-plugin/build/translations/it.js +1 -1
  148. package/src/assets/qms-ckeditor-plugin/build/translations/ja.js +1 -1
  149. package/src/assets/qms-ckeditor-plugin/build/translations/ko.js +1 -1
  150. package/src/assets/qms-ckeditor-plugin/build/translations/ku.js +1 -1
  151. package/src/assets/qms-ckeditor-plugin/build/translations/lt.js +1 -1
  152. package/src/assets/qms-ckeditor-plugin/build/translations/lv.js +1 -1
  153. package/src/assets/qms-ckeditor-plugin/build/translations/nb.js +1 -1
  154. package/src/assets/qms-ckeditor-plugin/build/translations/ne.js +1 -1
  155. package/src/assets/qms-ckeditor-plugin/build/translations/nl.js +1 -1
  156. package/src/assets/qms-ckeditor-plugin/build/translations/no.js +1 -1
  157. package/src/assets/qms-ckeditor-plugin/build/translations/pl.js +1 -1
  158. package/src/assets/qms-ckeditor-plugin/build/translations/pt-br.js +1 -1
  159. package/src/assets/qms-ckeditor-plugin/build/translations/ro.js +1 -1
  160. package/src/assets/qms-ckeditor-plugin/build/translations/ru.js +1 -1
  161. package/src/assets/qms-ckeditor-plugin/build/translations/sk.js +1 -1
  162. package/src/assets/qms-ckeditor-plugin/build/translations/sq.js +1 -1
  163. package/src/assets/qms-ckeditor-plugin/build/translations/sr-latn.js +1 -1
  164. package/src/assets/qms-ckeditor-plugin/build/translations/sr.js +1 -1
  165. package/src/assets/qms-ckeditor-plugin/build/translations/sv.js +1 -1
  166. package/src/assets/qms-ckeditor-plugin/build/translations/th.js +1 -1
  167. package/src/assets/qms-ckeditor-plugin/build/translations/tk.js +1 -1
  168. package/src/assets/qms-ckeditor-plugin/build/translations/tr.js +1 -1
  169. package/src/assets/qms-ckeditor-plugin/build/translations/ug.js +1 -1
  170. package/src/assets/qms-ckeditor-plugin/build/translations/uk.js +1 -1
  171. package/src/assets/qms-ckeditor-plugin/build/translations/vi.js +1 -1
  172. package/src/assets/qms-ckeditor-plugin/build/translations/zh-cn.js +1 -1
  173. package/src/assets/qms-ckeditor-plugin/build/translations/zh.js +1 -1
  174. package/src/assets/qms-ckeditor-plugin/package-lock.json +29 -1
  175. package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +6 -0
  176. package/src/assets/svg-icons/acutely-toxic.svg +19 -0
  177. package/src/assets/svg-icons/add-column.svg +4 -0
  178. package/src/assets/svg-icons/add-tooltip.svg +6 -0
  179. package/src/assets/svg-icons/admin.svg +3 -0
  180. package/src/assets/svg-icons/annual-cycle.svg +10 -0
  181. package/src/assets/svg-icons/assignment-repete.svg +4 -0
  182. package/src/assets/svg-icons/barrier-add.svg +7 -0
  183. package/src/assets/svg-icons/barrier-edit.svg +7 -0
  184. package/src/assets/svg-icons/barrier-view.svg +3 -0
  185. package/src/assets/svg-icons/button-group.svg +5 -0
  186. package/src/assets/svg-icons/checklist.svg +8 -0
  187. package/src/assets/svg-icons/chemical-manager.svg +5 -0
  188. package/src/assets/svg-icons/chronic-health-hazard.svg +17 -0
  189. package/src/assets/svg-icons/contingency.svg +3 -0
  190. package/src/assets/svg-icons/corrosive.svg +23 -0
  191. package/src/assets/svg-icons/dashboard.svg +3 -0
  192. package/src/assets/svg-icons/database-sds.svg +4 -0
  193. package/src/assets/svg-icons/department-document.svg +4 -0
  194. package/src/assets/svg-icons/department-folder-closed.svg +4 -0
  195. package/src/assets/svg-icons/department-folder-open.svg +4 -0
  196. package/src/assets/svg-icons/description-add.svg +6 -0
  197. package/src/assets/svg-icons/description-edit.svg +6 -0
  198. package/src/assets/svg-icons/description-view.svg +3 -0
  199. package/src/assets/svg-icons/deviation.svg +3 -0
  200. package/src/assets/svg-icons/document-read.svg +5 -0
  201. package/src/assets/svg-icons/draft.svg +7 -0
  202. package/src/assets/svg-icons/dropdown-folder.svg +4 -0
  203. package/src/assets/svg-icons/enterprise-document.svg +4 -0
  204. package/src/assets/svg-icons/enterprise-folder-closed.svg +4 -0
  205. package/src/assets/svg-icons/enterprise-folder-open.svg +4 -0
  206. package/src/assets/svg-icons/expired-off.svg +3 -0
  207. package/src/assets/svg-icons/expired-on.svg +5 -0
  208. package/src/assets/svg-icons/explosive.svg +48 -0
  209. package/src/assets/svg-icons/file-excel.svg +3 -0
  210. package/src/assets/svg-icons/file-pdf-verified.svg +5 -0
  211. package/src/assets/svg-icons/file-pdf.svg +3 -0
  212. package/src/assets/svg-icons/file-word.svg +3 -0
  213. package/src/assets/svg-icons/filter-alt.svg +3 -0
  214. package/src/assets/svg-icons/flammable.svg +5 -0
  215. package/src/assets/svg-icons/flowchart-BPMN.svg +9 -0
  216. package/src/assets/svg-icons/folder-closed.svg +3 -0
  217. package/src/assets/svg-icons/folder-open.svg +3 -0
  218. package/src/assets/svg-icons/gas-under-pressure.svg +4 -0
  219. package/src/assets/svg-icons/health-hazard.svg +4 -0
  220. package/src/assets/svg-icons/keyboard_arrow_down.svg +1 -0
  221. package/src/assets/svg-icons/keyboard_arrow_up.svg +1 -0
  222. package/src/assets/svg-icons/line-break.svg +7 -0
  223. package/src/assets/svg-icons/local-document.svg +4 -0
  224. package/src/assets/svg-icons/local-folder-closed.svg +4 -0
  225. package/src/assets/svg-icons/local-folder-open.svg +4 -0
  226. package/src/assets/svg-icons/location.svg +3 -0
  227. package/src/assets/svg-icons/measure-add.svg +5 -0
  228. package/src/assets/svg-icons/measure-edit.svg +5 -0
  229. package/src/assets/svg-icons/measure-view.svg +3 -0
  230. package/src/assets/svg-icons/messages.svg +3 -0
  231. package/src/assets/svg-icons/monitoring.svg +5 -0
  232. package/src/assets/svg-icons/move.svg +3 -0
  233. package/src/assets/svg-icons/oxidizing.svg +6 -0
  234. package/src/assets/svg-icons/process-area-closed.svg +4 -0
  235. package/src/assets/svg-icons/process-area-open.svg +4 -0
  236. package/src/assets/svg-icons/process-linked.svg +4 -0
  237. package/src/assets/svg-icons/process.svg +3 -0
  238. package/src/assets/svg-icons/regional-document.svg +4 -0
  239. package/src/assets/svg-icons/regional-folder-closed.svg +4 -0
  240. package/src/assets/svg-icons/regional-folder-open.svg +4 -0
  241. package/src/assets/svg-icons/risk.svg +3 -0
  242. package/src/assets/svg-icons/search-in-file.svg +4 -0
  243. package/src/assets/svg-icons/sort-ascending.svg +3 -0
  244. package/src/assets/svg-icons/sort-descending.svg +3 -0
  245. package/src/assets/svg-icons/subscript.svg +4 -0
  246. package/src/assets/svg-icons/superscript.svg +4 -0
  247. package/src/assets/svg-icons/syncronice-favorites.svg +5 -0
  248. package/src/assets/svg-icons/system-settings.svg +3 -0
  249. package/src/assets/svg-icons/view-three-outlined.svg +5 -0
  250. package/src/assets/svg-icons/wiris.svg +9 -0
  251. package/src/assets/svg-icons/workplace-safety.svg +5 -0
  252. package/src/lib/components/badges/_qms-badges-base.scss +15 -9
  253. package/src/lib/components/badges/qms-badges.component.scss +1 -1
  254. package/src/lib/components/qms-app-bar/qms-app-bar.component.scss +10 -0
  255. package/src/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.scss +174 -0
  256. package/src/lib/components/qms-status-dropdown/qms-status-dropdown.component.scss +152 -0
  257. package/src/lib/components/select-process-document/select-process-document.component.scss +300 -0
  258. package/src/lib/components/tree/tree.component.scss +3 -1
  259. package/src/lib/components/treeNew/tree.component.scss +175 -0
  260. package/src/themes/_qms-icon-font.scss +894 -0
  261. package/src/themes/core/_app-bar.scss +14 -0
  262. package/src/themes/core/_colors.scss +1 -0
  263. package/src/themes/core/_qms-label.scss +32 -0
  264. package/src/themes/core/_range-slider.scss +6 -2
  265. package/src/themes/core/_tab.scss +42 -1
  266. package/src/themes/core/_table.scss +54 -0
  267. package/esm2015/lib/components/qms-app-bar/qms-app-bar.model.js +0 -10
  268. package/esm2015/lib/components/qms-stepper/qms-stepper.model.js +0 -9
  269. package/esm2015/lib/components/test-only/test-only.component.js +0 -17
  270. package/esm2015/lib/directives/tab/tab-group-advanced.directive.js +0 -30
  271. package/esm2015/lib/directives/tab/tab-group.directive.js +0 -20
  272. package/esm2015/lib/directives/tab/tab-label.directive.js +0 -20
  273. package/lib/components/test-only/test-only.component.d.ts +0 -3
  274. package/src/lib/components/test-only/test-only.component.scss +0 -10
@@ -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';
@@ -16,7 +16,7 @@ import { MatIconModule, MatIconRegistry } from '@angular/material/icon';
16
16
  import { MatCheckboxModule } from '@angular/material/checkbox';
17
17
  import { MatChipsModule } from '@angular/material/chips';
18
18
  import { MatButtonModule } from '@angular/material/button';
19
- import { mixinDisableRipple, mixinDisabled, MatCommonModule, setLines } from '@angular/material/core';
19
+ import { mixinDisableRipple, mixinDisabled, MatCommonModule, setLines, MatOptionModule } from '@angular/material/core';
20
20
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
21
21
  import { FocusMonitor } from '@angular/cdk/a11y';
22
22
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
@@ -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() { }
@@ -669,11 +670,15 @@ class QMSComment {
669
670
  item.isDelete = true;
670
671
  this.updateLog.emit(item);
671
672
  }
673
+ regretItem(item) {
674
+ item.isDelete = false;
675
+ this.updateLog.emit(item);
676
+ }
672
677
  }
673
678
  QMSComment.decorators = [
674
679
  { type: Component, args: [{
675
680
  selector: 'qms-comment',
676
- template: "<div class=\"qms-comment\" *ngFor=\"let item of sourceLog; let i = index\">\r\n <mat-card-header *ngIf=\"!item.isDelete\">\r\n <mat-card-subtitle\r\n >{{ item.user }} {{ item.date | dateFormat }}\r\n </mat-card-subtitle>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div\r\n qms-scrollbar\r\n *ngIf=\"!item.isEdit && !item.isDelete\"\r\n class=\"content\"\r\n [ngClass]=\"{ secondary: 0 != i % 2 }\"\r\n [innerHTML]=\"showContent(item.content)\"\r\n ></div>\r\n <div class=\"content delete-action-wrap\" *ngIf=\"item.isDelete\">\r\n <i>{{ LANG.DELETE_MESSAGE_COMMENT }}</i>\r\n <button qms-btn-text class=\"btn-action\" (click)=\"item.isDelete = false\">\r\n {{ LANG.REGRET }}\r\n </button>\r\n </div>\r\n <mat-form-field *ngIf=\"item.isEdit && !item.isDelete\" qms-form-textarea>\r\n <textarea\r\n qms-scrollbar\r\n class=\"textarea-comment\"\r\n matInput\r\n cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\"\r\n [(ngModel)]=\"item.editedContent\"\r\n ></textarea>\r\n </mat-form-field>\r\n </mat-card-content>\r\n <mat-card-actions *ngIf=\"item.isDraft && !item.isEdit && !item.isDelete\">\r\n <a class=\"btn-action\" (click)=\"editContent(item)\"> {{ LANG.EDIT }} </a>\r\n <a class=\"btn-action ml-20\" (click)=\"removeItem(item)\">{{ LANG.DELETE }}</a>\r\n </mat-card-actions>\r\n <mat-card-actions *ngIf=\"item.isEdit\" class=\"edit-action-wrap\">\r\n <button qms-btn (click)=\"saveEditedContent(item)\">{{ LANG.SAVE }}</button>\r\n <button qms-btn-text (click)=\"item.isEdit = false\" class=\"ml-10\">\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </mat-card-actions>\r\n</div>\r\n",
681
+ template: "<div class=\"qms-comment\" *ngFor=\"let item of sourceLog; let i = index\">\r\n <mat-card-header *ngIf=\"!item.isDelete\">\r\n <mat-card-subtitle\r\n >{{ item.user }} {{ item.date | dateFormat }}\r\n </mat-card-subtitle>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div\r\n qms-scrollbar\r\n *ngIf=\"!item.isEdit && !item.isDelete\"\r\n class=\"content\"\r\n [ngClass]=\"{ secondary: 0 != i % 2 }\"\r\n [innerHTML]=\"showContent(item.content)\"\r\n ></div>\r\n <div class=\"content delete-action-wrap\" *ngIf=\"item.isDelete\">\r\n <i>{{ LANG.DELETE_MESSAGE_COMMENT }}</i>\r\n <button qms-btn-text class=\"btn-action\" (click)=\"regretItem(item)\">\r\n {{ LANG.REGRET }}\r\n </button>\r\n </div>\r\n <mat-form-field *ngIf=\"item.isEdit && !item.isDelete\" qms-form-textarea>\r\n <textarea\r\n qms-scrollbar\r\n class=\"textarea-comment\"\r\n matInput\r\n cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\"\r\n [(ngModel)]=\"item.editedContent\"\r\n ></textarea>\r\n </mat-form-field>\r\n </mat-card-content>\r\n <mat-card-actions *ngIf=\"item.isDraft && !item.isEdit && !item.isDelete\">\r\n <a class=\"btn-action\" (click)=\"editContent(item)\"> {{ LANG.EDIT }} </a>\r\n <a class=\"btn-action ml-20\" (click)=\"removeItem(item)\">{{ LANG.DELETE }}</a>\r\n </mat-card-actions>\r\n <mat-card-actions *ngIf=\"item.isEdit\" class=\"edit-action-wrap\">\r\n <button qms-btn (click)=\"saveEditedContent(item)\">{{ LANG.SAVE }}</button>\r\n <button qms-btn-text (click)=\"item.isEdit = false\" class=\"ml-10\">\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </mat-card-actions>\r\n</div>\r\n",
677
682
  host: { 'class': 'qms-comment' },
678
683
  changeDetection: ChangeDetectionStrategy.OnPush,
679
684
  styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.qms-comment{font-family:Open Sans;margin-bottom:1rem;display:block}.qms-comment .mat-card-subtitle{font-size:.75rem;color:rgba(0,0,0,.6)}.qms-comment .mat-card-content .content{padding:10px 16px;background-color:rgba(0,0,0,.04);display:block;border-radius:4px;font-size:.875rem;max-height:125px;overflow-y:auto}.qms-comment .mat-card-content .content.delete-action-wrap{display:flex;justify-content:space-between;align-items:center}.qms-comment .mat-card-content .content.secondary{background-color:rgba(62,87,183,.12)}.qms-comment .mat-card-content .qms-form{width:100%}.qms-comment .btn-action{color:#1954a9;font-weight:600;font-size:13px;cursor:pointer}.qms-comment .textarea-comment{font-size:.875rem}.ml-10{margin-left:10px}.mt-15{margin-top:15px}.ml-20{margin-left:20px}.edit-action-wrap{display:block;margin-top:-10px}"]
@@ -880,22 +885,6 @@ QMSSuffixFieldDirective.propDecorators = {
880
885
  qmsSuffix: [{ type: ContentChild, args: [QMSSuffixDirective, { static: false },] }]
881
886
  };
882
887
 
883
- class TestOnlyComponent {
884
- constructor() {
885
- this.text = "";
886
- }
887
- }
888
- TestOnlyComponent.decorators = [
889
- { type: Component, args: [{
890
- selector: 'qms-test-only',
891
- template: "<div class=\"test-container\">\r\n <h1 class=\"content\">{{ text }}</h1>\r\n</div>",
892
- styles: [".test-container .content{background-color:#f4e9e5;max-height:36vw;overflow-y:scroll;overflow-x:hidden}"]
893
- },] }
894
- ];
895
- TestOnlyComponent.propDecorators = {
896
- text: [{ type: Input }]
897
- };
898
-
899
888
  class QMSChipInputChipListDirective {
900
889
  constructor(ele) {
901
890
  this.ele = ele;
@@ -1845,73 +1834,6 @@ QMSDrawerDirective.ctorParameters = () => [
1845
1834
  { type: ElementRef }
1846
1835
  ];
1847
1836
 
1848
- class QMSTabGroupAdvancedDirective {
1849
- constructor(ele) {
1850
- this.ele = ele;
1851
- }
1852
- ngOnInit() {
1853
- if (this.ele) {
1854
- this.ele.nativeElement.classList.add('qms-tab-group-advanced');
1855
- if (this.color) {
1856
- this.ele.nativeElement.classList.add(this.color);
1857
- }
1858
- if (this.type === 'fixed') {
1859
- this.ele.nativeElement.classList.add('qms-tab-group-advanced-fixed');
1860
- }
1861
- }
1862
- }
1863
- }
1864
- QMSTabGroupAdvancedDirective.decorators = [
1865
- { type: Directive, args: [{
1866
- selector: '[qms-tab-group-advanced]',
1867
- },] }
1868
- ];
1869
- QMSTabGroupAdvancedDirective.ctorParameters = () => [
1870
- { type: ElementRef }
1871
- ];
1872
- QMSTabGroupAdvancedDirective.propDecorators = {
1873
- color: [{ type: Input }],
1874
- type: [{ type: Input }]
1875
- };
1876
-
1877
- class QMSTabGroupDirective {
1878
- constructor(ele) {
1879
- this.ele = ele;
1880
- }
1881
- ngOnInit() {
1882
- if (this.ele) {
1883
- this.ele.nativeElement.classList.add('qms-tab-group');
1884
- }
1885
- }
1886
- }
1887
- QMSTabGroupDirective.decorators = [
1888
- { type: Directive, args: [{
1889
- selector: '[qms-tab-group]',
1890
- },] }
1891
- ];
1892
- QMSTabGroupDirective.ctorParameters = () => [
1893
- { type: ElementRef }
1894
- ];
1895
-
1896
- class QMSTabLabelDirective {
1897
- constructor(ele) {
1898
- this.ele = ele;
1899
- }
1900
- ngOnInit() {
1901
- if (this.ele) {
1902
- this.ele.nativeElement.classList.add('qms-tab-label');
1903
- }
1904
- }
1905
- }
1906
- QMSTabLabelDirective.decorators = [
1907
- { type: Directive, args: [{
1908
- selector: '[qms-tab-label]',
1909
- },] }
1910
- ];
1911
- QMSTabLabelDirective.ctorParameters = () => [
1912
- { type: ElementRef }
1913
- ];
1914
-
1915
1837
  class QMSTextBlockLine {
1916
1838
  constructor(elRef, renderer) {
1917
1839
  this.elRef = elRef;
@@ -2668,7 +2590,7 @@ class QMSButtonIcon extends _QMSButtonMixinBase {
2668
2590
  return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));
2669
2591
  }
2670
2592
  ngAfterViewInit() {
2671
- if (this.type) {
2593
+ if (this.active) {
2672
2594
  this.renderer.addClass(this._elementRef.nativeElement, 'active-icon');
2673
2595
  }
2674
2596
  this._focusMonitor.monitor(this._elementRef, true);
@@ -2686,10 +2608,10 @@ QMSButtonIcon.decorators = [
2686
2608
  '[attr.disabled]': 'disabled || null',
2687
2609
  '[class._qms-animation-noopable]': '_animationMode === "NoopAnimations"',
2688
2610
  '[class.qms-btn-disabled]': 'disabled',
2689
- '[class.active-icon]': 'type',
2611
+ '[class.active-icon]': 'active',
2690
2612
  },
2691
2613
  template: "<span class=\"qms-btn-icon-wrapper\"><ng-content></ng-content></span>\r\n<span class=\"qms-button-focus-overlay\"></span>\r\n",
2692
- inputs: ['disabled', 'color', 'type'],
2614
+ inputs: ['disabled', 'color', 'active'],
2693
2615
  encapsulation: ViewEncapsulation.None,
2694
2616
  changeDetection: ChangeDetectionStrategy.OnPush,
2695
2617
  styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.qms-btn{height:36px;line-height:34px;padding:0 10px;background-color:#1954a9;color:#fff}.qms-btn:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn.qms-primary{background-color:#1954a9;color:#fff}.qms-btn.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn.qms-primary:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn.qms-primary:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn.qms-secondary{background-color:#9e360f;color:#fff}.qms-btn.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn.qms-secondary:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn.qms-secondary:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-lg{height:48px;line-height:38px;padding:4px 14px;background-color:#1954a9;color:#fff}.qms-btn-lg:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-lg:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-lg:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-lg.qms-primary{background-color:#1954a9;color:#fff}.qms-btn-lg.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-lg.qms-primary:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-lg.qms-primary:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-lg.qms-secondary{background-color:#9e360f;color:#fff}.qms-btn-lg.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-lg.qms-secondary:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn-lg.qms-secondary:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-outlined{height:36px;line-height:34px;padding:0 9px;background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined.qms-primary{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined.qms-primary:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined.qms-secondary{background-color:#fff;color:#9e360f;border:1px solid #9e360f}.qms-btn-outlined.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined.qms-secondary:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-outlined.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11;border:1px solid #b63e11}.qms-btn-outlined-lg{height:48px;line-height:38px;padding:4px 13px;background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined-lg:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined-lg:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined-lg:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined-lg.qms-primary{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined-lg.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined-lg.qms-primary:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined-lg.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined-lg.qms-secondary{background-color:#fff;color:#9e360f;border:1px solid #9e360f}.qms-btn-outlined-lg.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined-lg.qms-secondary:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-outlined-lg.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11;border:1px solid #b63e11}.qms-btn-text{height:36px;line-height:34px;padding:0 10px;background-color:transparent;color:#1954a9}.qms-btn-text:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text.qms-primary{background-color:transparent;color:#1954a9}.qms-btn-text.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text.qms-primary:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text.qms-secondary{background-color:transparent;color:#9e360f}.qms-btn-text.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text.qms-secondary:not([disabled]):focus{background-color:transparent;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-text.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-text-lg{height:48px;line-height:38px;padding:4px 14px;background-color:transparent;color:#1954a9}.qms-btn-text-lg:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text-lg:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text-lg:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text-lg.qms-primary{background-color:transparent;color:#1954a9}.qms-btn-text-lg.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text-lg.qms-primary:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text-lg.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text-lg.qms-secondary{background-color:transparent;color:#9e360f}.qms-btn-text-lg.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text-lg.qms-secondary:not([disabled]):focus{background-color:transparent;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-text-lg.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-fab,.qms-btn-fab-sm{min-width:0;width:56px;height:56px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);background-color:#1954a9;color:#fff}.qms-btn-fab-sm .qms-btn-wrapper,.qms-btn-fab .qms-btn-wrapper{padding:16px 0;display:inline-block;line-height:24px}.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible),.qms-btn-fab:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-sm:not([disabled]):focus,.qms-btn-fab:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab-sm:not([disabled]):hover,.qms-btn-fab:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible),.qms-btn-fab:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-sm:not([disabled]):focus,.qms-btn-fab:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-primary,.qms-primary.qms-btn-fab-sm{background-color:#1954a9;color:#fff}.qms-btn-fab.qms-primary:not([disabled]):focus:not(:focus-visible),.qms-primary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab.qms-primary:not([disabled]):focus,.qms-primary.qms-btn-fab-sm:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab.qms-primary:not([disabled]):hover,.qms-primary.qms-btn-fab-sm:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab.qms-primary:not([disabled]):focus:not(:focus-visible),.qms-primary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-primary:not([disabled]):focus,.qms-primary.qms-btn-fab-sm:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-secondary,.qms-secondary.qms-btn-fab-sm{background-color:#9e360f;color:#fff}.qms-btn-fab.qms-secondary:not([disabled]):focus:not(:focus-visible),.qms-secondary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab.qms-secondary:not([disabled]):focus,.qms-secondary.qms-btn-fab-sm:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn-fab.qms-secondary:not([disabled]):hover,.qms-secondary.qms-btn-fab-sm:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-fab.qms-secondary:not([disabled]):focus:not(:focus-visible),.qms-secondary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-secondary:not([disabled]):focus,.qms-secondary.qms-btn-fab-sm:not([disabled]):focus{box-shadow:0 0 0 2px #cf9b87,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-sm{min-width:0;width:40px;height:40px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-sm .qms-btn-wrapper{padding:8px 0;display:inline-block;line-height:24px}.qms-btn-fab-outlined,.qms-btn-fab-outlined-sm{min-width:0;width:56px;height:56px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-sm .qms-btn-wrapper,.qms-btn-fab-outlined .qms-btn-wrapper{padding:16px 0;display:inline-block;line-height:24px}.qms-btn-fab-outlined-sm:not([disabled]):focus:not(:focus-visible),.qms-btn-fab-outlined:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-sm:not([disabled]):focus,.qms-btn-fab-outlined:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-sm:not([disabled]):hover,.qms-btn-fab-outlined:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined.qms-primary,.qms-primary.qms-btn-fab-outlined-sm{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined.qms-primary:not([disabled]):focus:not(:focus-visible),.qms-primary.qms-btn-fab-outlined-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-primary:not([disabled]):focus,.qms-primary.qms-btn-fab-outlined-sm:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-primary:not([disabled]):hover,.qms-primary.qms-btn-fab-outlined-sm:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined.qms-secondary,.qms-secondary.qms-btn-fab-outlined-sm{background-color:#fff;color:#9e360f;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined.qms-secondary:not([disabled]):focus:not(:focus-visible),.qms-secondary.qms-btn-fab-outlined-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-secondary:not([disabled]):focus,.qms-secondary.qms-btn-fab-outlined-sm:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-secondary:not([disabled]):hover,.qms-secondary.qms-btn-fab-outlined-sm:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-fab-outlined-sm{min-width:0;width:40px;height:40px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-sm .qms-btn-wrapper{padding:8px 0;display:inline-block;line-height:24px}.qms-btn-fab-ext{box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);padding:0 16px;border-radius:30px;line-height:54px;height:56px;background-color:#1954a9;color:#fff}.qms-btn-fab-ext:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-ext:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab-ext:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab-ext:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-primary{background-color:#1954a9;color:#fff}.qms-btn-fab-ext.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-ext.qms-primary:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab-ext.qms-primary:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab-ext.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-primary:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-secondary{background-color:#9e360f;color:#fff}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn-fab-ext.qms-secondary:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus{box-shadow:0 0 0 2px #cf9b87,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext{box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);padding:0 16px;border-radius:30px;line-height:54px;height:56px;background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-ext:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined-ext.qms-primary{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-ext.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-primary:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined-ext.qms-secondary{background-color:#fff;color:#9e360f;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-ext.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-secondary:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-icon{box-sizing:border-box;position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;font-style:normal}.qms-btn-icon.qms-btn-disabled{cursor:default;background:#e4e4e4;color:rgba(0,0,0,.38)}.qms-btn-icon .mat-icon{font-size:24px!important;padding-bottom:1px}.qms-btn-icon::-moz-focus-inner{border:0}.qms-btn-icon:not([disabled]):hover{text-decoration:none}.qms-btn-icon .qms-btn-icon-wrapper>*{vertical-align:middle}.qms-btn-icon:after{content:\"\";position:absolute;top:50%;left:50%;width:10px;height:10px;background:hsla(0,0%,100%,.5);opacity:0;border-radius:100%;transform:scale(1) translate(-50%);transform-origin:50% 50%}.qms-btn-icon{padding:0;min-width:0;width:48px;height:48px;line-height:48px;border-radius:50%;flex-shrink:0;border:none;background:transparent}.qms-btn-icon:focus{outline:0}.qms-btn-icon:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-icon.qms-light{color:rgba(0,0,0,.6)}.qms-btn-icon.qms-light:not([disabled]):focus,.qms-btn-icon.qms-light:not([disabled]):hover{background-color:rgba(0,0,0,.08);color:#323232}.qms-btn-icon.qms-light:not([disabled]):active{background-color:rgba(0,0,0,.24);color:#323232}.qms-btn-icon.qms-light.qms-btn-disabled{color:rgba(0,0,0,.24);background-color:transparent}.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon{color:#1954a9}.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon:not([disabled]):active,.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon:not([disabled]):focus,.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon:not([disabled]):hover{background-color:#e5eefb;color:#1954a9}.qms-btn-icon.qms-dark{color:#fff}.qms-btn-icon.qms-dark:not([disabled]):focus,.qms-btn-icon.qms-dark:not([disabled]):hover{background-color:hsla(0,0%,100%,.08)}.qms-btn-icon.qms-dark:not([disabled]):active{background-color:hsla(0,0%,100%,.24)}.qms-btn-icon.qms-dark.qms-btn-disabled{color:hsla(0,0%,100%,.24);background-color:transparent}.qms-btn-icon.qms-dark.active-icon{color:#f6b59d}.qms-btn-icon.qms-dark.active-icon:not([disabled]):focus,.qms-btn-icon.qms-dark.active-icon:not([disabled]):hover{background-color:hsla(0,0%,100%,.08)}.qms-btn-icon.qms-dark.active-icon:not([disabled]):active{background-color:hsla(0,0%,100%,.24)}.qms-btn-icon .qms-button-focus-overlay{opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1);top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.qms-btn-icon .qms-btn-icon-wrapper .mat-icon{vertical-align:middle;line-height:24px}.icon-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center}.icon-wrapper.light.disabled .caption{color:rgba(0,0,0,.24);cursor:default;background-color:transparent}.icon-wrapper.light.active .caption{color:#1954a9}.icon-wrapper.light:not(.disabled):hover .caption{color:#323232}.icon-wrapper.light:not(.disabled):focus .caption{color:rgba(0,0,0,.6)}.icon-wrapper.light:not(.disabled):active .caption{color:#323232}.icon-wrapper.light .caption{color:rgba(0,0,0,.6)}.icon-wrapper.dark.disabled .caption{color:hsla(0,0%,100%,.24);cursor:default;background-color:transparent}.icon-wrapper.dark.active .caption{color:#f6b59d}.icon-wrapper.dark .caption{color:#fff}.icon-wrapper .caption{font-size:.75rem;line-height:16px;font-family:Open Sans;font-weight:400}@-webkit-keyframes ripple{0%{transform:scale(0);opacity:1}20%{transform:scale(25);opacity:1}to{opacity:0;transform:scale(40)}}@keyframes ripple{0%{transform:scale(0);opacity:1}20%{transform:scale(25);opacity:1}to{opacity:0;transform:scale(40)}}"]
@@ -2702,7 +2624,7 @@ QMSButtonIcon.ctorParameters = () => [
2702
2624
  { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
2703
2625
  ];
2704
2626
  QMSButtonIcon.propDecorators = {
2705
- type: [{ type: Input, args: ['type',] }]
2627
+ active: [{ type: Input, args: ['active',] }]
2706
2628
  };
2707
2629
 
2708
2630
  class QMSButtonModule {
@@ -2801,6 +2723,229 @@ SharedModule.decorators = [
2801
2723
  { type: NgModule, args: [{},] }
2802
2724
  ];
2803
2725
 
2726
+ class QMSAppBar {
2727
+ constructor(elRef) {
2728
+ this.elRef = elRef;
2729
+ this.mode = "dark";
2730
+ }
2731
+ ngOnInit() {
2732
+ }
2733
+ ngAfterViewChecked() {
2734
+ this.elRef.nativeElement.classList.add(`qms-app-bar-${this.mode}`);
2735
+ }
2736
+ }
2737
+ QMSAppBar.decorators = [
2738
+ { type: Directive, args: [{
2739
+ selector: '[qms-app-bar]'
2740
+ },] }
2741
+ ];
2742
+ QMSAppBar.ctorParameters = () => [
2743
+ { type: ElementRef }
2744
+ ];
2745
+ QMSAppBar.propDecorators = {
2746
+ mode: [{ type: Input, args: ['mode',] }]
2747
+ };
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
+
2804
2949
  const ɵ0$2 = { appearance: 'fill' }, ɵ1 = { color: 'none' };
2805
2950
  class QmsAngularModule {
2806
2951
  }
@@ -2808,7 +2953,6 @@ QmsAngularModule.decorators = [
2808
2953
  { type: NgModule, args: [{
2809
2954
  declarations: [
2810
2955
  QmsAngularComponent,
2811
- TestOnlyComponent,
2812
2956
  MarginDirective,
2813
2957
  QMSSearchFieldDirective,
2814
2958
  QMSInputClearDirective,
@@ -2844,9 +2988,13 @@ QmsAngularModule.decorators = [
2844
2988
  QMSDrawerContentDirective,
2845
2989
  QMSDrawerHeaderActionDirective,
2846
2990
  QMSToolTipRendererDirective,
2847
- QMSTabLabelDirective,
2848
- QMSTabGroupDirective,
2849
- QMSTabGroupAdvancedDirective,
2991
+ QMSTableExpandDirective,
2992
+ QMSTableDirective,
2993
+ QMSRowDetailDirective,
2994
+ QMSTableChildrenDirective,
2995
+ QMSRowExpandDirective,
2996
+ CdkDetailRowDirective,
2997
+ QMSCollapseGroupDirective,
2850
2998
  DateFormatPipe,
2851
2999
  QMSChipInputDirective,
2852
3000
  QMSChipInputSelectFieldDirective,
@@ -2855,7 +3003,8 @@ QmsAngularModule.decorators = [
2855
3003
  QMSChipInputChipListDirective,
2856
3004
  ScrollToSelectedDirective,
2857
3005
  QMSTooltipImageDirective,
2858
- SelectDialog
3006
+ SelectDialog,
3007
+ QMSAppBar
2859
3008
  ],
2860
3009
  imports: [
2861
3010
  CommonModule,
@@ -2867,7 +3016,6 @@ QmsAngularModule.decorators = [
2867
3016
  exports: [
2868
3017
  QmsAngularComponent,
2869
3018
  MarginDirective,
2870
- TestOnlyComponent,
2871
3019
  QMSSearchFieldDirective,
2872
3020
  QMSInputClearDirective,
2873
3021
  QMSFormFieldDirective,
@@ -2901,9 +3049,6 @@ QmsAngularModule.decorators = [
2901
3049
  QMSDrawerContentDirective,
2902
3050
  QMSDrawerHeaderActionDirective,
2903
3051
  QMSToolTipRendererDirective,
2904
- QMSTabLabelDirective,
2905
- QMSTabGroupDirective,
2906
- QMSTabGroupAdvancedDirective,
2907
3052
  DateFormatPipe,
2908
3053
  QMSChipInputDirective,
2909
3054
  QMSChipInputSelectFieldDirective,
@@ -2912,7 +3057,15 @@ QmsAngularModule.decorators = [
2912
3057
  QMSChipInputChipListDirective,
2913
3058
  ScrollToSelectedDirective,
2914
3059
  QMSTooltipImageDirective,
2915
- SelectDialog
3060
+ SelectDialog,
3061
+ QMSAppBar,
3062
+ QMSTableExpandDirective,
3063
+ QMSTableDirective,
3064
+ QMSTableChildrenDirective,
3065
+ QMSRowDetailDirective,
3066
+ QMSRowExpandDirective,
3067
+ CdkDetailRowDirective,
3068
+ QMSCollapseGroupDirective
2916
3069
  ],
2917
3070
  providers: [
2918
3071
  { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: ɵ0$2 },
@@ -3858,7 +4011,7 @@ QMSBreadcrumbModule.decorators = [
3858
4011
  },] }
3859
4012
  ];
3860
4013
 
3861
- var DataType$1;
4014
+ var DataType$2;
3862
4015
  (function (DataType) {
3863
4016
  DataType[DataType["process"] = 2] = "process";
3864
4017
  DataType[DataType["document"] = 1] = "document";
@@ -3870,9 +4023,9 @@ var DataType$1;
3870
4023
  DataType[DataType["deviationType"] = 8] = "deviationType";
3871
4024
  DataType[DataType["checklistCategory"] = 9] = "checklistCategory";
3872
4025
  DataType[DataType["riskFolder"] = 10] = "riskFolder";
3873
- })(DataType$1 || (DataType$1 = {}));
4026
+ })(DataType$2 || (DataType$2 = {}));
3874
4027
 
3875
- var DocumentNodeType$1;
4028
+ var DocumentNodeType$2;
3876
4029
  (function (DocumentNodeType) {
3877
4030
  DocumentNodeType[DocumentNodeType["Document"] = 1] = "Document";
3878
4031
  DocumentNodeType[DocumentNodeType["LinkDocument"] = 2] = "LinkDocument";
@@ -3882,24 +4035,24 @@ var DocumentNodeType$1;
3882
4035
  DocumentNodeType[DocumentNodeType["TopFolder"] = 6] = "TopFolder";
3883
4036
  DocumentNodeType[DocumentNodeType["DepartmentFolder"] = 7] = "DepartmentFolder";
3884
4037
  DocumentNodeType[DocumentNodeType["RegionalFolder"] = 8] = "RegionalFolder";
3885
- })(DocumentNodeType$1 || (DocumentNodeType$1 = {}));
4038
+ })(DocumentNodeType$2 || (DocumentNodeType$2 = {}));
3886
4039
 
3887
- class RelatedConst {
4040
+ class RelatedConst$1 {
3888
4041
  }
3889
- RelatedConst.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
3890
- RelatedConst.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
3891
- RelatedConst.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
4042
+ RelatedConst$1.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
4043
+ RelatedConst$1.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
4044
+ RelatedConst$1.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
3892
4045
 
3893
4046
  class TreeNode$1 {
3894
4047
  }
3895
4048
 
3896
- let objData$1 = {};
3897
- let json = JSON;
3898
- function buildArrayTree$1(obj, level) {
4049
+ let objData$2 = {};
4050
+ let json$1 = JSON;
4051
+ function buildArrayTree$2(obj, level) {
3899
4052
  return Object.keys(obj).reduce((accumulator, key) => {
3900
4053
  const value = obj[key];
3901
4054
  const node = new TreeNode$1();
3902
- const keyObj = json.parse(key);
4055
+ const keyObj = json$1.parse(key);
3903
4056
  node.id = keyObj["id"];
3904
4057
  node.name = keyObj["name"];
3905
4058
  node.parentId = keyObj["parentId"];
@@ -3915,8 +4068,8 @@ function buildArrayTree$1(obj, level) {
3915
4068
  return accumulator.concat(node);
3916
4069
  }, []);
3917
4070
  }
3918
- function buildObjectTree$1(arr) {
3919
- objData$1 = {};
4071
+ function buildObjectTree$2(arr) {
4072
+ objData$2 = {};
3920
4073
  let objTreeData;
3921
4074
  const root = arr.filter((x) => {
3922
4075
  return x.parentId === '';
@@ -3926,7 +4079,7 @@ function buildObjectTree$1(arr) {
3926
4079
  });
3927
4080
  return objTreeData;
3928
4081
  }
3929
- function findParent$1(id, array) {
4082
+ function findParent$2(id, array) {
3930
4083
  const objParent = {};
3931
4084
  const parent = array.filter((x) => {
3932
4085
  return x.rootId === id;
@@ -3938,7 +4091,7 @@ function findParent$1(id, array) {
3938
4091
  parentId: item.rootId,
3939
4092
  levelType: item.levelType
3940
4093
  };
3941
- objParent[json.stringify(parentKey)] = null;
4094
+ objParent[json$1.stringify(parentKey)] = null;
3942
4095
  });
3943
4096
  // find child
3944
4097
  const child = array.filter((x) => {
@@ -3954,10 +4107,10 @@ function findParent$1(id, array) {
3954
4107
  levelType: parent[0].levelType
3955
4108
  };
3956
4109
  // add node to tree
3957
- objData$1[json.stringify(key)] = objParent;
3958
- return objData$1;
4110
+ objData$2[json$1.stringify(key)] = objParent;
4111
+ return objData$2;
3959
4112
  }
3960
- function findChild$1(id, objParent, array) {
4113
+ function findChild$2(id, objParent, array) {
3961
4114
  const subNode = array.filter((x) => {
3962
4115
  return x.parentId === id;
3963
4116
  });
@@ -3969,7 +4122,7 @@ function findChild$1(id, objParent, array) {
3969
4122
  parentId: item.rootId,
3970
4123
  levelType: item.levelType
3971
4124
  };
3972
- processNode[json.stringify(nodeKey)] = null;
4125
+ processNode[json$1.stringify(nodeKey)] = null;
3973
4126
  this.findChild(item.rootId, processNode, array);
3974
4127
  let key = {
3975
4128
  id: item.rootId,
@@ -3977,14 +4130,14 @@ function findChild$1(id, objParent, array) {
3977
4130
  parentId: id,
3978
4131
  levelType: item.levelType
3979
4132
  };
3980
- objParent[json.stringify(key)] = Object.assign(Object.assign({}, objParent[json.stringify(key)]), processNode);
4133
+ objParent[json$1.stringify(key)] = Object.assign(Object.assign({}, objParent[json$1.stringify(key)]), processNode);
3981
4134
  });
3982
4135
  }
3983
- const TreeFunctions = {
3984
- buildArrayTree: buildArrayTree$1,
3985
- buildObjectTree: buildObjectTree$1,
3986
- findParent: findParent$1,
3987
- findChild: findChild$1
4136
+ const TreeFunctions$1 = {
4137
+ buildArrayTree: buildArrayTree$2,
4138
+ buildObjectTree: buildObjectTree$2,
4139
+ findParent: findParent$2,
4140
+ findChild: findChild$2
3988
4141
  };
3989
4142
 
3990
4143
  class TreeFlatNode {
@@ -4036,7 +4189,7 @@ class TreeComponent {
4036
4189
  this.isChecked = false;
4037
4190
  this.idCheckIcon = '';
4038
4191
  this.listChildNode = [];
4039
- this.dataType = DataType$1;
4192
+ this.dataType = DataType$2;
4040
4193
  this.transformer = (node, level) => {
4041
4194
  let checkHasChild = true;
4042
4195
  if (!node.children) {
@@ -4129,8 +4282,8 @@ class TreeComponent {
4129
4282
  }
4130
4283
  });
4131
4284
  this.filterData = this.treeData;
4132
- this.treeObject = TreeFunctions.buildObjectTree(this.filterData);
4133
- this.dataSource.data = TreeFunctions.buildArrayTree(this.treeObject || {}, 0).map(element => {
4285
+ this.treeObject = TreeFunctions$1.buildObjectTree(this.filterData);
4286
+ this.dataSource.data = TreeFunctions$1.buildArrayTree(this.treeObject || {}, 0).map(element => {
4134
4287
  const item = this.sortDataTree(element);
4135
4288
  element = null;
4136
4289
  element = Object.assign({}, item);
@@ -4239,6 +4392,9 @@ class TreeComponent {
4239
4392
  }
4240
4393
  checkDisabledList() {
4241
4394
  // Disable List
4395
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4396
+ this.treeControl.dataNodes[i].disabled = false;
4397
+ }
4242
4398
  if (this.disabledList.length) {
4243
4399
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4244
4400
  this.disabledList.forEach(x => {
@@ -4486,8 +4642,8 @@ class TreeComponent {
4486
4642
  this.checkBoxEvent.emit(this.checklistSelection.selected);
4487
4643
  }
4488
4644
  selectNode(node) {
4489
- if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {
4490
- window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');
4645
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
4646
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
4491
4647
  }
4492
4648
  if (this.treeConfig.selectOne) {
4493
4649
  node.itemType = this.checkDataTypeSelectNode(node);
@@ -4498,11 +4654,11 @@ class TreeComponent {
4498
4654
  checkDataTypeSelectNode(node) {
4499
4655
  let itemType = -1;
4500
4656
  switch (this.moduleId) {
4501
- case DataType$1.process:
4502
- itemType = node.expandable ? DataType$1.area : DataType$1.process;
4657
+ case DataType$2.process:
4658
+ itemType = node.expandable ? DataType$2.area : DataType$2.process;
4503
4659
  break;
4504
- case DataType$1.document:
4505
- itemType = node.expandable ? DataType$1.folder : DataType$1.document;
4660
+ case DataType$2.document:
4661
+ itemType = node.expandable ? DataType$2.folder : DataType$2.document;
4506
4662
  break;
4507
4663
  default:
4508
4664
  itemType = this.moduleId;
@@ -4525,8 +4681,8 @@ class TreeComponent {
4525
4681
  this.selectNodeEvent.emit(node);
4526
4682
  return;
4527
4683
  }
4528
- if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {
4529
- window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');
4684
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
4685
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
4530
4686
  }
4531
4687
  // set useExpandFeature = true to improve performance of tree loading
4532
4688
  if (!isExpandNode || !this.useExpandFeature) {
@@ -4661,17 +4817,17 @@ class TreeComponent {
4661
4817
  return this.treeControl.isExpanded(node) ? this.openIcon : this.closeIcon;
4662
4818
  }
4663
4819
  switch (this.moduleId) {
4664
- case DataType$1.document: {
4820
+ case DataType$2.document: {
4665
4821
  const nodeData = this.treeData.filter(x => { return x.rootId === node.id; });
4666
4822
  if (nodeData.length > 0) {
4667
4823
  switch (nodeData[0].levelType) {
4668
- case DocumentNodeType$1.DepartmentFolder:
4824
+ case DocumentNodeType$2.DepartmentFolder:
4669
4825
  return this.treeControl.isExpanded(node) ? 'department_folder_outlined' : 'department_folder';
4670
- case DocumentNodeType$1.RegionalFolder:
4826
+ case DocumentNodeType$2.RegionalFolder:
4671
4827
  return this.treeControl.isExpanded(node) ? 'regional_folder_outlined' : 'regional_folder';
4672
- case DocumentNodeType$1.TopFolder:
4828
+ case DocumentNodeType$2.TopFolder:
4673
4829
  return this.treeControl.isExpanded(node) ? 'enterprise_folder_outlined' : 'enterprise_folder';
4674
- case DocumentNodeType$1.Folder:
4830
+ case DocumentNodeType$2.Folder:
4675
4831
  return this.treeControl.isExpanded(node) ? 'local_folder_outlined' : 'local_folder';
4676
4832
  default:
4677
4833
  return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';
@@ -4679,7 +4835,7 @@ class TreeComponent {
4679
4835
  }
4680
4836
  return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
4681
4837
  }
4682
- case DataType$1.process:
4838
+ case DataType$2.process:
4683
4839
  return this.treeControl.isExpanded(node) ? 'process_area_outlined' : 'process_area';
4684
4840
  default:
4685
4841
  return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
@@ -4687,26 +4843,26 @@ class TreeComponent {
4687
4843
  }
4688
4844
  getItemIcon(node) {
4689
4845
  switch (this.moduleId) {
4690
- case DataType$1.document:
4846
+ case DataType$2.document:
4691
4847
  switch (node.levelType) {
4692
- case DocumentNodeType$1.DepartmentFolder:
4848
+ case DocumentNodeType$2.DepartmentFolder:
4693
4849
  return 'document_department';
4694
- case DocumentNodeType$1.RegionalFolder:
4850
+ case DocumentNodeType$2.RegionalFolder:
4695
4851
  return 'document_regional';
4696
- case DocumentNodeType$1.TopFolder:
4852
+ case DocumentNodeType$2.TopFolder:
4697
4853
  return 'document_enterprise';
4698
- case DocumentNodeType$1.Folder:
4854
+ case DocumentNodeType$2.Folder:
4699
4855
  return 'document_local';
4700
4856
  default:
4701
4857
  return 'document';
4702
4858
  }
4703
- case DataType$1.process:
4859
+ case DataType$2.process:
4704
4860
  return 'process';
4705
- case DataType$1.checklist:
4861
+ case DataType$2.checklist:
4706
4862
  return 'checklist';
4707
- case DataType$1.deviation:
4863
+ case DataType$2.deviation:
4708
4864
  return 'deviation';
4709
- case DataType$1.risk:
4865
+ case DataType$2.risk:
4710
4866
  return 'risk';
4711
4867
  default:
4712
4868
  return 'document';
@@ -4735,9 +4891,9 @@ class TreeComponent {
4735
4891
  TreeComponent.decorators = [
4736
4892
  { type: Component, args: [{
4737
4893
  selector: 'qms-tree',
4738
- 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",
4739
4895
  encapsulation: ViewEncapsulation.None,
4740
- 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}"]
4741
4897
  },] }
4742
4898
  ];
4743
4899
  TreeComponent.ctorParameters = () => [
@@ -4799,7 +4955,7 @@ QMSTreeModule.decorators = [
4799
4955
  class RelatedContentComponent {
4800
4956
  constructor() {
4801
4957
  this.contents = [];
4802
- this.dataType = DataType$1;
4958
+ this.dataType = DataType$2;
4803
4959
  this.imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';
4804
4960
  }
4805
4961
  ngOnInit() {
@@ -4833,7 +4989,7 @@ class RelatedListComponent {
4833
4989
  this.iconRegistry = iconRegistry;
4834
4990
  this.appIconService = appIconService;
4835
4991
  this.relatedData = [];
4836
- this.dataType = DataType$1;
4992
+ this.dataType = DataType$2;
4837
4993
  // imageProcess = '../qms-angular/src/assets/images/union.svg';
4838
4994
  this.imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';
4839
4995
  this.updateData = new EventEmitter();
@@ -4887,43 +5043,43 @@ class RelatedListComponent {
4887
5043
  }
4888
5044
  getNodeIcon(item) {
4889
5045
  switch (item.itemType) {
4890
- case DataType$1.folder: {
5046
+ case DataType$2.folder: {
4891
5047
  switch (item.levelType) {
4892
- case DocumentNodeType$1.DepartmentFolder:
5048
+ case DocumentNodeType$2.DepartmentFolder:
4893
5049
  return 'department_folder_outlined';
4894
- case DocumentNodeType$1.RegionalFolder:
5050
+ case DocumentNodeType$2.RegionalFolder:
4895
5051
  return 'regional_folder_outlined';
4896
- case DocumentNodeType$1.TopFolder:
5052
+ case DocumentNodeType$2.TopFolder:
4897
5053
  return 'enterprise_folder_outlined';
4898
- case DocumentNodeType$1.Folder:
5054
+ case DocumentNodeType$2.Folder:
4899
5055
  return 'local_folder_outlined';
4900
5056
  default:
4901
5057
  return 'folder_outlined';
4902
5058
  }
4903
5059
  }
4904
- case DataType$1.document: {
5060
+ case DataType$2.document: {
4905
5061
  switch (item.levelType) {
4906
- case DocumentNodeType$1.DepartmentFolder:
5062
+ case DocumentNodeType$2.DepartmentFolder:
4907
5063
  return 'document_department';
4908
- case DocumentNodeType$1.RegionalFolder:
5064
+ case DocumentNodeType$2.RegionalFolder:
4909
5065
  return 'document_regional';
4910
- case DocumentNodeType$1.TopFolder:
5066
+ case DocumentNodeType$2.TopFolder:
4911
5067
  return 'document_enterprise';
4912
- case DocumentNodeType$1.Folder:
5068
+ case DocumentNodeType$2.Folder:
4913
5069
  return 'document_local';
4914
5070
  default:
4915
5071
  return 'document';
4916
5072
  }
4917
5073
  }
4918
- case DataType$1.area:
5074
+ case DataType$2.area:
4919
5075
  return 'process_area_outlined';
4920
- case DataType$1.process:
5076
+ case DataType$2.process:
4921
5077
  return 'process';
4922
- case DataType$1.deviation:
5078
+ case DataType$2.deviation:
4923
5079
  return 'deviation';
4924
- case DataType$1.checklist:
5080
+ case DataType$2.checklist:
4925
5081
  return 'checklist';
4926
- case DataType$1.risk:
5082
+ case DataType$2.risk:
4927
5083
  return 'risk';
4928
5084
  default:
4929
5085
  return 'folder_outlined';
@@ -4957,13 +5113,13 @@ RelatedListComponent.propDecorators = {
4957
5113
  class TreeModel {
4958
5114
  }
4959
5115
 
4960
- var ModuleType$1;
5116
+ var ModuleType$2;
4961
5117
  (function (ModuleType) {
4962
5118
  ModuleType[ModuleType["documentProcess"] = 1] = "documentProcess";
4963
5119
  ModuleType[ModuleType["deviation"] = 2] = "deviation";
4964
5120
  ModuleType[ModuleType["checklist"] = 3] = "checklist";
4965
5121
  ModuleType[ModuleType["risk"] = 4] = "risk";
4966
- })(ModuleType$1 || (ModuleType$1 = {}));
5122
+ })(ModuleType$2 || (ModuleType$2 = {}));
4967
5123
 
4968
5124
  class PopupData {
4969
5125
  constructor() {
@@ -5041,8 +5197,8 @@ class RelatedPopupComponent {
5041
5197
  this.documentCheckedList = [];
5042
5198
  this.singleProcessList = [];
5043
5199
  this.singleDocumentList = [];
5044
- this.module = ModuleType$1;
5045
- this.dataType = DataType$1;
5200
+ this.module = ModuleType$2;
5201
+ this.dataType = DataType$2;
5046
5202
  this.itemType = 0;
5047
5203
  this.selectedRiskData = [];
5048
5204
  this.disabledList = [];
@@ -5090,7 +5246,7 @@ class RelatedPopupComponent {
5090
5246
  this.globalService.setSplitviewValue([]);
5091
5247
  }
5092
5248
  onMessage(event) {
5093
- if (event.data === RelatedConst.HIDE_SEARCH_RESULT) {
5249
+ if (event.data === RelatedConst$1.HIDE_SEARCH_RESULT) {
5094
5250
  // this.autoComplete.closePanel();
5095
5251
  }
5096
5252
  }
@@ -5111,7 +5267,7 @@ class RelatedPopupComponent {
5111
5267
  let listNodeProcess = [];
5112
5268
  let listNodeDocs = [];
5113
5269
  res.forEach(item => {
5114
- if (item.itemType === DataType$1.process) {
5270
+ if (item.itemType === DataType$2.process) {
5115
5271
  let newNodeProcess = new TreeModel();
5116
5272
  newNodeProcess.childId = item.id;
5117
5273
  newNodeProcess.childName = item.itemName;
@@ -5147,13 +5303,13 @@ class RelatedPopupComponent {
5147
5303
  let selectProcess = [];
5148
5304
  let selectDocument = [];
5149
5305
  this.checkedNodeList.forEach(x => {
5150
- if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5306
+ if (x.itemType === DataType$2.area || x.itemType === DataType$2.process) {
5151
5307
  this.treeData1.forEach(item => {
5152
5308
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5153
5309
  selectProcess.push({
5154
5310
  disabled: false,
5155
- expandable: x.itemType == DataType$1.area ? true : false,
5156
- hasChild: x.itemType == DataType$1.area ? true : false,
5311
+ expandable: x.itemType == DataType$2.area ? true : false,
5312
+ hasChild: x.itemType == DataType$2.area ? true : false,
5157
5313
  id: x.id,
5158
5314
  level: 0,
5159
5315
  levelType: undefined,
@@ -5168,8 +5324,8 @@ class RelatedPopupComponent {
5168
5324
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5169
5325
  selectDocument.push({
5170
5326
  disabled: false,
5171
- expandable: x.itemType == DataType$1.folder ? true : false,
5172
- hasChild: x.itemType == DataType$1.folder ? true : false,
5327
+ expandable: x.itemType == DataType$2.folder ? true : false,
5328
+ hasChild: x.itemType == DataType$2.folder ? true : false,
5173
5329
  id: x.id,
5174
5330
  level: 0,
5175
5331
  levelType: undefined,
@@ -5205,16 +5361,16 @@ class RelatedPopupComponent {
5205
5361
  getDataTypeId(moduleId) {
5206
5362
  let itemType;
5207
5363
  switch (moduleId) {
5208
- case ModuleType$1.documentProcess:
5364
+ case ModuleType$2.documentProcess:
5209
5365
  itemType = this.dataType.process;
5210
5366
  break;
5211
- case ModuleType$1.deviation:
5367
+ case ModuleType$2.deviation:
5212
5368
  itemType = this.dataType.deviation;
5213
5369
  break;
5214
- case ModuleType$1.checklist:
5370
+ case ModuleType$2.checklist:
5215
5371
  itemType = this.dataType.checklist;
5216
5372
  break;
5217
- case ModuleType$1.risk:
5373
+ case ModuleType$2.risk:
5218
5374
  itemType = this.dataType.risk;
5219
5375
  break;
5220
5376
  default:
@@ -5387,13 +5543,13 @@ class RelatedPopupComponent {
5387
5543
  let selectDocument = [];
5388
5544
  if (this.checkedNodeList.length) {
5389
5545
  this.checkedNodeList.forEach(x => {
5390
- if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5546
+ if (x.itemType === DataType$2.area || x.itemType === DataType$2.process) {
5391
5547
  this.treeData1.forEach(item => {
5392
5548
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5393
5549
  selectProcess.push({
5394
5550
  disabled: false,
5395
- expandable: x.itemType == DataType$1.area ? true : false,
5396
- hasChild: x.itemType == DataType$1.area ? true : false,
5551
+ expandable: x.itemType == DataType$2.area ? true : false,
5552
+ hasChild: x.itemType == DataType$2.area ? true : false,
5397
5553
  id: x.id,
5398
5554
  level: 0,
5399
5555
  levelType: undefined,
@@ -5408,8 +5564,8 @@ class RelatedPopupComponent {
5408
5564
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5409
5565
  selectDocument.push({
5410
5566
  disabled: false,
5411
- expandable: x.itemType == DataType$1.folder ? true : false,
5412
- hasChild: x.itemType == DataType$1.folder ? true : false,
5567
+ expandable: x.itemType == DataType$2.folder ? true : false,
5568
+ hasChild: x.itemType == DataType$2.folder ? true : false,
5413
5569
  id: x.id,
5414
5570
  level: 0,
5415
5571
  levelType: undefined,
@@ -5584,13 +5740,13 @@ class RelatedPopupComponent {
5584
5740
  let selectDocument = [];
5585
5741
  if (this.checkedNodeList.length) {
5586
5742
  this.checkedNodeList.forEach(x => {
5587
- if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5743
+ if (x.itemType === DataType$2.area || x.itemType === DataType$2.process) {
5588
5744
  this.treeData1.forEach(item => {
5589
5745
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5590
5746
  selectProcess.push({
5591
5747
  disabled: false,
5592
- expandable: x.itemType == DataType$1.area ? true : false,
5593
- hasChild: x.itemType == DataType$1.area ? true : false,
5748
+ expandable: x.itemType == DataType$2.area ? true : false,
5749
+ hasChild: x.itemType == DataType$2.area ? true : false,
5594
5750
  id: x.id,
5595
5751
  level: 0,
5596
5752
  levelType: undefined,
@@ -5605,8 +5761,8 @@ class RelatedPopupComponent {
5605
5761
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5606
5762
  selectDocument.push({
5607
5763
  disabled: false,
5608
- expandable: x.itemType == DataType$1.folder ? true : false,
5609
- hasChild: x.itemType == DataType$1.folder ? true : false,
5764
+ expandable: x.itemType == DataType$2.folder ? true : false,
5765
+ hasChild: x.itemType == DataType$2.folder ? true : false,
5610
5766
  id: x.id,
5611
5767
  level: 0,
5612
5768
  levelType: undefined,
@@ -5842,12 +5998,12 @@ class RelatedPopupComponent {
5842
5998
  this.selectedFolder = null;
5843
5999
  this.itemInSplitview = [];
5844
6000
  this.checkedNodeList.forEach(element => {
5845
- if (element.itemType === DataType$1.document) {
6001
+ if (element.itemType === DataType$2.document) {
5846
6002
  element.status = this.getStatusDocs(element.id);
5847
6003
  element.breadcumbs = this.getBreadcumbAllParentDocs(element.id).slice(1).reverse();
5848
6004
  element.statusName = this.getStatusName(element.id);
5849
6005
  }
5850
- if (element.itemType === DataType$1.process) {
6006
+ if (element.itemType === DataType$2.process) {
5851
6007
  element.status = this.getStatusProcess(element.id);
5852
6008
  element.breadcumbs = this.getBreadcumbAllParentProcess(element.id).slice(1).reverse();
5853
6009
  }
@@ -5935,7 +6091,7 @@ class RelatedPopupComponent {
5935
6091
  return (elmHeight + elmMargin);
5936
6092
  }
5937
6093
  getItemChipName(item) {
5938
- if (item.itemType === DataType$1.checklist || item.itemType === DataType$1.deviation) {
6094
+ if (item.itemType === DataType$2.checklist || item.itemType === DataType$2.deviation) {
5939
6095
  return (item.parentName && item.itemName !== item.parentName) ? `${item.parentName}/${item.itemName}` : item.itemName;
5940
6096
  }
5941
6097
  return item.itemName;
@@ -5945,43 +6101,43 @@ class RelatedPopupComponent {
5945
6101
  }
5946
6102
  getNodeIcon(item) {
5947
6103
  switch (item.itemType) {
5948
- case DataType$1.folder: {
6104
+ case DataType$2.folder: {
5949
6105
  switch (item.levelType) {
5950
- case DocumentNodeType$1.DepartmentFolder:
6106
+ case DocumentNodeType$2.DepartmentFolder:
5951
6107
  return 'department_folder_outlined';
5952
- case DocumentNodeType$1.RegionalFolder:
6108
+ case DocumentNodeType$2.RegionalFolder:
5953
6109
  return 'regional_folder_outlined';
5954
- case DocumentNodeType$1.TopFolder:
6110
+ case DocumentNodeType$2.TopFolder:
5955
6111
  return 'enterprise_folder_outlined';
5956
- case DocumentNodeType$1.Folder:
6112
+ case DocumentNodeType$2.Folder:
5957
6113
  return 'local_folder_outlined';
5958
6114
  default:
5959
6115
  return 'folder_outlined';
5960
6116
  }
5961
6117
  }
5962
- case DataType$1.document: {
6118
+ case DataType$2.document: {
5963
6119
  switch (item.levelType) {
5964
- case DocumentNodeType$1.DepartmentFolder:
6120
+ case DocumentNodeType$2.DepartmentFolder:
5965
6121
  return 'document_department';
5966
- case DocumentNodeType$1.RegionalFolder:
6122
+ case DocumentNodeType$2.RegionalFolder:
5967
6123
  return 'document_regional';
5968
- case DocumentNodeType$1.TopFolder:
6124
+ case DocumentNodeType$2.TopFolder:
5969
6125
  return 'document_enterprise';
5970
- case DocumentNodeType$1.Folder:
6126
+ case DocumentNodeType$2.Folder:
5971
6127
  return 'document_local';
5972
6128
  default:
5973
6129
  return 'document';
5974
6130
  }
5975
6131
  }
5976
- case DataType$1.area:
6132
+ case DataType$2.area:
5977
6133
  return 'process_area_outlined';
5978
- case DataType$1.process:
6134
+ case DataType$2.process:
5979
6135
  return 'process';
5980
- case DataType$1.deviation:
6136
+ case DataType$2.deviation:
5981
6137
  return 'deviation';
5982
- case DataType$1.checklist:
6138
+ case DataType$2.checklist:
5983
6139
  return 'checklist';
5984
- case DataType$1.risk:
6140
+ case DataType$2.risk:
5985
6141
  return 'risk';
5986
6142
  default:
5987
6143
  return 'folder_outlined';
@@ -5995,25 +6151,25 @@ class RelatedPopupComponent {
5995
6151
  }
5996
6152
  getTitle(type) {
5997
6153
  switch (type) {
5998
- case DataType$1.process:
6154
+ case DataType$2.process:
5999
6155
  return this.LANG.PROCESSES;
6000
- case DataType$1.area:
6156
+ case DataType$2.area:
6001
6157
  return this.LANG.PROCESS_AREA;
6002
- case DataType$1.document:
6158
+ case DataType$2.document:
6003
6159
  return this.LANG.DOCUMENTS;
6004
- case DataType$1.folder:
6160
+ case DataType$2.folder:
6005
6161
  return this.LANG.FOLDER;
6006
- case DataType$1.deviation:
6162
+ case DataType$2.deviation:
6007
6163
  return this.LANG.DEVIATION;
6008
- case DataType$1.deviationType:
6164
+ case DataType$2.deviationType:
6009
6165
  return this.LANG.DEVIATION_TYPE;
6010
- case DataType$1.checklist:
6166
+ case DataType$2.checklist:
6011
6167
  return this.LANG.CHECKLIST;
6012
- case DataType$1.checklistCategory:
6168
+ case DataType$2.checklistCategory:
6013
6169
  return this.LANG.CHECKLIST_CATEGORY;
6014
- case DataType$1.risk:
6170
+ case DataType$2.risk:
6015
6171
  return this.LANG.ASSESSMENT;
6016
- case DataType$1.riskFolder:
6172
+ case DataType$2.riskFolder:
6017
6173
  return this.LANG.FOLDER;
6018
6174
  }
6019
6175
  }
@@ -6081,11 +6237,11 @@ class RelatedPopupComponent {
6081
6237
  }
6082
6238
  canShowSearchOption(moduleId) {
6083
6239
  if (this.canOnlySelectItem &&
6084
- (moduleId === DataType$1.checklistCategory
6085
- || moduleId === DataType$1.riskFolder
6086
- || moduleId === DataType$1.deviationType
6087
- || (moduleId === DataType$1.area && this.treeConfig1 && !this.treeConfig1.singleSelectedNode)
6088
- || (moduleId === DataType$1.folder && this.treeConfig2 && !this.treeConfig2.singleSelectedNode))) {
6240
+ (moduleId === DataType$2.checklistCategory
6241
+ || moduleId === DataType$2.riskFolder
6242
+ || moduleId === DataType$2.deviationType
6243
+ || (moduleId === DataType$2.area && this.treeConfig1 && !this.treeConfig1.singleSelectedNode)
6244
+ || (moduleId === DataType$2.folder && this.treeConfig2 && !this.treeConfig2.singleSelectedNode))) {
6089
6245
  return false;
6090
6246
  }
6091
6247
  return this.getModuleFilteredOptions(moduleId).length > 0;
@@ -6098,7 +6254,7 @@ class RelatedPopupComponent {
6098
6254
  let position = -1;
6099
6255
  let parentName = '';
6100
6256
  let itemNumberId = '';
6101
- if (node.itemType == DataType$1.folder || node.itemType == DataType$1.document) {
6257
+ if (node.itemType == DataType$2.folder || node.itemType == DataType$2.document) {
6102
6258
  position = !node.expandable ? this.treeData2.findIndex(p => p.childId === node.id && p.rootId === node.parentId) :
6103
6259
  this.treeData2.findIndex(p => p.rootId === node.id);
6104
6260
  parentName = this.treeData2[position].parentId ? this.treeData2[position].subName : this.treeData2[position].rootName;
@@ -6147,7 +6303,7 @@ class RelatedPopupComponent {
6147
6303
  RelatedPopupComponent.decorators = [
6148
6304
  { type: Component, args: [{
6149
6305
  selector: 'qms-related-popup',
6150
- template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName | uppercase }}</span>\r\n </div>\r\n </div>\r\n\r\n <div id=\"qmslib_related_popup_search\" class=\"input__field\">\r\n <input\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n (optionSelected)=\"selectRelated($event.option.value)\"\r\n [displayWith]=\"displayWhenSelectRelatedOption\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n [class.related-viewport]=\"isInputValue\"\r\n >\r\n <ng-container *ngFor=\"let type of searchOrder\">\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"canShowSearchOption(type.value)\"\r\n >\r\n <span class=\"search__module-title\">{{ getTitle(type.value) }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(type.value)\"\r\n [value]=\"option\"\r\n [disabled]=\"option.disabled\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </ng-container>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length,\r\n 'col-6': splitView,\r\n 'col-12': !splitView\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title *ngIf=\"moduleId === module.documentProcess\">\r\n {{ LANG.PROCESSES | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.deviation\">\r\n {{ LANG.DEVIATION | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.checklist\">\r\n {{ LANG.CHECKLIST | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.risk\">\r\n {{ LANG.ASSESSMENT | uppercase }}\r\n </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isCommonExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData1\"\r\n [treeConfig]=\"treeConfig1\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (checkBoxEvent)=\"getCommonCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.area)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeProcess($event)\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n <div\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n class=\"line__divider\"\r\n ></div>\r\n\r\n <mat-expansion-panel\r\n hideToggle\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n id=\"qmslib_related_popup_document_001\"\r\n [expanded]=\"isDocumentExpanded\"\r\n (opened)=\"isDocumentExpanded = true\"\r\n (closed)=\"isDocumentExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title> {{ LANG.DOCUMENTS | uppercase }} </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isDocumentExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_document_002\">\r\n <qms-tree\r\n [treeData]=\"treeData2\"\r\n [treeConfig]=\"treeConfig2\"\r\n [selectedData]=\"selectedData2\"\r\n [disabledList]=\"disabledList2\"\r\n (checkBoxEvent)=\"getDocumentCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.folder)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeDocument($event)\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n <div\r\n *ngIf=\"splitView\"\r\n class=\"\r\n qms-scrollbar\r\n qmslib-related-popup-splitview qmslib_related_popup_content\r\n col-6\r\n \"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <div class=\"splitview-header\" *ngIf=\"selectedFolder\">\r\n {{ splitViewTitle }}\r\n </div>\r\n <div class=\"expand-node\" *ngFor=\"let node of itemInSplitview\">\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n [checked]=\"isNodeSelected(node)\"\r\n (change)=\"toggleSelectItem(node)\"\r\n ></mat-checkbox>\r\n <mat-icon\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.itemName }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon\r\n *ngIf=\"!(treeConfig1?.selectOne || treeConfig2?.selectOne)\"\r\n (click)=\"removeCheckedNodeList(item)\"\r\n >cancel</mat-icon\r\n >\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
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",
6151
6307
  encapsulation: ViewEncapsulation.None,
6152
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}"]
6153
6309
  },] }
@@ -6216,7 +6372,7 @@ class RiskAnalysisComponent {
6216
6372
  showCheckBox: true,
6217
6373
  allowMultipleCheck: true,
6218
6374
  onlyCheckBoxForChild: false,
6219
- moduleId: DataType$1.risk,
6375
+ moduleId: DataType$2.risk,
6220
6376
  openIcon: 'keyboard_arrow_up',
6221
6377
  openIconColor: '#1954A9',
6222
6378
  closeIcon: 'keyboard_arrow_down',
@@ -7167,8 +7323,8 @@ var QMSCKEditorDocumentType;
7167
7323
  class TreeNode {
7168
7324
  }
7169
7325
 
7170
- let objData = {};
7171
- function buildArrayTree(obj, level) {
7326
+ let objData$1 = {};
7327
+ function buildArrayTree$1(obj, level) {
7172
7328
  return Object.keys(obj).reduce((accumulator, key) => {
7173
7329
  const value = obj[key];
7174
7330
  const node = new TreeNode();
@@ -7186,8 +7342,8 @@ function buildArrayTree(obj, level) {
7186
7342
  return accumulator.concat(node);
7187
7343
  }, []);
7188
7344
  }
7189
- function buildObjectTree(arr) {
7190
- objData = {};
7345
+ function buildObjectTree$1(arr) {
7346
+ objData$1 = {};
7191
7347
  let objTreeData;
7192
7348
  const root = arr.filter((x) => {
7193
7349
  return x.parentId === '';
@@ -7197,7 +7353,7 @@ function buildObjectTree(arr) {
7197
7353
  });
7198
7354
  return objTreeData;
7199
7355
  }
7200
- function findParent(id, array) {
7356
+ function findParent$1(id, array) {
7201
7357
  const objParent = {};
7202
7358
  const parent = array.filter((x) => {
7203
7359
  return x.rootId === id;
@@ -7213,10 +7369,10 @@ function findParent(id, array) {
7213
7369
  this.findChild(id, objParent, array);
7214
7370
  }
7215
7371
  // add node to tree
7216
- objData[`${parent[0].rootId}_${parent[0].rootName}`] = objParent;
7217
- return objData;
7372
+ objData$1[`${parent[0].rootId}_${parent[0].rootName}`] = objParent;
7373
+ return objData$1;
7218
7374
  }
7219
- function findChild(id, objParent, array) {
7375
+ function findChild$1(id, objParent, array) {
7220
7376
  const subNode = array.filter((x) => {
7221
7377
  return x.parentId === id;
7222
7378
  });
@@ -7224,14 +7380,14 @@ function findChild(id, objParent, array) {
7224
7380
  const processNode = {};
7225
7381
  processNode[`${item.childId}_${item.childName}`] = null;
7226
7382
  objParent[`${item.rootId}_${item.subName}`] = processNode;
7227
- findChild(item.rootId, processNode, array);
7383
+ findChild$1(item.rootId, processNode, array);
7228
7384
  });
7229
7385
  }
7230
7386
  const QMSCKEditorTreeFunctions = {
7231
- buildArrayTree,
7232
- buildObjectTree,
7233
- findParent,
7234
- findChild
7387
+ buildArrayTree: buildArrayTree$1,
7388
+ buildObjectTree: buildObjectTree$1,
7389
+ findParent: findParent$1,
7390
+ findChild: findChild$1
7235
7391
  };
7236
7392
 
7237
7393
  class QMSCKEditorTreeService extends QMSCKEditorBaseService {
@@ -8353,7 +8509,7 @@ function getCKEditorConfiguration(itemToolbar) {
8353
8509
  },
8354
8510
  language: 'en',
8355
8511
  table: {
8356
- contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells']
8512
+ contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells', 'tableProperties', 'tableCellProperties']
8357
8513
  },
8358
8514
  image: {
8359
8515
  styles: ['alignLeft', 'alignCenter', 'alignRight'],
@@ -15638,7 +15794,7 @@ QmsAppBarComponent.decorators = [
15638
15794
  { type: Component, args: [{
15639
15795
  selector: 'app-qms-app-bar',
15640
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>",
15641
- 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}"]
15642
15798
  },] }
15643
15799
  ];
15644
15800
  QmsAppBarComponent.ctorParameters = () => [];
@@ -15685,16 +15841,6 @@ QmsAppBarModule.decorators = [
15685
15841
  },] }
15686
15842
  ];
15687
15843
 
15688
- class IconModel {
15689
- constructor(icon, tooltip, cssClass = '', svg = false, isShow = true) {
15690
- this.icon = icon;
15691
- this.tooltip = tooltip;
15692
- this.svg = svg;
15693
- this.cssClass = cssClass;
15694
- this.isShow = isShow;
15695
- }
15696
- }
15697
-
15698
15844
  class ConfirmDialog {
15699
15845
  constructor() {
15700
15846
  this.title = '';
@@ -15741,6 +15887,93 @@ QMSTooltipModule.decorators = [
15741
15887
  },] }
15742
15888
  ];
15743
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
+
15744
15977
  class QmsBannerContent {
15745
15978
  }
15746
15979
  var BannerType;
@@ -15759,7 +15992,7 @@ class QmsBannerConfirmButtonClick {
15759
15992
 
15760
15993
  class QmsBannerComponent {
15761
15994
  constructor() {
15762
- this.type = BannerType.primary;
15995
+ this.type = '' || BannerType.primary;
15763
15996
  this.contents = [];
15764
15997
  this.buttonClick = new EventEmitter();
15765
15998
  }
@@ -15891,6 +16124,69 @@ QmsBannerConfirmModule.decorators = [
15891
16124
  },] }
15892
16125
  ];
15893
16126
 
16127
+ const QmsStatusDropdownClassTypeMapping = {
16128
+ 1: 'light',
16129
+ 2: 'warning',
16130
+ 3: 'success',
16131
+ 4: 'danger'
16132
+ };
16133
+ class QmsStatusDropdownComponent {
16134
+ constructor() {
16135
+ this.options = [];
16136
+ this.valueChange = new EventEmitter();
16137
+ }
16138
+ getClassType(type) {
16139
+ return QmsStatusDropdownClassTypeMapping[type];
16140
+ }
16141
+ onModelChange() {
16142
+ this.valueChange.emit(this.value);
16143
+ }
16144
+ }
16145
+ QmsStatusDropdownComponent.decorators = [
16146
+ { type: Component, args: [{
16147
+ selector: 'qms-status-dropdown',
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>",
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}"]
16150
+ },] }
16151
+ ];
16152
+ QmsStatusDropdownComponent.propDecorators = {
16153
+ options: [{ type: Input }],
16154
+ value: [{ type: Input }],
16155
+ width: [{ type: Input }],
16156
+ valueChange: [{ type: Output }]
16157
+ };
16158
+
16159
+ class QmsStatusDropdownModule {
16160
+ }
16161
+ QmsStatusDropdownModule.decorators = [
16162
+ { type: NgModule, args: [{
16163
+ declarations: [
16164
+ QmsStatusDropdownComponent
16165
+ ],
16166
+ imports: [
16167
+ CommonModule,
16168
+ FormsModule,
16169
+ ReactiveFormsModule,
16170
+ MatSelectModule,
16171
+ MatOptionModule,
16172
+ MatFormFieldModule
16173
+ ],
16174
+ exports: [
16175
+ QmsStatusDropdownComponent
16176
+ ]
16177
+ },] }
16178
+ ];
16179
+
16180
+ var QmsStatusDropdownType;
16181
+ (function (QmsStatusDropdownType) {
16182
+ QmsStatusDropdownType[QmsStatusDropdownType["Light"] = 1] = "Light";
16183
+ QmsStatusDropdownType[QmsStatusDropdownType["Warning"] = 2] = "Warning";
16184
+ QmsStatusDropdownType[QmsStatusDropdownType["Success"] = 3] = "Success";
16185
+ QmsStatusDropdownType[QmsStatusDropdownType["Danger"] = 4] = "Danger";
16186
+ })(QmsStatusDropdownType || (QmsStatusDropdownType = {}));
16187
+ class QmsStatusDropdownOption {
16188
+ }
16189
+
15894
16190
  class QMSTableAction {
15895
16191
  constructor(elRef) {
15896
16192
  this.elRef = elRef;
@@ -15961,14 +16257,45 @@ QMSTableModule.decorators = [
15961
16257
  class BreadcrumbNode {
15962
16258
  }
15963
16259
 
15964
- class StepModel {
15965
- constructor(id, name, disabled, selected) {
15966
- this.id = id;
15967
- this.disabled = disabled;
15968
- this.name = name;
15969
- this.selected = selected;
15970
- }
15971
- }
16260
+ class RelatedConst {
16261
+ }
16262
+ RelatedConst.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
16263
+ RelatedConst.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
16264
+ RelatedConst.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
16265
+
16266
+ var DataType$1;
16267
+ (function (DataType) {
16268
+ DataType[DataType["process"] = 2] = "process";
16269
+ DataType[DataType["document"] = 1] = "document";
16270
+ DataType[DataType["area"] = 3] = "area";
16271
+ DataType[DataType["folder"] = 4] = "folder";
16272
+ DataType[DataType["deviation"] = 5] = "deviation";
16273
+ DataType[DataType["checklist"] = 6] = "checklist";
16274
+ DataType[DataType["risk"] = 7] = "risk";
16275
+ DataType[DataType["deviationType"] = 8] = "deviationType";
16276
+ DataType[DataType["checklistCategory"] = 9] = "checklistCategory";
16277
+ DataType[DataType["riskFolder"] = 10] = "riskFolder";
16278
+ })(DataType$1 || (DataType$1 = {}));
16279
+
16280
+ var DocumentNodeType$1;
16281
+ (function (DocumentNodeType) {
16282
+ DocumentNodeType[DocumentNodeType["Document"] = 1] = "Document";
16283
+ DocumentNodeType[DocumentNodeType["LinkDocument"] = 2] = "LinkDocument";
16284
+ DocumentNodeType[DocumentNodeType["FileDocument"] = 3] = "FileDocument";
16285
+ DocumentNodeType[DocumentNodeType["ShortcutDocument"] = 4] = "ShortcutDocument";
16286
+ DocumentNodeType[DocumentNodeType["Folder"] = 5] = "Folder";
16287
+ DocumentNodeType[DocumentNodeType["TopFolder"] = 6] = "TopFolder";
16288
+ DocumentNodeType[DocumentNodeType["DepartmentFolder"] = 7] = "DepartmentFolder";
16289
+ DocumentNodeType[DocumentNodeType["RegionalFolder"] = 8] = "RegionalFolder";
16290
+ })(DocumentNodeType$1 || (DocumentNodeType$1 = {}));
16291
+
16292
+ var ModuleType$1;
16293
+ (function (ModuleType) {
16294
+ ModuleType[ModuleType["documentProcess"] = 1] = "documentProcess";
16295
+ ModuleType[ModuleType["deviation"] = 2] = "deviation";
16296
+ ModuleType[ModuleType["checklist"] = 3] = "checklist";
16297
+ ModuleType[ModuleType["risk"] = 4] = "risk";
16298
+ })(ModuleType$1 || (ModuleType$1 = {}));
15972
16299
 
15973
16300
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
15974
16301
  class QmsStepperComponent {
@@ -15984,13 +16311,14 @@ class QmsStepperComponent {
15984
16311
  }
15985
16312
  changeStep(selectedIndex) {
15986
16313
  this.currentStep = selectedIndex;
15987
- this.selectionChangeEvent.emit(selectedIndex);
16314
+ this.selectionChangeEvent.emit(this.currentStep);
15988
16315
  }
15989
16316
  }
15990
16317
  QmsStepperComponent.decorators = [
15991
16318
  { type: Component, args: [{
16319
+ changeDetection: ChangeDetectionStrategy.OnPush,
15992
16320
  selector: 'app-qms-stepper',
15993
- 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>",
15994
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}"]
15995
16323
  },] }
15996
16324
  ];
@@ -16145,6 +16473,7 @@ class SelectPopupData {
16145
16473
  constructor() {
16146
16474
  this.treeData = [];
16147
16475
  this.headerName = '';
16476
+ this.selectIncludeLabel = '';
16148
16477
  this.selectedNode = [];
16149
16478
  this.disabledList = [];
16150
16479
  }
@@ -16183,6 +16512,7 @@ class SelectIncludeChildrenPopUpComponent {
16183
16512
  this.data = data;
16184
16513
  this.ngUnsubscribe = new Subject();
16185
16514
  this.headerName = '';
16515
+ this.selectIncludeLabel = '';
16186
16516
  this.treeData = [];
16187
16517
  this.checkedNodeList = [];
16188
16518
  this.selectedOptions = [];
@@ -16216,6 +16546,7 @@ class SelectIncludeChildrenPopUpComponent {
16216
16546
  this.checkedNodeList = (data === null || data === void 0 ? void 0 : data.selectedList) || [];
16217
16547
  this.includeChildren = data === null || data === void 0 ? void 0 : data.includeChildren;
16218
16548
  this.editItem = data.editItem;
16549
+ this.selectIncludeLabel = data.selectIncludeLabel;
16219
16550
  appIconService.registerProcessIcon(iconRegistry, domSanitizer);
16220
16551
  appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);
16221
16552
  appIconService.registerDocumentIcon(iconRegistry, domSanitizer);
@@ -16292,19 +16623,17 @@ class SelectIncludeChildrenPopUpComponent {
16292
16623
  removeCheckedNodeList(item) {
16293
16624
  const index = this.checkedNodeList.findIndex(x => (x.id.toLowerCase() === item.id.toLowerCase() && x.parentId.toLowerCase() === item.parentId.toLowerCase()));
16294
16625
  if (index >= 0) {
16295
- let position = this.selectedOptions.findIndex(x => x.id === item.id && x.parentId === item.parentId);
16296
- if (position >= 0) {
16297
- this.selectedOptions.splice(position, 1);
16298
- }
16299
16626
  if (this.checkedNodeList[index].type === SelectOptionTypes.IncludeChildren) {
16300
16627
  this.removeIncludeChildren(item);
16301
- }
16302
- if (this.includeChildren) {
16303
16628
  this.refactorSelectList(item);
16304
16629
  }
16305
16630
  else {
16306
- 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
+ }
16307
16635
  }
16636
+ this.checkedNodeList.splice(index, 1);
16308
16637
  this.enableSelectedNode({ id: item.id, parentId: item.parentId, itemName: item.name, type: SelectOptionTypes.IncludeChildren });
16309
16638
  this.selectedData = this.mapSelectOptionToTreeNode(this.selectedOptions);
16310
16639
  }
@@ -16361,11 +16690,6 @@ class SelectIncludeChildrenPopUpComponent {
16361
16690
  getImagePath(item) {
16362
16691
  return this.domSanitizer.bypassSecurityTrustResourceUrl(item.itemIconBase64);
16363
16692
  }
16364
- isMatchTrue(arr, arr2) {
16365
- return arr.every((i) => {
16366
- return arr2.includes(i);
16367
- });
16368
- }
16369
16693
  setResultHeight(arr) {
16370
16694
  let maxHeight = 484;
16371
16695
  const popup_content = document.getElementsByClassName('qmslib_related_popup_content')[0];
@@ -16425,12 +16749,14 @@ class SelectIncludeChildrenPopUpComponent {
16425
16749
  listChildren = this.getAllChildrenNodeRecursive(listChildren, item);
16426
16750
  const itemIndex = this.selectedOptions.findIndex(node => node.id === item.id && node.parentId === item.parentId);
16427
16751
  if (itemIndex >= 0) {
16752
+ this.enableSelectedNode(this.selectedOptions[itemIndex]);
16428
16753
  this.selectedOptions.splice(itemIndex, 1);
16429
16754
  }
16430
16755
  listChildren.forEach(x => {
16431
16756
  const index = this.selectedOptions.findIndex(node => node.id === x.id && node.parentId === x.parentId);
16432
16757
  if (index >= 0) {
16433
16758
  this.selectedOptions.splice(index, 1);
16759
+ this.disabledList = this.disabledList.filter(node => !(x.id === node.id && x.parentId === node.parentId));
16434
16760
  }
16435
16761
  });
16436
16762
  }
@@ -16517,30 +16843,17 @@ class SelectIncludeChildrenPopUpComponent {
16517
16843
  disabled: false,
16518
16844
  });
16519
16845
  }
16520
- else {
16521
- // this.selectRelated(node);
16522
- }
16523
16846
  }
16524
16847
  isNodeSelected(node) {
16525
16848
  return this.checkedNodeList.filter(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase())).length > 0;
16526
16849
  }
16527
16850
  getChildrenOfFolder(node) {
16528
- // if (this.splitView) {
16529
- // const parentTexts = this.elem.nativeElement.querySelectorAll('.text-node-parent');
16530
- // [].forEach.call(parentTexts, (el) => {
16531
- // el.classList.remove('active-item');
16532
- // });
16533
- // const itemElement = document.querySelectorAll(`#_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`);
16534
- // [].forEach.call(itemElement, (el) => {
16535
- // el.classList.add('active-item');
16536
- // });
16537
16851
  let item = new SelectOption();
16538
16852
  item.id = node.id;
16539
16853
  item.itemName = node.name;
16540
16854
  item.levelType = node.levelType;
16541
16855
  this.selectedFolder = node;
16542
16856
  this.onExpandFolder.emit(item);
16543
- // }
16544
16857
  }
16545
16858
  selectNodeTreeEvent(node) {
16546
16859
  let position = this.selectedOptions.findIndex(x => x.id === node.id && x.parentId === node.parentId);
@@ -16605,14 +16918,15 @@ class SelectIncludeChildrenPopUpComponent {
16605
16918
  }
16606
16919
  setValue(e) {
16607
16920
  this.includeChildren = !!e.checked;
16608
- if (!this.includeChildren) {
16609
- this.checkedNodeList.forEach(node => {
16610
- this.disableSelectedNode(node);
16611
- });
16612
- }
16613
- else {
16614
- this.disabledList = this.orginalDisableList;
16615
- }
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
+ });
16616
16930
  }
16617
16931
  mapSelectOptionToTreeNode(list) {
16618
16932
  return list.map(x => {
@@ -16646,6 +16960,7 @@ class SelectIncludeChildrenPopUpComponent {
16646
16960
  if (selectedParentList.length > 0) {
16647
16961
  const highestSelectedNode = selectedParentList[selectedParentList.length - 1];
16648
16962
  this.combineNodes(highestSelectedNode);
16963
+ this.disabledList = this.disabledList.filter(x => !(x.id === highestSelectedNode.id && x.parentId === highestSelectedNode.parentId));
16649
16964
  }
16650
16965
  else {
16651
16966
  this.combineNodes({
@@ -16654,6 +16969,7 @@ class SelectIncludeChildrenPopUpComponent {
16654
16969
  type: SelectOptionTypes.IncludeChildren,
16655
16970
  parentId: node.parentId
16656
16971
  });
16972
+ this.disabledList = this.disabledList.filter(x => !(x.id === node.id && x.parentId === node.parentId));
16657
16973
  }
16658
16974
  }
16659
16975
  else {
@@ -16685,10 +17001,11 @@ class SelectIncludeChildrenPopUpComponent {
16685
17001
  }
16686
17002
  const selectIndex = this.selectedOptions.findIndex(node => node.id === child.id && node.parentId === child.parentId);
16687
17003
  if (selectIndex >= 0) {
17004
+ this.disabledList = this.disabledList.filter(node => !(child.id === node.id && child.parentId === node.parentId));
16688
17005
  nodeList.push(child);
16689
17006
  }
16690
17007
  });
16691
- if (nodeList.length > 0 || children.length === 0) {
17008
+ if (selectedNodeIndex >= 0 || nodeList.length > 0 || children.length === 0) {
16692
17009
  if (selectedNodeIndex < 0) {
16693
17010
  this.checkedNodeList.push({
16694
17011
  id: root.id,
@@ -16721,17 +17038,19 @@ class SelectIncludeChildrenPopUpComponent {
16721
17038
  }
16722
17039
  return listParent;
16723
17040
  }
16724
- disableSelectedNode(node) {
17041
+ disableSelectIncludeNode(node) {
16725
17042
  if (node.type === SelectOptionTypes.IncludeChildren) {
16726
17043
  let children = [];
16727
- children = this.getAllChildrenNodeRecursive(children, {
16728
- id: node.id,
16729
- name: node.itemName,
16730
- parentId: node.parentId,
16731
- level: 0,
16732
- expandable: true,
16733
- hasChild: true,
16734
- 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
+ };
16735
17054
  });
16736
17055
  let disableNodes = [];
16737
17056
  const index = this.disabledList.findIndex(x => x.id === node.id && x.parentId === node.parentId);
@@ -16747,6 +17066,16 @@ class SelectIncludeChildrenPopUpComponent {
16747
17066
  this.disabledList = [...this.disabledList, ...disableNodes];
16748
17067
  }
16749
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
+ }
16750
17079
  enableSelectedNode(node) {
16751
17080
  let children = [];
16752
17081
  children = this.getAllChildrenNodeRecursive(children, {
@@ -16765,7 +17094,7 @@ class SelectIncludeChildrenPopUpComponent {
16765
17094
  SelectIncludeChildrenPopUpComponent.decorators = [
16766
17095
  { type: Component, args: [{
16767
17096
  selector: 'qms-select-include-children-popup',
16768
- 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",
16769
17098
  encapsulation: ViewEncapsulation.None,
16770
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}"]
16771
17100
  },] }
@@ -16842,7 +17171,8 @@ class QmsBadgesComponent {
16842
17171
  constructor() {
16843
17172
  this.typeBadges = BadgesType;
16844
17173
  this.sizeCircleBadges = BadgeCircleSize;
16845
- this.type = BadgesType.circle;
17174
+ this.type = '' || BadgesType.circle;
17175
+ this.size = '' || BadgeCircleSize.small;
16846
17176
  }
16847
17177
  ngOnInit() {
16848
17178
  if (this.type === BadgesType.circle) {
@@ -16853,8 +17183,8 @@ class QmsBadgesComponent {
16853
17183
  QmsBadgesComponent.decorators = [
16854
17184
  { type: Component, args: [{
16855
17185
  selector: 'qms-badges',
16856
- template: "<div\r\n class=\"qms-badges-container badges-container-{{ color }} text-color-{{\r\n color\r\n }} font-size-12 line-height-22 qms-badges-default\"\r\n *ngIf=\"type === typeBadges.default\"\r\n>\r\n <mat-icon class=\"font-size-16\" *ngIf=\"icon\">{{ icon }}</mat-icon\r\n >\r\n <span *ngIf=\"contents\">{{ contents }}</span>\r\n</div>\r\n<div\r\n *ngIf=\"type === typeBadges.circle\"\r\n class=\"qms-badges-circle-{{ size }} badges-container-circle-{{ color }} text-color-write\"\r\n>\r\n <span *ngIf=\"contents > 99 && size !== sizeCircleBadges.small\" class=\"font-size-8\">{{ \"99\" }}+</span>\r\n <span *ngIf=\"contents < 100 && size !== sizeCircleBadges.small\" class=\"font-size-12\">{{ contents }}</span>\r\n</div>\r\n\r\n<div\r\n class=\"qms-badges-container badges-container-icon-{{ color }} font-size-12 line-height-22 qms-badges-default\"\r\n *ngIf=\"type === typeBadges.icon\"\r\n>\r\n <mat-icon class=\"font-size-16 text-color-write\" *ngIf=\"icon\">{{ icon }}</mat-icon\r\n >\r\n</div>\r\n",
16857
- styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.badges-container-primary{background-color:#b7daf8}.badges-container-yellow{background-color:rgba(228,207,83,.3)}.badges-container-green{background-color:rgba(0,128,76,.1);border:#005935}.badges-container-red{background-color:rgba(176,0,32,.08)}.badges-container-orange{background-color:#faede8}.badges-container-grey{background-color:#e5e5e5}.badges-container-brown{background-color:#f0eae7}.badges-container-primary-icon{background-color:#00324e}.badges-container-icon-green{background-color:#005935}.badges-container-icon-red{background-color:#b00020}.badges-container-icon-orange{background-color:#9e360f}.badges-container-icon-brown{background-color:#59280b}.badges-container-circle-primary{background-color:#00324e}.badges-container-circle-orange{background-color:#9e360f}.text-color-primary{color:#00324e}.text-color-red{color:#b00020}.text-color-green{color:#005935}.text-color-yellow{color:#726729}.text-color-grey{color:#525252}.text-color-brown{color:#59280b}.text-color-orange{color:#9e360f}.text-color-write{color:#fff}.qms-badges-container{display:flex;align-items:center;width:100%;height:100%;font-family:Open Sans;font-style:normal;font-weight:600;font-size:12px;line-height:16px}.qms-badges-container-text{margin-top:10px;margin-bottom:10px}.qms-badges-container .margin-horizontal-17{margin-left:17px;margin-right:17px}.qms-badges-container .qms-badges-button{margin-left:auto;margin-right:8px}.qms-badges-circle-large{width:24px;height:24px}.qms-badges-circle-large,.qms-badges-circle-medium{border-radius:50%;display:flex;align-items:center;justify-content:center}.qms-badges-circle-medium{width:20px;height:20px}.qms-badges-circle-small{width:10px;height:10px;border-radius:50%}.qms-badges-circle-small,.qms-badges-default{display:flex;align-items:center;justify-content:center}.qms-badges-default{height:24px;padding:0 5px;border-radius:4px}.qms-badges-default .mat-icon{width:auto;height:auto}.font-bold{font-weight:700}.font-size-14{font-size:14px}.font-size-16{font-size:16px}.font-size-12{font-size:12px}.font-size-8{font-size:8px}.line-height-22{line-height:22px}"]
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}"]
16858
17188
  },] }
16859
17189
  ];
16860
17190
  QmsBadgesComponent.propDecorators = {
@@ -16862,7 +17192,10 @@ QmsBadgesComponent.propDecorators = {
16862
17192
  color: [{ type: Input }],
16863
17193
  contents: [{ type: Input }],
16864
17194
  size: [{ type: Input }],
16865
- icon: [{ type: Input }]
17195
+ icon: [{ type: Input }],
17196
+ itemIconPath: [{ type: Input }],
17197
+ itemIconSvg: [{ type: Input }],
17198
+ fontIconGG: [{ type: Input }]
16866
17199
  };
16867
17200
 
16868
17201
  class QmsBadgesModule {
@@ -17319,6 +17652,2170 @@ QMSSelectOneModule.decorators = [
17319
17652
  class ISelectOneItem {
17320
17653
  }
17321
17654
 
17655
+ class NewTreeModel {
17656
+ }
17657
+
17658
+ class NewTreeNode {
17659
+ }
17660
+
17661
+ let objData = {};
17662
+ let json = JSON;
17663
+ function buildArrayTree(obj, level) {
17664
+ return Object.keys(obj).reduce((accumulator, key) => {
17665
+ const value = obj[key];
17666
+ const node = new NewTreeNode();
17667
+ const keyObj = json.parse(key);
17668
+ node.id = keyObj["id"];
17669
+ node.name = keyObj["name"];
17670
+ node.parentId = keyObj["parentId"];
17671
+ node.levelType = keyObj["levelType"];
17672
+ node.expandable = keyObj["expandable"];
17673
+ if (value != null) {
17674
+ if (typeof value === 'object') {
17675
+ node.children = this.buildArrayTree(value, level + 1);
17676
+ }
17677
+ else {
17678
+ node.name = value;
17679
+ }
17680
+ }
17681
+ return accumulator.concat(node);
17682
+ }, []);
17683
+ }
17684
+ function buildObjectTree(arr) {
17685
+ objData = {};
17686
+ let objTreeData;
17687
+ const root = arr.filter((x) => {
17688
+ return x.parentId === '';
17689
+ });
17690
+ root.forEach((item) => {
17691
+ objTreeData = this.findParent(item, arr);
17692
+ });
17693
+ return objTreeData;
17694
+ }
17695
+ function findParent(item, array) {
17696
+ if (item) {
17697
+ const objParent = {};
17698
+ // find child
17699
+ const childFolder = array.filter((x) => {
17700
+ return x.parentId === item.id && x.expandable;
17701
+ });
17702
+ if (childFolder.length > 0) {
17703
+ this.findChild(item.id, objParent, array);
17704
+ }
17705
+ const items = array.filter((x) => {
17706
+ return x.parentId === item.id && !x.expandable;
17707
+ });
17708
+ items.forEach((item) => {
17709
+ let parentKey = {
17710
+ id: item.id,
17711
+ name: item.name,
17712
+ parentId: item.parentId,
17713
+ levelType: item.levelType,
17714
+ expandable: item.expandable
17715
+ };
17716
+ objParent[json.stringify(parentKey)] = null;
17717
+ });
17718
+ let key = {
17719
+ id: item.id,
17720
+ name: item.name,
17721
+ parentId: '',
17722
+ levelType: item.levelType,
17723
+ expandable: item.expandable
17724
+ };
17725
+ // add node to tree
17726
+ objData[json.stringify(key)] = objParent;
17727
+ }
17728
+ return objData;
17729
+ }
17730
+ function findChild(id, objParent, array) {
17731
+ const subNode = array.filter((x) => {
17732
+ return x.parentId === id;
17733
+ });
17734
+ subNode.forEach((item) => {
17735
+ const processNode = {};
17736
+ if (item.expandable) {
17737
+ this.findChild(item.id, processNode, array);
17738
+ }
17739
+ let key = {
17740
+ id: item.id,
17741
+ name: item.name,
17742
+ parentId: id,
17743
+ levelType: item.levelType,
17744
+ expandable: item.expandable
17745
+ };
17746
+ objParent[json.stringify(key)] = Object.assign(Object.assign({}, objParent[json.stringify(key)]), processNode);
17747
+ });
17748
+ }
17749
+ const TreeFunctions = {
17750
+ buildArrayTree,
17751
+ buildObjectTree,
17752
+ findParent,
17753
+ findChild,
17754
+ };
17755
+
17756
+ class NewTreeComponent {
17757
+ constructor(cdRef, domSanitizer, iconRegistry, appIconService) {
17758
+ this.cdRef = cdRef;
17759
+ this.domSanitizer = domSanitizer;
17760
+ this.iconRegistry = iconRegistry;
17761
+ this.appIconService = appIconService;
17762
+ this.treeData = [];
17763
+ this.selectedData = [];
17764
+ this.selectedRiskData = [];
17765
+ this.disabledList = [];
17766
+ this.expandToChildNode = [];
17767
+ this.selectNodeEvent = new EventEmitter();
17768
+ this.selectFolderEvent = new EventEmitter();
17769
+ this.checkBoxEvent = new EventEmitter();
17770
+ this.childCheckedEvent = new EventEmitter();
17771
+ this.nodeExpandEvent = new EventEmitter();
17772
+ this.getChildNodeSelectOne = new EventEmitter();
17773
+ this.treeControlNodes = new EventEmitter();
17774
+ this.listParentObj = {};
17775
+ this.filterData = [];
17776
+ this.arrIndex = [];
17777
+ this.checkedNodeList = [];
17778
+ this.useExpandFeature = true;
17779
+ this.allowSelectFolder = false;
17780
+ this.areaOfCurrentProcess = '';
17781
+ this.showCheckBox = false;
17782
+ this.allowMultipleCheck = true;
17783
+ this.singleSelectedNode = false;
17784
+ this.onlyCheckBoxForChild = false;
17785
+ this.onlyFolder = false;
17786
+ this.itemIconType = ItemIconType;
17787
+ this.displayType = 1;
17788
+ this.openIcon = '';
17789
+ this.openIconColor = '#1954A9';
17790
+ this.closeIcon = '';
17791
+ this.closeIconColor = '#000000';
17792
+ this.itemIcon = '';
17793
+ this.itemIconSvg = '';
17794
+ this.itemIconPath = '';
17795
+ this.itemIconBase64 = '';
17796
+ this.treeControl = new FlatTreeControl((node) => {
17797
+ return node.level;
17798
+ }, (node) => {
17799
+ return node.expandable;
17800
+ });
17801
+ this.isChecked = false;
17802
+ this.idCheckIcon = '';
17803
+ this.listChildNode = [];
17804
+ this.dataType = DataType$2;
17805
+ this.transformer = (node, level) => {
17806
+ let checkHasChild = true;
17807
+ if (!node.children) {
17808
+ checkHasChild = false;
17809
+ }
17810
+ else if (node.expandable) {
17811
+ checkHasChild = false;
17812
+ }
17813
+ // tslint:disable-next-line:max-line-length
17814
+ else if (!!node.children &&
17815
+ node.children.length &&
17816
+ node.children.length === 1 &&
17817
+ !node.children[0].name &&
17818
+ node.id.toString() === this.areaOfCurrentProcess) {
17819
+ checkHasChild = false;
17820
+ }
17821
+ if (!(this.listParentObj[node.id] === 1)) {
17822
+ checkHasChild = false;
17823
+ }
17824
+ return {
17825
+ expandable: node.expandable,
17826
+ name: node.name,
17827
+ level,
17828
+ id: node.id,
17829
+ hasChild: checkHasChild,
17830
+ parentId: node.parentId,
17831
+ disabled: false,
17832
+ levelType: node.levelType
17833
+ };
17834
+ };
17835
+ this.treeFlattener = new MatTreeFlattener(this.transformer, (node) => {
17836
+ return node.level;
17837
+ }, (node) => {
17838
+ return node.expandable;
17839
+ }, (node) => {
17840
+ return node.children;
17841
+ });
17842
+ this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
17843
+ this.hasChild = (_, node) => {
17844
+ return node.expandable;
17845
+ };
17846
+ iconRegistry.addSvgIconLiteral('keyboard_up', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_UP_ICON));
17847
+ iconRegistry.addSvgIconLiteral('keyboard_down', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_DOWN_ICON));
17848
+ appIconService.registerProcessIcon(iconRegistry, domSanitizer);
17849
+ appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);
17850
+ appIconService.registerDocumentIcon(iconRegistry, domSanitizer);
17851
+ appIconService.registerFolderIcon(iconRegistry, domSanitizer);
17852
+ appIconService.registerDeviationIcon(iconRegistry, domSanitizer);
17853
+ appIconService.registerChecklistIcon(iconRegistry, domSanitizer);
17854
+ appIconService.registerRiskIcon(iconRegistry, domSanitizer);
17855
+ }
17856
+ ngOnChanges(changes) {
17857
+ if (changes.treeData && JSON.stringify(changes.treeData.currentValue) !== JSON.stringify(changes.treeData.previousValue)) {
17858
+ this.treeData = [...this.treeData, changes.treeData.currentValue];
17859
+ this.initTreeData();
17860
+ }
17861
+ if (changes.selectedData &&
17862
+ (changes.selectedData.currentValue.length > 0 ||
17863
+ JSON.stringify(changes.selectedData.currentValue) !==
17864
+ JSON.stringify(changes.selectedData.previousValue))) {
17865
+ if (changes.selectedData.currentValue) {
17866
+ this.checkSelected(changes.selectedData.currentValue);
17867
+ }
17868
+ else {
17869
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17870
+ this.checklistSelection.deselect(this.treeControl.dataNodes[i]);
17871
+ }
17872
+ }
17873
+ }
17874
+ if (changes.disabledList && JSON.stringify(changes.disabledList.currentValue) !== JSON.stringify(changes.disabledList.previousValue)) {
17875
+ this.checkDisabledList();
17876
+ }
17877
+ // expand all parent to show node
17878
+ if (changes.expandToChildNode && JSON.stringify(changes.expandToChildNode.currentValue) !== JSON.stringify(changes.expandToChildNode.previousValue)) {
17879
+ this.openExpandToChildNode();
17880
+ }
17881
+ }
17882
+ ngOnInit() {
17883
+ // this.initTreeData();
17884
+ }
17885
+ initTreeData() {
17886
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
17887
+ this.treeData.forEach(item => {
17888
+ if (!!item.parentId && item.parentId.length > 0) {
17889
+ this.listParentObj[item.parentId] = 1;
17890
+ }
17891
+ if (item.id && item.id.length > 0) {
17892
+ this.listParentObj[item.parentId] = 1;
17893
+ }
17894
+ });
17895
+ this.filterData = this.treeData;
17896
+ this.treeObject = TreeFunctions.buildObjectTree(this.filterData);
17897
+ this.dataSource.data = TreeFunctions.buildArrayTree(this.treeObject || {}, 0).map(element => {
17898
+ const item = this.sortDataTree(element);
17899
+ element = null;
17900
+ element = Object.assign({}, item);
17901
+ return element;
17902
+ });
17903
+ this.useExpandFeature = !((_a = this.treeConfig) === null || _a === void 0 ? void 0 : _a.showCheckBox);
17904
+ this.allowSelectFolder = (_b = this.treeConfig) === null || _b === void 0 ? void 0 : _b.allowSelectFolder;
17905
+ this.areaOfCurrentProcess = (_c = this.treeConfig) === null || _c === void 0 ? void 0 : _c.areaOfCurrentProcess;
17906
+ this.showCheckBox = (_d = this.treeConfig) === null || _d === void 0 ? void 0 : _d.showCheckBox;
17907
+ this.onlyCheckBoxForChild = (_e = this.treeConfig) === null || _e === void 0 ? void 0 : _e.onlyCheckBoxForChild;
17908
+ this.moduleId = (_f = this.treeConfig) === null || _f === void 0 ? void 0 : _f.moduleId;
17909
+ this.openIcon = (_g = this.treeConfig) === null || _g === void 0 ? void 0 : _g.openIcon;
17910
+ this.openIconColor = ((_h = this.treeConfig) === null || _h === void 0 ? void 0 : _h.openIconColor) ? (_j = this.treeConfig) === null || _j === void 0 ? void 0 : _j.openIconColor : this.openIconColor;
17911
+ this.closeIcon = (_k = this.treeConfig) === null || _k === void 0 ? void 0 : _k.closeIcon;
17912
+ this.closeIconColor = ((_l = this.treeConfig) === null || _l === void 0 ? void 0 : _l.closeIconColor) ? (_m = this.treeConfig) === null || _m === void 0 ? void 0 : _m.closeIconColor : this.closeIconColor;
17913
+ this.itemIcon = (_o = this.treeConfig) === null || _o === void 0 ? void 0 : _o.itemIcon;
17914
+ this.itemIconSvg = (_p = this.treeConfig) === null || _p === void 0 ? void 0 : _p.itemIconSvg;
17915
+ this.itemIconPath = (_q = this.treeConfig) === null || _q === void 0 ? void 0 : _q.itemIconPath;
17916
+ this.itemIconBase64 = this.domSanitizer.bypassSecurityTrustResourceUrl((_r = this.treeConfig) === null || _r === void 0 ? void 0 : _r.itemIconBase64);
17917
+ this.allowMultipleCheck = (_s = this.treeConfig) === null || _s === void 0 ? void 0 : _s.allowMultipleCheck;
17918
+ this.singleSelectedNode = (_t = this.treeConfig) === null || _t === void 0 ? void 0 : _t.singleSelectedNode;
17919
+ this.onlyFolder = (_u = this.treeConfig) === null || _u === void 0 ? void 0 : _u.onlyFolder;
17920
+ this.checklistSelection = new SelectionModel(this.allowMultipleCheck); /* true: multiple */
17921
+ this.displayType = this.getItemIconType(this.treeConfig);
17922
+ // Expand child node tree
17923
+ if (this.treeConfig.expandAll) {
17924
+ this.treeControl.expandAll();
17925
+ }
17926
+ //Disabled node
17927
+ if (this.disabledList.length) {
17928
+ this.checkDisabledList();
17929
+ }
17930
+ if (this.selectedData.length) {
17931
+ this.checkSelected(this.selectedData);
17932
+ }
17933
+ // Risk Tree
17934
+ if (this.selectedRiskData.length) {
17935
+ const selectedData = [];
17936
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17937
+ this.selectedRiskData.forEach(x => {
17938
+ const index = selectedData.findIndex(el => el.id === x.rootId);
17939
+ if (x.rootId === this.treeControl.dataNodes[i].id && index < 0) {
17940
+ selectedData.push(this.treeControl.dataNodes[i]);
17941
+ }
17942
+ });
17943
+ }
17944
+ this.checkSelected(selectedData);
17945
+ this.checkBoxEvent.emit(selectedData);
17946
+ }
17947
+ // keep expand
17948
+ if (this.parentNodeOnClick && Object.keys(this.parentNodeOnClick).length) {
17949
+ let tempParent = [];
17950
+ let root = new TreeFlatNode();
17951
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17952
+ const tree = this.treeControl.dataNodes[i];
17953
+ if (this.parentNodeOnClick.parentId === tree.parentId && this.parentNodeOnClick.id === tree.id
17954
+ || this.parentNodeOnClick.parentId === tree.id) {
17955
+ tempParent = [...tempParent, this.getParent(tree)];
17956
+ root = tree;
17957
+ }
17958
+ }
17959
+ tempParent.push(root);
17960
+ tempParent.forEach(x => {
17961
+ this.treeControl.expand(x);
17962
+ });
17963
+ }
17964
+ }
17965
+ getParent(node) {
17966
+ const { treeControl } = this;
17967
+ const currentLevel = treeControl.getLevel(node);
17968
+ if (currentLevel < 1) {
17969
+ return null;
17970
+ }
17971
+ const index = treeControl.dataNodes.indexOf(node) - 1;
17972
+ for (let i = index; i >= 0; i--) {
17973
+ const currentNode = treeControl.dataNodes[i];
17974
+ if (treeControl.getLevel(currentNode) < currentLevel) {
17975
+ return currentNode;
17976
+ }
17977
+ }
17978
+ }
17979
+ openExpandToChildNode() {
17980
+ if (this.expandToChildNode.length) {
17981
+ if (this.expandToChildNode[0] === '') {
17982
+ this.idCheckIcon = '';
17983
+ this.treeControl.collapseAll();
17984
+ this.cdRef.detectChanges();
17985
+ return;
17986
+ }
17987
+ let itemMarkChecked = this.expandToChildNode[this.expandToChildNode.length - 1].toUpperCase();
17988
+ this.idCheckIcon = itemMarkChecked;
17989
+ // get all children nodes on same level
17990
+ let listChildNodeSameLevel = this.findChildNode(itemMarkChecked, this.dataSource.data);
17991
+ // get all children in all level
17992
+ this.listChildNode = [];
17993
+ this.getChild(listChildNodeSameLevel);
17994
+ this.getChildNodeSelectOne.emit(this.listChildNode);
17995
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17996
+ if (itemMarkChecked === this.treeControl.dataNodes[i].id) {
17997
+ this.selectNodeEvent.emit(this.treeControl.dataNodes[i]);
17998
+ }
17999
+ this.expandToChildNode.forEach(el => {
18000
+ if (this.treeControl.dataNodes[i].id === el.toUpperCase()) {
18001
+ this.treeControl.expand(this.treeControl.dataNodes[i]);
18002
+ }
18003
+ });
18004
+ }
18005
+ }
18006
+ }
18007
+ checkDisabledList() {
18008
+ // Disable List
18009
+ if (this.disabledList.length) {
18010
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18011
+ this.disabledList.forEach(x => {
18012
+ var _a;
18013
+ if (x.id === this.treeControl.dataNodes[i].id
18014
+ && (!x.parentId || x.parentId === ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.parentId))) {
18015
+ this.treeControl.dataNodes[i].disabled = true;
18016
+ }
18017
+ });
18018
+ }
18019
+ }
18020
+ //Selected node with select one
18021
+ if (this.disabledList.length && this.treeConfig.selectOne) {
18022
+ let itemMarkChecked = this.disabledList[this.disabledList.length - 1].toUpperCase();
18023
+ this.idCheckIcon = itemMarkChecked;
18024
+ // get all children nodes on same level
18025
+ let listChildNodeSameLevel = this.findChildNode(itemMarkChecked, this.dataSource.data);
18026
+ // get all children in all level
18027
+ this.listChildNode = [];
18028
+ this.getChild(listChildNodeSameLevel);
18029
+ this.getChildNodeSelectOne.emit(this.listChildNode);
18030
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18031
+ if (itemMarkChecked === this.treeControl.dataNodes[i].id) {
18032
+ this.selectNodeEvent.emit(this.treeControl.dataNodes[i]);
18033
+ }
18034
+ this.disabledList.forEach(el => {
18035
+ if (this.treeControl.dataNodes[i].id === el.toUpperCase()) {
18036
+ this.treeControl.expand(this.treeControl.dataNodes[i]);
18037
+ }
18038
+ });
18039
+ // remove all children nodes when user dont need to show them
18040
+ this.listChildNode.forEach(el => {
18041
+ var _a;
18042
+ if (el.id && ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.id) === el.id) {
18043
+ this.treeControl.dataNodes.splice(i, 1);
18044
+ }
18045
+ });
18046
+ }
18047
+ }
18048
+ else {
18049
+ this.idCheckIcon = '';
18050
+ this.treeControl.collapseAll();
18051
+ this.cdRef.detectChanges();
18052
+ }
18053
+ }
18054
+ getChild(obj) {
18055
+ for (let i = 0; i < obj.children.length; i++) {
18056
+ if (obj.children[i].children) {
18057
+ this.getChild(obj.children[i]);
18058
+ delete obj.children[i].children;
18059
+ this.listChildNode.push(obj.children[i]);
18060
+ }
18061
+ else {
18062
+ this.listChildNode.push(obj.children[i]);
18063
+ }
18064
+ }
18065
+ }
18066
+ sortDataTree(obj) {
18067
+ if (obj.children) {
18068
+ let child = [];
18069
+ const leafNode = obj.children.filter(x => !x.children);
18070
+ const subFolderNode = obj.children.filter(x => x.children);
18071
+ // for(let index = subFolderNode.length - 1; index >= 0 ; index--){
18072
+ // let el = subFolderNode[index];
18073
+ // this.sortDataTree(el);
18074
+ // child.unshift(el);
18075
+ // }
18076
+ subFolderNode.forEach(element => {
18077
+ let el = element;
18078
+ this.sortDataTree(el);
18079
+ child.push(el);
18080
+ });
18081
+ leafNode.forEach(element => {
18082
+ let el = element;
18083
+ child.push(el);
18084
+ });
18085
+ obj.children = child;
18086
+ }
18087
+ return obj;
18088
+ }
18089
+ getImagePath() {
18090
+ return this.domSanitizer.bypassSecurityTrustResourceUrl(this.treeConfig.itemIconBase64);
18091
+ }
18092
+ checkSelected(itemSelected) {
18093
+ setTimeout(() => {
18094
+ if (!this.treeControl['dataNodes'])
18095
+ return;
18096
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18097
+ const tree = this.treeControl.dataNodes[i];
18098
+ this.checklistSelection.deselect(tree);
18099
+ for (let j = 0; j < itemSelected.length; j++) {
18100
+ const element = itemSelected[j];
18101
+ if (tree.id.toLocaleLowerCase() === element.id.toLocaleLowerCase() && (!element.parentId || tree.parentId.toLocaleLowerCase() === element.parentId.toLocaleLowerCase())) {
18102
+ this.checklistSelection.select(tree);
18103
+ }
18104
+ }
18105
+ }
18106
+ }, 500);
18107
+ }
18108
+ checkSelectedSameNode(itemSelected, flag) {
18109
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18110
+ const tree = this.treeControl.dataNodes[i];
18111
+ for (let j = 0; j < itemSelected.length; j++) {
18112
+ const element = itemSelected[j];
18113
+ if (element.id && tree.id === element.id
18114
+ && tree.parentId === element.parentId && !tree.disabled) {
18115
+ flag ? this.checklistSelection.select(tree) : this.checklistSelection.deselect(tree);
18116
+ }
18117
+ }
18118
+ }
18119
+ }
18120
+ getItemIconType(treeConfig) {
18121
+ if (treeConfig.itemIcon && treeConfig.itemIcon.length)
18122
+ return this.itemIconType.name;
18123
+ if (treeConfig.itemIconPath && treeConfig.itemIconPath.length)
18124
+ return this.itemIconType.path;
18125
+ if (treeConfig.itemIconBase64 && treeConfig.itemIconBase64.length)
18126
+ return this.itemIconType.base64;
18127
+ if (treeConfig.itemIconSvg && treeConfig.itemIconSvg.length)
18128
+ return this.itemIconType.svg;
18129
+ return this.itemIconType.none;
18130
+ }
18131
+ /** Whether all the descendants of the node are selected */
18132
+ descendantsAllSelected(node) {
18133
+ const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];
18134
+ if (!descendants.length) {
18135
+ return this.checklistSelection.isSelected(node);
18136
+ }
18137
+ const selected = this.checklistSelection.isSelected(node);
18138
+ const allSelected = descendants.every(child => this.checklistSelection.isSelected(child));
18139
+ if (!selected && allSelected) {
18140
+ this.checklistSelection.select(node);
18141
+ this.cdRef.markForCheck();
18142
+ }
18143
+ return allSelected;
18144
+ }
18145
+ /** Whether part of the descendants are selected */
18146
+ descendantsPartiallySelected(node) {
18147
+ const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];
18148
+ const result = descendants.some(child => this.checklistSelection.isSelected(child));
18149
+ return result && !this.descendantsAllSelected(node);
18150
+ }
18151
+ /** Toggle the to-do item selection. Select/deselect all the descendants node */
18152
+ todoItemSelectionToggle(node) {
18153
+ switch (this.moduleId) {
18154
+ case DataType$2.document:
18155
+ node.itemType = node.expandable ? DataType$2.folder : DataType$2.document;
18156
+ break;
18157
+ case DataType$2.process:
18158
+ node.itemType = node.expandable ? DataType$2.area : DataType$2.process;
18159
+ break;
18160
+ case DataType$2.checklist:
18161
+ node.itemType = node.expandable ? DataType$2.checklistCategory : DataType$2.checklist;
18162
+ break;
18163
+ case DataType$2.deviation:
18164
+ node.itemType = node.expandable ? DataType$2.deviationType : DataType$2.deviation;
18165
+ break;
18166
+ case DataType$2.risk:
18167
+ node.itemType = node.expandable ? DataType$2.riskFolder : DataType$2.risk;
18168
+ break;
18169
+ }
18170
+ this.selectNodeEvent.emit(node);
18171
+ // tree have duplicate node
18172
+ if (this.treeConfig.canHaveDupId) {
18173
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18174
+ if (this.treeControl.dataNodes[i].id === node.id
18175
+ && this.treeControl.dataNodes[i].parentId === node.parentId
18176
+ && !this.treeControl.dataNodes[i].disabled) {
18177
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
18178
+ }
18179
+ }
18180
+ }
18181
+ else {
18182
+ this.checklistSelection.toggle(node);
18183
+ }
18184
+ // process/ document single selected
18185
+ if (this.singleSelectedNode) {
18186
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
18187
+ }
18188
+ else {
18189
+ const descendants = this.treeControl.getDescendants(node).filter(item => !item.disabled);
18190
+ this.checkSelectedSameNode(descendants, this.descendantsAllSelected(node));
18191
+ !this.descendantsAllSelected(node)
18192
+ ? this.checklistSelection.select(...descendants)
18193
+ : this.checklistSelection.deselect(...descendants);
18194
+ this.cdRef.markForCheck();
18195
+ const allNodeIsParent = this.checklistSelection.selected.every(child => child.expandable);
18196
+ if (allNodeIsParent) {
18197
+ this.checklistSelection.selected.forEach(element => {
18198
+ this.checklistSelection.deselect(element);
18199
+ });
18200
+ }
18201
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
18202
+ }
18203
+ }
18204
+ todoChildSelectionToggle(node) {
18205
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18206
+ if (this.treeControl.dataNodes[i].id === node.id
18207
+ && this.treeControl.dataNodes[i].parentId === node.parentId
18208
+ && !this.treeControl.dataNodes[i].disabled) {
18209
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
18210
+ }
18211
+ }
18212
+ // this.checklistSelection.toggle(node);
18213
+ this.cdRef.markForCheck();
18214
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
18215
+ }
18216
+ todoItemSelection(nodes) {
18217
+ nodes.forEach(node => {
18218
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18219
+ if (this.treeControl.dataNodes[i].id === node.id &&
18220
+ this.treeControl.dataNodes[i].parentId === node.parentId &&
18221
+ !this.treeControl.dataNodes[i].disabled && !this.treeControl.dataNodes[i].expandable) {
18222
+ if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
18223
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
18224
+ }
18225
+ }
18226
+ });
18227
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
18228
+ }
18229
+ todoItemSelectionProcessDocument(nodes) {
18230
+ nodes.forEach(node => {
18231
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18232
+ if (this.treeControl.dataNodes[i].id === node.id &&
18233
+ this.treeControl.dataNodes[i].parentId === node.parentId &&
18234
+ !this.treeControl.dataNodes[i].disabled && !this.treeControl.dataNodes[i].expandable) {
18235
+ if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
18236
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
18237
+ }
18238
+ }
18239
+ });
18240
+ setTimeout(() => {
18241
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
18242
+ this.treeControlNodes.emit(this.treeControl);
18243
+ }, 500);
18244
+ }
18245
+ todoFolderSelection(nodes) {
18246
+ nodes.forEach(node => {
18247
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18248
+ if (this.treeControl.dataNodes[i].id === node.id &&
18249
+ this.treeControl.dataNodes[i].parentId === node.parentId &&
18250
+ !this.treeControl.dataNodes[i].disabled && this.treeControl.dataNodes[i].expandable) {
18251
+ if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
18252
+ this.todoItemSelectionToggle(this.treeControl.dataNodes[i]);
18253
+ }
18254
+ }
18255
+ });
18256
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
18257
+ }
18258
+ selectNode(node) {
18259
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
18260
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
18261
+ }
18262
+ if (this.treeConfig.selectOne) {
18263
+ node.itemType = this.checkDataTypeSelectNode(node);
18264
+ this.idCheckIcon = node.id;
18265
+ this.selectNodeEvent.emit(node);
18266
+ }
18267
+ }
18268
+ checkDataTypeSelectNode(node) {
18269
+ let itemType = -1;
18270
+ switch (this.moduleId) {
18271
+ case DataType$2.process:
18272
+ itemType = node.expandable ? DataType$2.area : DataType$2.process;
18273
+ break;
18274
+ case DataType$2.document:
18275
+ itemType = node.expandable ? DataType$2.folder : DataType$2.document;
18276
+ break;
18277
+ default:
18278
+ itemType = this.moduleId;
18279
+ break;
18280
+ }
18281
+ return itemType;
18282
+ }
18283
+ selectFolder(node) {
18284
+ this.selectFolderEvent.emit(node);
18285
+ }
18286
+ onExpandNode(node, isExpandNode) {
18287
+ if (isExpandNode) {
18288
+ this.nodeExpandEvent.emit(node);
18289
+ }
18290
+ if (this.treeConfig.selectOne) {
18291
+ this.idCheckIcon = node.id;
18292
+ node.itemType = this.checkDataTypeSelectNode(node);
18293
+ this.selectNodeEvent.emit(node);
18294
+ }
18295
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
18296
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
18297
+ }
18298
+ // set useExpandFeature = true to improve performance of tree loading
18299
+ if (!isExpandNode || !this.useExpandFeature) {
18300
+ for (let i = 0; i < this.arrIndex.length; i++) {
18301
+ if (this.arrIndex[i] === node.id) {
18302
+ this.arrIndex.splice(i, 1);
18303
+ }
18304
+ }
18305
+ return;
18306
+ }
18307
+ // get array index to expand node after refresh datasource
18308
+ let index = 0;
18309
+ let isChange = false;
18310
+ let isRemove = false;
18311
+ this.arrIndex.push(node.id);
18312
+ const childArray = this.treeData.filter((x) => {
18313
+ return x.parentId === node.id;
18314
+ });
18315
+ let rootId = '0';
18316
+ let parentElement;
18317
+ let childrenList;
18318
+ if (childArray.length === 0) {
18319
+ return;
18320
+ }
18321
+ childArray.forEach((item) => {
18322
+ if (item.parentId === rootId) {
18323
+ return;
18324
+ }
18325
+ // get child node from original datasource
18326
+ const child = this.getChildNode(item.parentId, childArray);
18327
+ rootId = item.parentId;
18328
+ index = this.getNodeIndex(child.id, undefined, this.dataSource['_treeControl'].dataNodes);
18329
+ if (index > -1) {
18330
+ return;
18331
+ }
18332
+ // add child node to expand node
18333
+ parentElement = this.findChildNode(node.id, this.dataSource.data);
18334
+ if (parentElement) {
18335
+ // temporary remove all node without children => purpose to add node folder first
18336
+ if (!isRemove) {
18337
+ childrenList = [...parentElement.children];
18338
+ this.removeChildren(parentElement);
18339
+ isRemove = true;
18340
+ }
18341
+ // add node folder first
18342
+ parentElement.children.push(child);
18343
+ isChange = true;
18344
+ }
18345
+ });
18346
+ // add node without children again
18347
+ if (isRemove) {
18348
+ this.addChildren(parentElement, childrenList);
18349
+ }
18350
+ // refresh data and expand tree node from root node
18351
+ if (isChange) {
18352
+ this.refreshTreeData();
18353
+ this.arrIndex.forEach((item) => {
18354
+ index = this.getNodeIndex(item, undefined, this.dataSource['_treeControl'].dataNodes);
18355
+ this.treeControl.expand(this.treeControl.dataNodes[index]);
18356
+ });
18357
+ isChange = false;
18358
+ }
18359
+ }
18360
+ removeChildren(parentElement) {
18361
+ if (parentElement.children) {
18362
+ parentElement.children.length = 0;
18363
+ }
18364
+ }
18365
+ addChildren(parentElement, childrenList) {
18366
+ if (childrenList) {
18367
+ childrenList.forEach((e) => {
18368
+ parentElement.children.push(e);
18369
+ });
18370
+ }
18371
+ }
18372
+ getNodeIndex(id, level, data) {
18373
+ if (level) {
18374
+ return data.findIndex((x) => {
18375
+ return x.id === id && x.level === level;
18376
+ });
18377
+ }
18378
+ return data.findIndex((x) => {
18379
+ return x.id === id;
18380
+ });
18381
+ }
18382
+ getChildNode(rootId, data) {
18383
+ const childArray = data.filter((x) => {
18384
+ return x.rootId === rootId;
18385
+ });
18386
+ const child = { id: childArray[0].rootId, name: childArray[0].subName, children: [] };
18387
+ childArray.forEach((item) => {
18388
+ child.children.push({ id: item.childId, name: item.childName, parentId: rootId, expandable: false });
18389
+ });
18390
+ return child;
18391
+ }
18392
+ findChildNode(id, data) {
18393
+ // eslint-disable-next-line no-restricted-syntax
18394
+ for (const currentFather of data) {
18395
+ if (currentFather.id === id) {
18396
+ return currentFather;
18397
+ }
18398
+ if (currentFather.children) {
18399
+ const currentChild = currentFather.children.find((x) => {
18400
+ return x.id === id;
18401
+ });
18402
+ if (currentChild) {
18403
+ return currentChild;
18404
+ }
18405
+ // eslint-disable-next-line no-restricted-syntax
18406
+ for (const currentChild1 of currentFather.children) {
18407
+ if (id !== currentChild1.id) {
18408
+ const result = this.findChildNode(id, currentFather.children);
18409
+ if (result !== false) {
18410
+ return result;
18411
+ }
18412
+ }
18413
+ }
18414
+ }
18415
+ }
18416
+ return false;
18417
+ }
18418
+ refreshTreeData() {
18419
+ const data = this.dataSource.data;
18420
+ this.dataSource.data = [];
18421
+ this.dataSource.data = data;
18422
+ }
18423
+ getNodeIcon(node) {
18424
+ if (this.openIcon && this.closeIcon) {
18425
+ return this.treeControl.isExpanded(node) ? this.openIcon : this.closeIcon;
18426
+ }
18427
+ switch (this.moduleId) {
18428
+ case DataType$2.document: {
18429
+ let nodeData = this.treeData.filter(x => { return x.id === node.id; });
18430
+ if (nodeData.length > 0) {
18431
+ switch (nodeData[0].levelType) {
18432
+ case DocumentNodeType$2.DepartmentFolder:
18433
+ return this.treeControl.isExpanded(node) ? 'department_folder_outlined' : 'department_folder';
18434
+ case DocumentNodeType$2.RegionalFolder:
18435
+ return this.treeControl.isExpanded(node) ? 'regional_folder_outlined' : 'regional_folder';
18436
+ case DocumentNodeType$2.TopFolder:
18437
+ return this.treeControl.isExpanded(node) ? 'enterprise_folder_outlined' : 'enterprise_folder';
18438
+ case DocumentNodeType$2.Folder:
18439
+ return this.treeControl.isExpanded(node) ? 'local_folder_outlined' : 'local_folder';
18440
+ default:
18441
+ return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';
18442
+ }
18443
+ }
18444
+ return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';
18445
+ }
18446
+ case DataType$2.process:
18447
+ return this.treeControl.isExpanded(node) ? 'process_area_outlined' : 'process_area';
18448
+ default:
18449
+ return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
18450
+ }
18451
+ }
18452
+ getItemIcon(node) {
18453
+ switch (this.moduleId) {
18454
+ case DataType$2.document:
18455
+ const parent = this.treeData.filter(x => { return x.id === node.parentId; });
18456
+ if (parent.length > 0) {
18457
+ switch (parent[0].levelType) {
18458
+ case DocumentNodeType$2.DepartmentFolder:
18459
+ return 'document_department';
18460
+ case DocumentNodeType$2.RegionalFolder:
18461
+ return 'document_regional';
18462
+ case DocumentNodeType$2.TopFolder:
18463
+ return 'document_enterprise';
18464
+ case DocumentNodeType$2.Folder:
18465
+ return 'document_local';
18466
+ default:
18467
+ return 'document';
18468
+ }
18469
+ }
18470
+ return 'document';
18471
+ case DataType$2.process:
18472
+ return 'process';
18473
+ case DataType$2.checklist:
18474
+ return 'checklist';
18475
+ case DataType$2.deviation:
18476
+ return 'deviation';
18477
+ case DataType$2.risk:
18478
+ return 'risk';
18479
+ default:
18480
+ return 'document';
18481
+ }
18482
+ }
18483
+ getNodeId(node) {
18484
+ return `_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`;
18485
+ }
18486
+ getNodeByIdAndParentId(nodeId, parentId) {
18487
+ return this.treeControl.dataNodes.find(x => {
18488
+ return x.id === nodeId && x.parentId === parentId;
18489
+ });
18490
+ }
18491
+ expandNode(node) {
18492
+ this.treeControl.expand(node);
18493
+ }
18494
+ }
18495
+ NewTreeComponent.decorators = [
18496
+ { type: Component, args: [{
18497
+ selector: 'qms-tree-new',
18498
+ template: "<mat-tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"tree__container\"\r\n>\r\n <mat-tree-node\r\n class=\"tree-branch\"\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n >\r\n <!-- form thu 1 - child -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n >\r\n </mat-checkbox>\r\n\r\n <!-- form thu 2 -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"ml-10 checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <div\r\n class=\"expand-node\"\r\n *ngIf=\"node.name && !onlyFolder\"\r\n [class.bgSelected]=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n (click)=\"selectNode(node)\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <div class=\"expand-node__text\">\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.name && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n >\r\n {{ itemIcon }}\r\n </mat-icon>\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.svg && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"itemIconSvg\"\r\n >\r\n </mat-icon>\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.path && !onlyCheckBoxForChild\"\r\n class=\"mat-icon\"\r\n [src]=\"itemIconPath\"\r\n />\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.base64 && !onlyCheckBoxForChild\"\r\n class=\"mat-icon image-base64\"\r\n [src]=\"getImagePath()\"\r\n />\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.none && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getItemIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.name }}</span>\r\n </div>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </div>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding>\r\n <!-- form thu 1 - parent -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild\"\r\n [checked]=\"descendantsAllSelected(node)\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <button\r\n class=\"button-boder\"\r\n mat-icon-button\r\n matTreeNodeToggle\r\n [disableRipple]=\"!node.hasChild\"\r\n [attr.aria-label]=\"'toggle ' + node.filename\"\r\n *ngIf=\"node.name\"\r\n (click)=\"onExpandNode(node, treeControl.isExpanded(node))\"\r\n >\r\n <mat-icon\r\n *ngIf=\"openIcon && closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : closeIconColor\r\n }\"\r\n >{{ getNodeIcon(node) }}</mat-icon\r\n >\r\n <mat-icon\r\n *ngIf=\"!openIcon || !closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngClass]=\"{\r\n 'open-icon': treeControl.isExpanded(node),\r\n 'not-department-icon': moduleId !== dataType.document\r\n }\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n >\r\n </mat-icon>\r\n </button>\r\n <span\r\n *ngIf=\"expandOnTitleClick\"\r\n matTreeNodeToggle\r\n class=\"text-node-parent\"\r\n style=\"cursor: pointer\"\r\n (click)=\"onExpandNode(node, treeControl.isExpanded(node))\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : '#000000'\r\n }\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n <span\r\n *ngIf=\"!expandOnTitleClick\"\r\n class=\"text-node-parent\"\r\n (click)=\"selectFolder(node)\"\r\n style=\"cursor: pointer\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n </mat-tree-node>\r\n</mat-tree>\r\n",
18499
+ encapsulation: ViewEncapsulation.None,
18500
+ styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.tree__container{font-family:Open Sans;font-style:normal;font-weight:400;font-size:.875rem;line-height:19px;color:#323232}.tree__container .mat-tree-node{color:#000;min-height:0}.tree__container .mat-tree-node .mat-checkbox.qms-group-options{padding:0}.tree__container .mat-tree-node .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:11px}.tree__container .button{margin-left:6px}.tree__container .button:focus,.tree__container .button:hover{background-color:#009ef2;border-radius:2px;width:auto}.tree__container .button-boder:focus,.tree__container .button:focus{outline:0}.tree__container .button-folder-boder:focus{outline:0}.tree__container .button-folder-boder:focus,.tree__container .button-folder-boder:hover{background-color:#009ef2;border-radius:2px;width:auto}.tree__container .expand-node{margin-left:8px;min-height:32px;justify-content:space-between;width:100%}.tree__container .expand-node,.tree__container .expand-node .expand-node__text{display:flex;align-items:center}.tree__container .expand-node .mat-icon{color:rgba(0,0,0,.6);margin-right:17px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.tree__container .expand-node .mat-icon svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.tree__container .expand-node.bgSelected .icon-check{color:#1954a9}.tree__container .text-node-parent{width:100%;display:flex;align-items:center;justify-content:space-between;margin-left:10px;cursor:pointer}.tree__container .text-node-parent.active-item{color:#1954a9!important}.tree__container .text-node-parent.bgSelected .icon-check{color:#1954a9}.tree__container .mr-11{margin-right:11px}.tree__container .ml-10{margin-left:10px}.tree__container .tree-branch:hover{background-color:#e5eefb}.tree__container .image-base64{width:20px;height:20px}.tree__container .mat-checkbox.qms-group-options.mat-checkbox-checked{background:transparent!important}::ng-deep .mat-tree .mat-checkbox.qms-group-options{padding:0}::ng-deep .mat-tree .mat-checkbox.qms-group-options.mat-checkbox-checked{background-color:transparent}::ng-deep .mat-tree .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:0}svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.open-icon.not-department-icon svg path,.open-icon svg path:first-child{fill:#1954a9}"]
18501
+ },] }
18502
+ ];
18503
+ NewTreeComponent.ctorParameters = () => [
18504
+ { type: ChangeDetectorRef },
18505
+ { type: DomSanitizer },
18506
+ { type: MatIconRegistry },
18507
+ { type: QMSIconRegistryService }
18508
+ ];
18509
+ NewTreeComponent.propDecorators = {
18510
+ treeData: [{ type: Input }],
18511
+ treeConfig: [{ type: Input }],
18512
+ selectedData: [{ type: Input }],
18513
+ selectedRiskData: [{ type: Input }],
18514
+ disabledList: [{ type: Input }],
18515
+ expandOnTitleClick: [{ type: Input }],
18516
+ expandToChildNode: [{ type: Input }],
18517
+ parentNodeOnClick: [{ type: Input }],
18518
+ selectNodeEvent: [{ type: Output }],
18519
+ selectFolderEvent: [{ type: Output }],
18520
+ checkBoxEvent: [{ type: Output }],
18521
+ childCheckedEvent: [{ type: Output }],
18522
+ nodeExpandEvent: [{ type: Output }],
18523
+ getChildNodeSelectOne: [{ type: Output }],
18524
+ treeControlNodes: [{ type: Output }]
18525
+ };
18526
+
18527
+ class QMSNewTreeModule {
18528
+ }
18529
+ QMSNewTreeModule.decorators = [
18530
+ { type: NgModule, args: [{
18531
+ declarations: [
18532
+ NewTreeComponent,
18533
+ ],
18534
+ imports: [
18535
+ CommonModule,
18536
+ MatTreeModule,
18537
+ MatFormFieldModule,
18538
+ MatIconModule,
18539
+ MatButtonModule,
18540
+ MatCheckboxModule,
18541
+ MatAutocompleteModule,
18542
+ ReactiveFormsModule,
18543
+ ScrollingModule,
18544
+ MatCardModule,
18545
+ MatSidenavModule,
18546
+ MatListModule,
18547
+ SharedMaterialModule,
18548
+ QMSListModule,
18549
+ QmsAngularModule,
18550
+ QMSBreadcrumbModule,
18551
+ QMSAppIconModule
18552
+ ],
18553
+ exports: [
18554
+ NewTreeComponent,
18555
+ ]
18556
+ },] }
18557
+ ];
18558
+
18559
+ class SelectProcessDocumentPopupData {
18560
+ constructor() {
18561
+ this.moduleId = 0;
18562
+ this.moduleName = '';
18563
+ this.treeData1 = [];
18564
+ this.treeData2 = [];
18565
+ this.selectedNode = [];
18566
+ this.disabledList = [];
18567
+ this.disabledList2 = [];
18568
+ this.splitView = false;
18569
+ }
18570
+ }
18571
+
18572
+ class QMSProcessDocumentItem {
18573
+ }
18574
+
18575
+ class QMSSelectProcessDocumentGlobalService {
18576
+ constructor() {
18577
+ this.searchRelated = new BehaviorSubject([]);
18578
+ this.splitViewValue = new BehaviorSubject([]);
18579
+ this.getProcessAreaChildren = new BehaviorSubject([]);
18580
+ this.getFolderChildren = new BehaviorSubject([]);
18581
+ }
18582
+ setSearchRelated(result) {
18583
+ this.searchRelated.next(result);
18584
+ }
18585
+ setSplitviewValue(result) {
18586
+ this.splitViewValue.next(result);
18587
+ }
18588
+ setProcessAreaChildren(result) {
18589
+ this.getProcessAreaChildren.next(result);
18590
+ }
18591
+ setFolderChildren(result) {
18592
+ this.getFolderChildren.next(result);
18593
+ }
18594
+ }
18595
+ QMSSelectProcessDocumentGlobalService.ɵprov = i0.ɵɵdefineInjectable({ factory: function QMSSelectProcessDocumentGlobalService_Factory() { return new QMSSelectProcessDocumentGlobalService(); }, token: QMSSelectProcessDocumentGlobalService, providedIn: "root" });
18596
+ QMSSelectProcessDocumentGlobalService.decorators = [
18597
+ { type: Injectable, args: [{ providedIn: 'root' },] }
18598
+ ];
18599
+ QMSSelectProcessDocumentGlobalService.ctorParameters = () => [];
18600
+
18601
+ class SelectProcessDocumentPopupComponent {
18602
+ constructor(cdRef, translate, dialogRef, globalService, iconRegistry, sanitizer, appIconService, elem, data) {
18603
+ this.cdRef = cdRef;
18604
+ this.translate = translate;
18605
+ this.dialogRef = dialogRef;
18606
+ this.globalService = globalService;
18607
+ this.iconRegistry = iconRegistry;
18608
+ this.sanitizer = sanitizer;
18609
+ this.appIconService = appIconService;
18610
+ this.elem = elem;
18611
+ this.data = data;
18612
+ this.ngUnsubscribe = new Subject();
18613
+ this.moduleId = 0;
18614
+ this.moduleName = '';
18615
+ this.treeData1 = [];
18616
+ this.treeData2 = [];
18617
+ this.checkedNodeList = [];
18618
+ this.selectedNode = [];
18619
+ this.selectedData = [];
18620
+ this.selectedData2 = [];
18621
+ this.commonCheckedList = [];
18622
+ this.documentCheckedList = [];
18623
+ this.singleProcessList = [];
18624
+ this.singleDocumentList = [];
18625
+ this.module = ModuleType$1;
18626
+ this.dataType = DataType$1;
18627
+ this.itemType = 0;
18628
+ this.selectedRiskData = [];
18629
+ this.disabledList = [];
18630
+ this.disabledList2 = [];
18631
+ this.isDocumentExpanded = true;
18632
+ this.isCommonExpanded = true;
18633
+ this.singleSelectedNode = false;
18634
+ this.searchOrder = [];
18635
+ this.myControl = new FormControl();
18636
+ this.filteredOptions = [];
18637
+ this.isInputValue = false;
18638
+ this.itemInSplitview = [];
18639
+ this.selectedFolder = null;
18640
+ this.splitViewTitle = null;
18641
+ this.listChildrenSelectOne = [];
18642
+ this.onSearch = new EventEmitter();
18643
+ this.onSelectFolderItem = new EventEmitter();
18644
+ this.onExpandProcessArea = new EventEmitter();
18645
+ this.onExpandFolder = new EventEmitter();
18646
+ this.parentNodeSelected = new TreeFlatNode();
18647
+ this.moduleId = data.moduleId;
18648
+ this.moduleName = data.moduleName;
18649
+ this.treeData1 = data.treeData1;
18650
+ this.treeData2 = data.treeData2;
18651
+ this.treeConfig1 = data.treeConfig1;
18652
+ this.treeConfig2 = data.treeConfig2;
18653
+ this.selectedRiskData = (data === null || data === void 0 ? void 0 : data.selectedNode) || [];
18654
+ this.singleSelectedNode = data.treeConfig1.singleSelectedNode;
18655
+ this.disabledList = data.disabledList || [];
18656
+ this.disabledList2 = data.disabledList2 || [];
18657
+ this.splitView = data.splitView;
18658
+ this.isSelectOne = data.isSelectOne;
18659
+ this.canOnlySelectItem = data.canOnlySelectItem;
18660
+ appIconService.registerProcessIcon(iconRegistry, sanitizer);
18661
+ appIconService.registerProcessAreaIcon(iconRegistry, sanitizer);
18662
+ appIconService.registerDocumentIcon(iconRegistry, sanitizer);
18663
+ appIconService.registerFolderIcon(iconRegistry, sanitizer);
18664
+ }
18665
+ ngOnDestroy() {
18666
+ this.ngUnsubscribe.next();
18667
+ this.ngUnsubscribe.complete();
18668
+ this.globalService.setSearchRelated([]);
18669
+ this.selectedFolder = null;
18670
+ this.globalService.setSplitviewValue([]);
18671
+ }
18672
+ onMessage(event) {
18673
+ if (event.data === RelatedConst.HIDE_SEARCH_RESULT) {
18674
+ // this.autoComplete.closePanel();
18675
+ }
18676
+ }
18677
+ ngOnInit() {
18678
+ this.translate.getLanguageSubject$.pipe().subscribe((res) => {
18679
+ if (res) {
18680
+ this.LANG = this.translate.getObjectLang(res);
18681
+ }
18682
+ });
18683
+ this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18684
+ if (res && res.length) {
18685
+ this.filteredOptions = res;
18686
+ }
18687
+ });
18688
+ this.globalService.splitViewValue.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18689
+ this.itemInSplitview = res;
18690
+ if (res.length) {
18691
+ let listNodeProcess = [];
18692
+ let listNodeDocs = [];
18693
+ res.forEach(item => {
18694
+ let newNodeProcess = new NewTreeModel();
18695
+ newNodeProcess.id = item.id;
18696
+ newNodeProcess.name = item.itemName;
18697
+ newNodeProcess.displayId = +item.itemNumberId;
18698
+ newNodeProcess.parentId = item.parentId;
18699
+ newNodeProcess.statusId = item.status;
18700
+ if (item.itemType === DataType$1.process) {
18701
+ listNodeProcess.push(newNodeProcess);
18702
+ }
18703
+ else {
18704
+ let newNodeDocs = new NewTreeModel();
18705
+ newNodeDocs.statusName = item.statusName;
18706
+ listNodeDocs.push(newNodeDocs);
18707
+ }
18708
+ });
18709
+ if (this.checkedNodeList.length) {
18710
+ this.selectedData = [];
18711
+ this.selectedData2 = [];
18712
+ let selectProcess = [];
18713
+ let selectDocument = [];
18714
+ this.checkedNodeList.forEach(x => {
18715
+ const newNode = {
18716
+ disabled: false,
18717
+ expandable: (x.itemType == DataType$1.area || x.itemType == DataType$1.folder) ? true : false,
18718
+ hasChild: (x.itemType == DataType$1.area || x.itemType == DataType$1.folder) ? true : false,
18719
+ id: x.id,
18720
+ level: 0,
18721
+ levelType: undefined,
18722
+ name: x.itemName,
18723
+ parentId: x.parentId
18724
+ };
18725
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
18726
+ this.treeData1.forEach(item => {
18727
+ if (item.id && x.id === item.id) {
18728
+ selectProcess.push(newNode);
18729
+ }
18730
+ });
18731
+ }
18732
+ else {
18733
+ this.treeData2.forEach(item => {
18734
+ if (item.id && x.id === item.id) {
18735
+ selectDocument.push(newNode);
18736
+ }
18737
+ });
18738
+ }
18739
+ });
18740
+ this.selectedData = [...this.selectedData, ...selectProcess];
18741
+ this.selectedData2 = [...this.selectedData2, ...selectDocument];
18742
+ }
18743
+ }
18744
+ });
18745
+ this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {
18746
+ this.isInputValue = true;
18747
+ this.onSearchRelated(val);
18748
+ });
18749
+ this.globalService.getProcessAreaChildren.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18750
+ if (res.length > 0 && this.dataTrees) {
18751
+ let notShownChildren = [];
18752
+ res.forEach(x => {
18753
+ const index = this.treeData1.findIndex(item => item.id === x.id && item.parentId === x.parentId && x.expandable == item.expandable);
18754
+ if (index < 0) {
18755
+ notShownChildren.push(x);
18756
+ }
18757
+ });
18758
+ this.treeData1 = [...this.treeData1, ...notShownChildren];
18759
+ }
18760
+ });
18761
+ this.globalService.getFolderChildren.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18762
+ if (res.length > 0 && this.dataTrees) {
18763
+ let notShownChildren = [];
18764
+ res.forEach(x => {
18765
+ const index = this.treeData2.findIndex(item => item.id === x.id && item.parentId === x.parentId && x.expandable == item.expandable);
18766
+ if (index < 0) {
18767
+ notShownChildren.push(x);
18768
+ }
18769
+ });
18770
+ this.treeData2 = [...this.treeData2, ...notShownChildren];
18771
+ }
18772
+ });
18773
+ this.itemType = this.dataType.process;
18774
+ this.searchOrder = this.getSearchOrder();
18775
+ }
18776
+ ngAfterViewChecked() {
18777
+ }
18778
+ removeCheckedNodeList(item) {
18779
+ this.selectedData = [];
18780
+ this.selectedData2 = [];
18781
+ this.checkedNodeList = this.checkedNodeList.filter(x => (x.id.toLowerCase() !== item.id.toLowerCase() || x.parentId.toLowerCase() !== item.parentId.toLowerCase()));
18782
+ const tempArr = [];
18783
+ const tempArrDocument = [];
18784
+ const newSelectProcessList = [];
18785
+ const newSelectDocumentList = [];
18786
+ this.commonCheckedList.forEach(element => {
18787
+ this.checkedNodeList.forEach(x => {
18788
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18789
+ tempArr.push(element);
18790
+ }
18791
+ });
18792
+ });
18793
+ this.singleProcessList.forEach(element => {
18794
+ this.checkedNodeList.forEach(x => {
18795
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18796
+ newSelectProcessList.push(element);
18797
+ }
18798
+ });
18799
+ });
18800
+ this.singleProcessList = newSelectProcessList;
18801
+ if (tempArr.length > 0) {
18802
+ this.selectedData = [...tempArr];
18803
+ }
18804
+ this.documentCheckedList.forEach(element => {
18805
+ this.checkedNodeList.forEach(x => {
18806
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18807
+ tempArrDocument.push(element);
18808
+ }
18809
+ });
18810
+ });
18811
+ this.singleDocumentList.forEach(element => {
18812
+ this.checkedNodeList.forEach(x => {
18813
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18814
+ newSelectDocumentList.push(element);
18815
+ }
18816
+ });
18817
+ });
18818
+ this.singleDocumentList = newSelectDocumentList;
18819
+ if (tempArrDocument.length > 0) {
18820
+ this.selectedData2 = [...tempArrDocument];
18821
+ }
18822
+ }
18823
+ setResultHeight(arr) {
18824
+ let maxHeight = 484;
18825
+ const popup_content = document.getElementsByClassName('qmslib_related_popup_content')[0];
18826
+ const line__divider = document.getElementsByClassName('line__divider')[0];
18827
+ if (popup_content && line__divider) {
18828
+ maxHeight = this.getOffsetHeight(popup_content, true) + this.getOffsetHeight(line__divider, true) * 2;
18829
+ }
18830
+ const contentResult = document.getElementsByClassName('cdk-virtual-scroll-content-wrapper')[0];
18831
+ const viewreports = document.getElementsByClassName('related-viewport')[0];
18832
+ if (viewreports) {
18833
+ if (contentResult.offsetHeight <= maxHeight) {
18834
+ viewreports.style.height = `${contentResult.offsetHeight}px`;
18835
+ }
18836
+ else {
18837
+ viewreports.style.height = `${maxHeight}px`;
18838
+ }
18839
+ }
18840
+ }
18841
+ onSearchRelated(_val) {
18842
+ this.filteredOptions = [];
18843
+ if (typeof (_val) === 'object') {
18844
+ this.myControl.setValue('');
18845
+ this.isInputValue = false;
18846
+ }
18847
+ else if (typeof (_val) === 'string') {
18848
+ if (!!_val) {
18849
+ this.onSearch.emit(_val);
18850
+ }
18851
+ }
18852
+ }
18853
+ getModuleFilteredOptions(moduleId) {
18854
+ if (this.listChildrenSelectOne.length) {
18855
+ for (let index = 0; index < this.listChildrenSelectOne.length; index++) {
18856
+ const firstEl = this.listChildrenSelectOne[index];
18857
+ for (let j = 0; j < this.filteredOptions.length; j++) {
18858
+ const secondEl = this.filteredOptions[j];
18859
+ if (firstEl.id === secondEl.id) {
18860
+ this.filteredOptions.splice(j, 1);
18861
+ }
18862
+ }
18863
+ }
18864
+ }
18865
+ return this.filteredOptions.filter(x => x.itemType === moduleId);
18866
+ }
18867
+ showSearchResult() {
18868
+ // this.autoComplete.openPanel();
18869
+ }
18870
+ displayRelated(related) {
18871
+ return related ? related.itemName : undefined;
18872
+ }
18873
+ selectRelated(item) {
18874
+ let index = -1;
18875
+ this.selectedNode = [];
18876
+ if (this.treeConfig1.showCheckBox) {
18877
+ index = this.checkedNodeList.findIndex(x => {
18878
+ return x.id === item.id && x.parentId === item.parentId;
18879
+ });
18880
+ }
18881
+ if (index < 0) {
18882
+ let position = -1;
18883
+ let node;
18884
+ let typeId;
18885
+ if (item.itemType === this.dataType.document) {
18886
+ // document
18887
+ const isExistInDisabled = this.disabledList2.findIndex(x => {
18888
+ return x.id && x.id.toLowerCase() === item.id.toLowerCase();
18889
+ });
18890
+ if (isExistInDisabled >= 0) {
18891
+ return;
18892
+ }
18893
+ position = this.treeData2.findIndex(x => {
18894
+ return x.id === item.id && x.parentId === item.parentId && !x.expandable;
18895
+ });
18896
+ if (position >= 0) {
18897
+ this.addToChecklistNodeAndSelectedData(item);
18898
+ node = this.treeData2[position];
18899
+ typeId = this.dataType.document;
18900
+ const treeNode = {
18901
+ id: node.childId,
18902
+ name: node.childName,
18903
+ children: [],
18904
+ parentId: node.rootId,
18905
+ expandable: false
18906
+ };
18907
+ this.dataTrees.toArray()[1].todoItemSelectionProcessDocument([treeNode]);
18908
+ }
18909
+ else {
18910
+ this.addNodeToTree(item);
18911
+ this.addToChecklistNodeAndSelectedData(item);
18912
+ setTimeout(() => {
18913
+ const treeNode = {
18914
+ id: item.id,
18915
+ name: item.itemName,
18916
+ children: [],
18917
+ parentId: item.parentId,
18918
+ expandable: false
18919
+ };
18920
+ this.dataTrees.toArray()[1].todoItemSelectionProcessDocument([treeNode]);
18921
+ }, 500);
18922
+ }
18923
+ }
18924
+ else if (item.itemType === this.dataType.folder) {
18925
+ position = this.treeData2.findIndex(x => {
18926
+ return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase());
18927
+ });
18928
+ typeId = item.itemType;
18929
+ if (position >= 0) {
18930
+ node = this.treeData2[position];
18931
+ const treeNode = {
18932
+ id: node.id,
18933
+ name: node.name,
18934
+ children: [],
18935
+ parentId: node.parentId,
18936
+ expandable: true,
18937
+ };
18938
+ this.dataTrees.toArray()[1].todoFolderSelection([treeNode]);
18939
+ }
18940
+ else {
18941
+ this.addNodeToTree(item);
18942
+ this.addToChecklistNodeAndSelectedData(item);
18943
+ }
18944
+ return;
18945
+ }
18946
+ else if (item.itemType === this.dataType.area) {
18947
+ position = this.treeData1.findIndex(x => {
18948
+ return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase()) && x.expandable;
18949
+ });
18950
+ typeId = item.itemType;
18951
+ if (position >= 0) {
18952
+ node = this.treeData1[position];
18953
+ const treeNode = {
18954
+ id: node.id,
18955
+ name: node.name,
18956
+ children: [],
18957
+ parentId: node.parentId,
18958
+ expandable: true
18959
+ };
18960
+ this.dataTrees.toArray()[0].todoFolderSelection([treeNode]);
18961
+ }
18962
+ else {
18963
+ this.addNodeToTree(item);
18964
+ this.addToChecklistNodeAndSelectedData(item);
18965
+ }
18966
+ return;
18967
+ }
18968
+ else {
18969
+ const isExistInDisabled = this.disabledList.findIndex(x => {
18970
+ return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase());
18971
+ });
18972
+ if (isExistInDisabled >= 0) {
18973
+ return;
18974
+ }
18975
+ position = this.treeData1.findIndex(x => {
18976
+ return x.id.toLowerCase() === item.id.toLowerCase() && x.parentId.toLowerCase() === item.parentId.toLowerCase() && !x.expandable;
18977
+ });
18978
+ if (position >= 0) {
18979
+ node = this.treeData1[position];
18980
+ typeId = this.itemType;
18981
+ const treeNode = {
18982
+ id: node.childId,
18983
+ name: node.childName,
18984
+ children: [],
18985
+ parentId: node.rootId,
18986
+ expandable: false
18987
+ };
18988
+ this.addToChecklistNodeAndSelectedData(item);
18989
+ this.dataTrees.toArray()[0].todoItemSelectionProcessDocument([treeNode]);
18990
+ }
18991
+ else {
18992
+ this.addNodeToTree(item);
18993
+ this.addToChecklistNodeAndSelectedData(item);
18994
+ setTimeout(() => {
18995
+ const treeNode = {
18996
+ id: item.id,
18997
+ name: item.itemName,
18998
+ children: [],
18999
+ parentId: item.parentId,
19000
+ expandable: false
19001
+ };
19002
+ this.dataTrees.toArray()[0].todoItemSelectionProcessDocument([treeNode]);
19003
+ }, 500);
19004
+ }
19005
+ }
19006
+ }
19007
+ }
19008
+ addNodeToTree(item) {
19009
+ let newNodeDocs = new NewTreeModel();
19010
+ newNodeDocs.id = item.id;
19011
+ newNodeDocs.name = item.itemName;
19012
+ newNodeDocs.parentId = item.parentId;
19013
+ newNodeDocs.statusId = item === null || item === void 0 ? void 0 : item['itemStatus'];
19014
+ newNodeDocs.statusName = item === null || item === void 0 ? void 0 : item['statusName'];
19015
+ newNodeDocs.displayId = +item.itemNumberId;
19016
+ newNodeDocs.expandable = item.itemType == DataType$1.folder || item.itemType == DataType$1.area ? true : false;
19017
+ if (item.itemType == DataType$1.folder || item.itemType == DataType$1.document) {
19018
+ if (this.treeData2.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() &&
19019
+ (!newNodeDocs.parentId || x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) && x.expandable === newNodeDocs.expandable) >= 0) {
19020
+ this.treeData2 = [...this.treeData2, newNodeDocs];
19021
+ }
19022
+ }
19023
+ else {
19024
+ if (this.treeData1.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() &&
19025
+ (!newNodeDocs.parentId || x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) && x.expandable === newNodeDocs.expandable) >= 0) {
19026
+ this.treeData1 = [...this.treeData1, newNodeDocs];
19027
+ }
19028
+ }
19029
+ }
19030
+ addToChecklistNode(item) {
19031
+ let newNodeDocs = new NewTreeModel();
19032
+ newNodeDocs.id = item.id;
19033
+ newNodeDocs.name = item.itemName;
19034
+ newNodeDocs.parentId = item.parentId;
19035
+ newNodeDocs.statusId = item === null || item === void 0 ? void 0 : item['itemStatus'];
19036
+ newNodeDocs.statusName = item === null || item === void 0 ? void 0 : item['statusName'];
19037
+ newNodeDocs.displayId = +item.itemNumberId;
19038
+ newNodeDocs.expandable = item.itemType == DataType$1.folder || item.itemType == DataType$1.area ? true : false;
19039
+ if (this.isSelectOne) {
19040
+ this.checkedNodeList = [];
19041
+ this.documentCheckedList = [];
19042
+ this.commonCheckedList = [];
19043
+ }
19044
+ const index = this.checkedNodeList.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() &&
19045
+ (!newNodeDocs.parentId || x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) && x.expandable === newNodeDocs.expandable);
19046
+ if (index < 0) {
19047
+ if (item.itemType == DataType$1.folder || item.itemType == DataType$1.document) {
19048
+ this.documentCheckedList.push({
19049
+ id: newNodeDocs.id,
19050
+ name: newNodeDocs.name,
19051
+ itemType: item.itemType,
19052
+ parentId: newNodeDocs.parentId,
19053
+ levelType: newNodeDocs.levelType,
19054
+ level: 0,
19055
+ disabled: false,
19056
+ expandable: newNodeDocs.expandable,
19057
+ hasChild: newNodeDocs.expandable
19058
+ });
19059
+ }
19060
+ else {
19061
+ this.commonCheckedList.push({
19062
+ id: newNodeDocs.id,
19063
+ name: newNodeDocs.name,
19064
+ itemType: item.itemType,
19065
+ parentId: newNodeDocs.parentId,
19066
+ levelType: newNodeDocs.levelType,
19067
+ level: 0,
19068
+ disabled: false,
19069
+ expandable: newNodeDocs.expandable,
19070
+ hasChild: newNodeDocs.expandable
19071
+ });
19072
+ }
19073
+ this.checkedNodeList.push({
19074
+ moduleId: this.moduleId,
19075
+ id: item.id,
19076
+ itemName: newNodeDocs.name,
19077
+ itemType: item.itemType,
19078
+ parentId: newNodeDocs.parentId,
19079
+ parentName: item.parentName,
19080
+ itemNumberId: item.itemNumberId,
19081
+ levelType: item.levelType,
19082
+ expandable: newNodeDocs.expandable,
19083
+ statusName: item.statusName,
19084
+ status: item.status,
19085
+ displayId: Number.parseFloat(item.itemNumberId)
19086
+ });
19087
+ }
19088
+ }
19089
+ addSelectedData(item) {
19090
+ const selectProcess = [];
19091
+ const selectDocument = [];
19092
+ this.selectedData = [];
19093
+ this.selectedData2 = [];
19094
+ if (this.checkedNodeList.length) {
19095
+ this.checkedNodeList.forEach(x => {
19096
+ const node = {
19097
+ disabled: false,
19098
+ expandable: x.itemType == DataType$1.area || x.itemType == DataType$1.folder ? true : false,
19099
+ hasChild: x.itemType == DataType$1.area || x.itemType == DataType$1.folder ? true : false,
19100
+ id: x.id,
19101
+ level: 0,
19102
+ levelType: undefined,
19103
+ name: x.itemName,
19104
+ parentId: x.parentId
19105
+ };
19106
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
19107
+ this.treeData1.forEach(item => {
19108
+ if (item.id && x.id.toLowerCase() === item.id.toLowerCase() &&
19109
+ (!x.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase())) {
19110
+ selectProcess.push(node);
19111
+ }
19112
+ });
19113
+ }
19114
+ else {
19115
+ this.treeData2.forEach(item => {
19116
+ if (item.id && x.id.toLowerCase() === item.id.toLowerCase() &&
19117
+ (!x.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase())) {
19118
+ selectDocument.push(node);
19119
+ }
19120
+ });
19121
+ }
19122
+ });
19123
+ }
19124
+ if (!this.isSelectOne) {
19125
+ this.selectedData = [...this.selectedData, ...selectProcess];
19126
+ this.selectedData2 = [...this.selectedData2, ...selectDocument];
19127
+ }
19128
+ if (item.itemType === DataType$1.folder || item.itemType === DataType$1.document) {
19129
+ if (this.selectedData2.findIndex(x => x.id.toLowerCase() === item.id.toLowerCase() &&
19130
+ (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase()) && x.expandable === item.expandable) < 0) {
19131
+ this.selectedData2 = [...this.selectedData2, item];
19132
+ }
19133
+ }
19134
+ else {
19135
+ if (this.selectedData.findIndex(x => x.id.toLowerCase() === item.id.toLowerCase() &&
19136
+ (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase()) && x.expandable === item.expandable) < 0) {
19137
+ this.selectedData = [...this.selectedData, item];
19138
+ }
19139
+ }
19140
+ }
19141
+ addToChecklistNodeAndSelectedData(item) {
19142
+ this.addToChecklistNode(item);
19143
+ this.addSelectedData({
19144
+ id: item.id,
19145
+ name: item.itemName,
19146
+ expandable: item.itemType == DataType$1.area || item.itemType == DataType$1.folder,
19147
+ level: 0,
19148
+ disabled: false,
19149
+ hasChild: item.itemType == DataType$1.area || item.itemType == DataType$1.folder,
19150
+ });
19151
+ }
19152
+ setTypeProcess(expand) {
19153
+ return expand ? this.dataType.area : this.dataType.process;
19154
+ }
19155
+ onCloseClick() {
19156
+ this.selectedFolder = null;
19157
+ this.itemInSplitview = [];
19158
+ this.dialogRef.close();
19159
+ }
19160
+ ;
19161
+ onAddClick() {
19162
+ // if (this.treeConfig1.showCheckBox) {
19163
+ this.selectedFolder = null;
19164
+ this.itemInSplitview = [];
19165
+ this.dialogRef.close(this.checkedNodeList);
19166
+ }
19167
+ getStatusName(id) {
19168
+ let statusName = '';
19169
+ this.treeData2.forEach(x => {
19170
+ if (id.toString() === x.id) {
19171
+ statusName = x.statusName;
19172
+ }
19173
+ });
19174
+ return statusName;
19175
+ }
19176
+ selectTreeControlNodeDocument(treeNodes) {
19177
+ this.treeControlNodeDocument = null;
19178
+ this.treeControlNodeDocument = treeNodes;
19179
+ this.treeControlNodeDocument.dataNodes = this.treeControlNodeDocument.dataNodes.filter(x => x.name !== null && x.name !== '');
19180
+ }
19181
+ selectTreeControlNodeProcess(treeNodes) {
19182
+ this.treeControlNodeProcess = null;
19183
+ this.treeControlNodeProcess = treeNodes;
19184
+ this.treeControlNodeProcess.dataNodes = this.treeControlNodeProcess.dataNodes.filter(x => x.name !== null && x.name !== '');
19185
+ }
19186
+ getStatusDocs(id) {
19187
+ return this.treeData2.filter(x => x.id === id)[0].statusId;
19188
+ }
19189
+ getStatusProcess(id) {
19190
+ return this.treeData1.filter(x => x.id === id)[0].statusId;
19191
+ }
19192
+ getOffsetHeight(element, includeMargin) {
19193
+ let elmHeight = 0, elmMargin = 0;
19194
+ elmHeight = element.offsetHeight;
19195
+ if (includeMargin) {
19196
+ const style = window.getComputedStyle(element);
19197
+ elmMargin = parseFloat(style.marginTop.replace('px', '')) + parseFloat(style.marginBottom.replace('px', ''));
19198
+ }
19199
+ return (elmHeight + elmMargin);
19200
+ }
19201
+ getItemChipName(item) {
19202
+ return item.itemName;
19203
+ }
19204
+ isEllipsisActive(e) {
19205
+ return e ? (e.clientWidth < e.scrollWidth) : false;
19206
+ }
19207
+ getNodeIcon(item) {
19208
+ switch (item.itemType) {
19209
+ case DataType$1.folder: {
19210
+ switch (item.levelType) {
19211
+ case DocumentNodeType$1.DepartmentFolder:
19212
+ return 'department_folder_outlined';
19213
+ case DocumentNodeType$1.RegionalFolder:
19214
+ return 'regional_folder_outlined';
19215
+ case DocumentNodeType$1.TopFolder:
19216
+ return 'enterprise_folder_outlined';
19217
+ case DocumentNodeType$1.Folder:
19218
+ return 'local_folder_outlined';
19219
+ default:
19220
+ return 'folder_outlined';
19221
+ }
19222
+ }
19223
+ case DataType$1.document: {
19224
+ switch (item.levelType) {
19225
+ case DocumentNodeType$1.DepartmentFolder:
19226
+ return 'document_department';
19227
+ case DocumentNodeType$1.RegionalFolder:
19228
+ return 'document_regional';
19229
+ case DocumentNodeType$1.TopFolder:
19230
+ return 'document_enterprise';
19231
+ case DocumentNodeType$1.Folder:
19232
+ return 'document_local';
19233
+ default:
19234
+ return 'document';
19235
+ }
19236
+ }
19237
+ case DataType$1.area:
19238
+ return 'process_area_outlined';
19239
+ case DataType$1.process:
19240
+ return 'process';
19241
+ default:
19242
+ return 'folder_outlined';
19243
+ }
19244
+ }
19245
+ getSearchOrder() {
19246
+ let searchTypes = Object.keys(this.dataType)
19247
+ .map(key => ({ value: this.dataType[key], key: key }));
19248
+ searchTypes = searchTypes.slice(searchTypes.length / 2);
19249
+ return searchTypes;
19250
+ }
19251
+ getTitle(type) {
19252
+ switch (type) {
19253
+ case DataType$1.process:
19254
+ return this.LANG.PROCESSES;
19255
+ case DataType$1.area:
19256
+ return this.LANG.PROCESS_AREA;
19257
+ case DataType$1.document:
19258
+ return this.LANG.DOCUMENTS;
19259
+ case DataType$1.folder:
19260
+ return this.LANG.FOLDER;
19261
+ }
19262
+ }
19263
+ getItemId(item) {
19264
+ if (item.itemType === this.dataType.process) {
19265
+ return `${this.LANG.PROCESS_ID}: ${item.itemNumberId}; ${item.statusName}`;
19266
+ }
19267
+ else if (item.itemType === this.dataType.document) {
19268
+ return `${this.LANG.DOCUMENT_ID}: ${item.itemNumberId}; ${item.statusName}`;
19269
+ }
19270
+ return null;
19271
+ }
19272
+ toggleSelectItem(node) {
19273
+ const selectedNode = this.checkedNodeList.find(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase()));
19274
+ if (selectedNode) {
19275
+ this.removeCheckedNodeList({
19276
+ id: selectedNode.id,
19277
+ itemName: node.itemName,
19278
+ parentId: selectedNode.parentId,
19279
+ expandable: false,
19280
+ itemType: selectedNode.itemType,
19281
+ moduleId: this.moduleId,
19282
+ itemNumberId: selectedNode.itemNumberId
19283
+ });
19284
+ }
19285
+ else {
19286
+ this.selectRelated(node);
19287
+ }
19288
+ }
19289
+ isNodeSelected(node) {
19290
+ return this.checkedNodeList.filter(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase())).length > 0;
19291
+ }
19292
+ getChildrenOfFolder(node, type) {
19293
+ let item = new QMSProcessDocumentItem();
19294
+ item.id = node.id;
19295
+ item.itemType = type;
19296
+ item.itemName = node.name;
19297
+ item.levelType = node.levelType;
19298
+ this.selectedFolder = node;
19299
+ this.parentNodeSelected = new TreeFlatNode();
19300
+ this.parentNodeSelected = Object.assign({}, node);
19301
+ if (item.itemType == DataType$1.area)
19302
+ this.onExpandProcessArea.emit(item);
19303
+ else
19304
+ this.onExpandFolder.emit(item);
19305
+ }
19306
+ canShowSearchOption(moduleId) {
19307
+ return this.getModuleFilteredOptions(moduleId).length > 0;
19308
+ }
19309
+ selectNodeTreeEvent(node) {
19310
+ if (!node.itemType) {
19311
+ return;
19312
+ }
19313
+ const index = this.checkedNodeList.findIndex(x => x.id.toLowerCase() === node.id.toLowerCase()
19314
+ && (!node.parentId || x.parentId.toLowerCase() === node.parentId.toLowerCase()) && x.itemType == node.itemType);
19315
+ if (index >= 0) {
19316
+ this.removeCheckedNodeList({
19317
+ id: node.id,
19318
+ itemName: node.name,
19319
+ parentId: node.parentId,
19320
+ expandable: false,
19321
+ itemType: node.itemType,
19322
+ moduleId: this.moduleId,
19323
+ itemNumberId: node.id
19324
+ });
19325
+ return;
19326
+ }
19327
+ else {
19328
+ let item;
19329
+ let status = 0;
19330
+ let statusName = '';
19331
+ if (node.itemType == DataType$1.folder || node.itemType == DataType$1.document) {
19332
+ item = this.treeData2.find(x => x.id.toLowerCase() === node.id.toLowerCase()
19333
+ && (!node.parentId || x.parentId.toLowerCase() === node.parentId.toLowerCase()) && x.expandable == node.expandable);
19334
+ }
19335
+ else {
19336
+ item = this.treeData1.find(x => x.id.toLowerCase() === node.id.toLowerCase()
19337
+ && (!node.parentId || x.parentId.toLowerCase() === node.parentId.toLowerCase()) && x.expandable == node.expandable);
19338
+ }
19339
+ if (item) {
19340
+ statusName = item.statusName;
19341
+ status = item.statusId;
19342
+ }
19343
+ this.addToChecklistNode({
19344
+ id: node.id,
19345
+ itemName: node.name,
19346
+ parentId: node.parentId,
19347
+ itemType: node.itemType,
19348
+ status: status,
19349
+ statusName: statusName,
19350
+ itemNumberId: item.displayId.toString(),
19351
+ levelType: item.levelType
19352
+ });
19353
+ this.addSelectedData(node);
19354
+ }
19355
+ }
19356
+ getChildNodeSelectOne(listChildren) {
19357
+ this.listChildrenSelectOne = [];
19358
+ this.listChildrenSelectOne = listChildren;
19359
+ }
19360
+ getItemOfFolder(node, type) {
19361
+ if (this.splitView) {
19362
+ const parentTexts = this.elem.nativeElement.querySelectorAll('.text-node-parent');
19363
+ [].forEach.call(parentTexts, (el) => {
19364
+ el.classList.remove('active-item');
19365
+ });
19366
+ const itemElement = document.querySelectorAll(`#_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`);
19367
+ [].forEach.call(itemElement, (el) => {
19368
+ el.classList.add('active-item');
19369
+ });
19370
+ if (type === this.dataType.folder) {
19371
+ this.splitViewTitle = `${this.LANG.MESSAGE.DOCUMENTS_IN.toUpperCase()} "${node.name}"`;
19372
+ }
19373
+ else if (type === this.dataType.area) {
19374
+ this.splitViewTitle = `${this.LANG.MESSAGE.PROCESSES_IN.toUpperCase()} "${node.name}"`;
19375
+ }
19376
+ let item = new QMSProcessDocumentItem();
19377
+ item.id = node.id;
19378
+ item.itemType = type;
19379
+ item.itemName = node.name;
19380
+ item.levelType = node.levelType;
19381
+ this.selectedFolder = node;
19382
+ this.parentNodeSelected = new TreeFlatNode();
19383
+ this.parentNodeSelected = Object.assign({}, node);
19384
+ this.onSelectFolderItem.emit(item);
19385
+ }
19386
+ }
19387
+ }
19388
+ SelectProcessDocumentPopupComponent.decorators = [
19389
+ { type: Component, args: [{
19390
+ selector: 'qms-select-process-document',
19391
+ template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName | uppercase }}</span>\r\n </div>\r\n </div>\r\n \r\n <div id=\"qmslib_related_popup_search\" class=\"input__field\">\r\n <input\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n \r\n <div class=\"line__divider\"></div>\r\n \r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n [class.related-viewport]=\"isInputValue\"\r\n >\r\n <ng-container *ngFor=\"let type of searchOrder\">\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"canShowSearchOption(type.value)\"\r\n >\r\n <span class=\"search__module-title\">{{ getTitle(type.value) }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(type.value)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </ng-container>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n \r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length,\r\n 'col-6': splitView,\r\n 'col-12': !splitView\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title *ngIf=\"moduleId === module.documentProcess\">\r\n {{ LANG.PROCESSES | uppercase }}\r\n </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isCommonExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree-new\r\n [treeData]=\"treeData1\"\r\n [treeConfig]=\"treeConfig1\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.area)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n (selectFolderEvent)=\"getItemOfFolder($event, dataType.area)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeProcess($event)\"\r\n ></qms-tree-new>\r\n </div>\r\n </mat-expansion-panel>\r\n \r\n <div\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n class=\"line__divider\"\r\n ></div>\r\n \r\n <mat-expansion-panel\r\n hideToggle\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n id=\"qmslib_related_popup_document_001\"\r\n [expanded]=\"isDocumentExpanded\"\r\n (opened)=\"isDocumentExpanded = true\"\r\n (closed)=\"isDocumentExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title> {{ LANG.DOCUMENTS | uppercase }} </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isDocumentExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_document_002\">\r\n <qms-tree-new\r\n [treeData]=\"treeData2\"\r\n [treeConfig]=\"treeConfig2\"\r\n [selectedData]=\"selectedData2\"\r\n [disabledList]=\"disabledList2\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.folder)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n (selectFolderEvent)=\"getItemOfFolder($event, dataType.folder)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeDocument($event)\"\r\n ></qms-tree-new>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n <div\r\n *ngIf=\"splitView\"\r\n class=\"\r\n qms-scrollbar\r\n qmslib-related-popup-splitview qmslib_related_popup_content\r\n col-6\r\n \"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <div class=\"splitview-header\" *ngIf=\"selectedFolder\">\r\n {{ splitViewTitle }}\r\n </div>\r\n <div class=\"expand-node\" *ngFor=\"let node of itemInSplitview\">\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n [checked]=\"isNodeSelected(node)\"\r\n (change)=\"toggleSelectItem(node)\"\r\n ></mat-checkbox>\r\n <mat-icon\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.itemName }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n \r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon\r\n *ngIf=\"!(treeConfig1?.selectOne || treeConfig2?.selectOne)\"\r\n (click)=\"removeCheckedNodeList(item)\"\r\n >cancel</mat-icon\r\n >\r\n </button>\r\n </div>\r\n </div>\r\n \r\n <div class=\"line__divider\"></div>\r\n \r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n </div>\r\n ",
19392
+ encapsulation: ViewEncapsulation.None,
19393
+ styles: [".qms-scrollbar::-webkit-scrollbar{width:12px}.qms-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms-scrollbar.none-scroll-bg::-webkit-scrollbar-track{background:transparent;background-clip:content-box}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:#fff;padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:#9e360f;margin-left:10px}.qms__danger .yellow{background-color:#e4cf53;margin-left:10px;color:#323232}.qms__danger .green{background-color:#00804c;margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:#f8f9f9}.confirm__button__groups .confirm:hover{background:#001983;color:#fff}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:#f8f9f9}.confirm__button__groups .cancel:hover{background:#001983;color:#fff}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:#eee}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel-tree .mat-expansion-panel-body{padding:0 12px 12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;margin-top:12px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}.qmslib__related__popup__container .panel__item .related__item__inline{max-width:100%}.qmslib__related__popup__container .panel__item .related__item__content{height:32px;line-height:32px;background-color:#e5e5e5;max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qmslib__related__popup__container .panel__item .related__item__content .mat-icon{color:#8e8e8e;font-size:24px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name{display:inline-block;min-width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:278px}.qmslib__related__popup__container .qmslib-related-popup-splitview{background-color:#fff;border-left:1px solid #ccc;height:450px;overflow-y:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview .splitview-header{height:30px;font-size:12px;letter-spacing:1px;font-family:RALEWAY;font-weight:600;display:flex;align-items:center}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options{padding:0}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:11px}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options.mat-checkbox-checked{background:transparent!important}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node{margin-left:8px;display:flex;align-items:center;min-height:40px}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon{color:rgba(0,0,0,.6);margin-right:17px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}cdk-virtual-scroll-viewport{overflow-x:hidden}cdk-virtual-scroll-viewport .search__module-result{margin:1.5rem;padding:0 0 .5rem}cdk-virtual-scroll-viewport .search__module-result .search__module-title{font-size:14px;font-weight:600}cdk-virtual-scroll-viewport .search__module-result .search__option{height:auto;line-height:normal;padding:8px 0;border-bottom:1px solid #e0e0e0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item.mat-2-line.image-item{height:auto}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content{margin:0;border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square{width:2.5rem;height:100%;background:transparent;align-self:center;margin-right:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square img{width:24px;height:24px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .material-icons-outlined.leading-icon,cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content mat-icon.leading-icon{padding:4px 0 4px 4px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .subtitle{font-weight:400}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption{overflow:hidden;line-height:normal;white-space:normal;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0;margin:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption span.search__result__parent-name{display:inline-block;width:auto;width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .default-subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .search__description-icon{margin-right:0;width:12px;height:12px;font-size:12px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .qms-list-text{border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .breadcrumb-containe .qms-breadcrumb-item .mat-icon{font-size:16px!important;padding-bottom:1px}cdk-virtual-scroll-viewport .search__module-result svg{display:block}#qmslib_related_popup_header_001{margin-bottom:20px;padding:0;font-weight:600;font-family:Raleway}.padding-5{padding:5px}.mat-autocomplete_related-viewport{height:100%;max-height:100%!important}.mat-autocomplete_related-viewport .cdk-virtual-scroll-content-wrapper{width:100%}.mat-autocomplete_related-viewport .related-viewport{min-height:10.25rem}"]
19394
+ },] }
19395
+ ];
19396
+ SelectProcessDocumentPopupComponent.ctorParameters = () => [
19397
+ { type: ChangeDetectorRef },
19398
+ { type: TranslateLibraryService },
19399
+ { type: MatDialogRef },
19400
+ { type: QMSSelectProcessDocumentGlobalService },
19401
+ { type: MatIconRegistry },
19402
+ { type: DomSanitizer },
19403
+ { type: QMSIconRegistryService },
19404
+ { type: ElementRef },
19405
+ { type: SelectProcessDocumentPopupData, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
19406
+ ];
19407
+ SelectProcessDocumentPopupComponent.propDecorators = {
19408
+ dataTrees: [{ type: ViewChildren, args: [NewTreeComponent, {},] }],
19409
+ autoComplete: [{ type: ViewChild, args: ['autoCompleteInputSearch', { read: MatAutocompleteTrigger, static: true },] }],
19410
+ onMessage: [{ type: HostListener, args: ['window:message', ['$event'],] }]
19411
+ };
19412
+
19413
+ class QMSSelectProcessDocumentModule {
19414
+ }
19415
+ QMSSelectProcessDocumentModule.decorators = [
19416
+ { type: NgModule, args: [{
19417
+ declarations: [
19418
+ SelectProcessDocumentPopupComponent
19419
+ ],
19420
+ imports: [
19421
+ CommonModule,
19422
+ MatTreeModule,
19423
+ MatIconModule,
19424
+ MatButtonModule,
19425
+ MatCheckboxModule,
19426
+ MatExpansionModule,
19427
+ MatAutocompleteModule,
19428
+ ReactiveFormsModule,
19429
+ ScrollingModule,
19430
+ MatCardModule,
19431
+ MatSidenavModule,
19432
+ MatListModule,
19433
+ SharedMaterialModule,
19434
+ QMSListModule,
19435
+ QmsAngularModule,
19436
+ QMSBreadcrumbModule,
19437
+ QMSAppIconModule,
19438
+ QMSTreeModule,
19439
+ QMSButtonModule,
19440
+ MatSlideToggleModule,
19441
+ QMSNewTreeModule
19442
+ ],
19443
+ exports: [
19444
+ SelectProcessDocumentPopupComponent
19445
+ ]
19446
+ },] }
19447
+ ];
19448
+
19449
+ class SelectedProcessDocumentItem {
19450
+ }
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
+
17322
19819
  /*
17323
19820
  * Public API Surface of qms-angular
17324
19821
  */
@@ -17327,5 +19824,5 @@ class ISelectOneItem {
17327
19824
  * Generated bundle index. Do not edit.
17328
19825
  */
17329
19826
 
17330
- export { AutocompleteOffDirective, BREADCRUMB_DROPDOWN_ICON, BUTTON_TOGGLE_DEFAULT_OPTIONS, BUTTON_TOGGLE_GROUP, BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, BannerType, BpmnService, BreadcrumbNode, ButtonToggleChange, CHECKLIST_ICON, CKEditorEventConst, CKEditorModule, ConfirmDialog, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, DateFormatPipe, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, FileErrorType, FlowChartConst, FlowchartViewMode, ISelectOneItem, IconModel, InformationCoverItem, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, LinkAnchor, LinkType, MarginDirective, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, PopupData, ProtocolType, ProtocolTypeName, QMSAnchor, QMSAppIconModule, QMSAttachmentListDirective, QMSBreadcrumb, QMSBreadcrumbDirectionIconDirective, QMSBreadcrumbItemDirective, QMSBreadcrumbModule, QMSButton, QMSButtonIcon, QMSButtonModule, QMSButtonToggle, QMSButtonToggleGroup, QMSCKEditorBaseComponent, QMSCKEditorBaseService, QMSCKEditorBpmn, QMSCKEditorBpmnApiService, QMSCKEditorBpmnComponent, QMSCKEditorBpmnTemplate, QMSCKEditorComponent, QMSCKEditorConfirmComponent, QMSCKEditorData, QMSCKEditorDialogData, QMSCKEditorDocumentType, QMSCKEditorFullscreenComponent, QMSCKEditorGlobalService, QMSCKEditorInjector, QMSCKEditorLinkAnchorDocument, QMSCKEditorLinkComponent, QMSCKEditorLinkService, QMSCKEditorLoadTemplateComponent, QMSCKEditorModule, QMSCKEditorPlugin, QMSCKEditorRelatedComponent, QMSCKEditorRelation, QMSCKEditorTemplate, QMSCKEditorTemplateService, QMSCKEditorToastService, QMSCKEditorTreeComponent, QMSCKEdtiorInputData, QMSChipBodyDirective, QMSChipInputChipListDirective, QMSChipInputDirective, QMSChipInputSelectDropWDownDirective, QMSChipInputSelectFieldDirective, QMSChipInputSelectTriggerDirective, QMSComment, QMSConfirmDialog, QMSDialogConfig, QMSDrawerContentDirective, QMSDrawerDirective, QMSDrawerHeaderActionDirective, QMSDrawerHeaderDirective, QMSDropdownMenuItem, QMSEditFileNameDialog, QMSEditFileNameDialogModule, QMSFileAttachment, QMSFileUploadDirective, QMSFileUploadDisplayDirective, QMSFileUploadMultipleDirective, QMSFileUploadMultipleDisplayDirective, QMSFileUploadMultipleSelectorDirective, QMSFileUploadSelectorDirective, QMSFormDialog, QMSFormFieldDatePickerDirective, QMSFormFieldDirective, QMSFormFieldTextareaDirective, QMSGroupOptionDirective, QMSIconRegistryService, QMSInputChipDirective, QMSInputClearDirective, QMSList, QMSListExpansion, QMSListExpansionHeader, QMSListHeader, QMSListItem, QMSListLeadingIcon, QMSListLine, QMSListModule, QMSRangeSliderDirective, QMSRangeSliderLockUpDirective, QMSRelatedGlobalService, QMSRelatedModule, QMSRichText, QMSRichTextModule, QMSScrolableAttachmentListDirective, QMSScrollbarDirective, QMSSearchFieldDirective, QMSSelectGlobalService, QMSSelectIncludeChildrenModule, QMSSelectOneGlobalService, QMSSelectOneModule, QMSSnackbarConfig, QMSSuffixDirective, QMSSuffixFieldDirective, QMSTabGroupAdvancedDirective, QMSTabGroupDirective, QMSTabLabelDirective, QMSTableAction, QMSTableActionBlock, QMSTableModule, QMSTextBlockDirective, QMSTextBlockLine, QMSToolTipComponent, QMSToolTipRendererDirective, QMSTooltipImageDirective, QMSTooltipModule, QMSTreeModule, QMSUploadFileErrorDialog, QMSUploadFileErrorDialogModule, QMSUploadingFileGuard, QmsAngularComponent, QmsAngularModule, QmsAngularService, QmsAppBarComponent, QmsAppBarModule, QmsBadgesComponent, QmsBadgesModule, QmsBannerComponent, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerConfirmComponent, QmsBannerConfirmModule, QmsBannerContent, QmsBannerLoadingComponent, QmsBannerLoadingModule, QmsBannerModule, QmsReportContentPortraitComponent, QmsReportCoverPortraitComponent, QmsReportModule, QmsStepperComponent, QmsStepperModule, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON, RelatedContentComponent, RelatedItemType, RelatedListComponent, RelatedPopupComponent, Result, RiskAnalysis, RiskAnalysisComponent, RiskDanger, RiskListComponent, RiskResult, RiskResultComponent, SaveTemplateComponent, ScrollToSelectedDirective, SelectConst, SelectDialog, SelectIncludeChildrenPopUpComponent, SelectOneDialog, SelectOnePopupData, SelectOption, SelectOptionTypes, SelectPopupData, SelectedOption, SharedModule, ShowHideSearchResultConst, SideNav, SideNavItem, SidenavComponent, StepModel, TargetType, TargetTypeName, TestOnlyComponent, TranslateLibraryService, TreeComponent, TreeConfig, TreeFlatNode, TreeModel, TreeNode$1 as TreeNode, UploadErrorData, en, mixinColor, no, notExceedSize, requiredFileType, ɵ1, SharedMaterialModule as ɵa, QMSCKEditorTemplateComponent as ɵb, QMSCKEditorTreeService as ɵc, LinkAttachmentComponent as ɵd, QMSCKEditorTooltipComponent as ɵe, QMSCKEditorTooltip as ɵf, QMSCKEditorImageMapComponent as ɵg, QMSCKEditorImageMap as ɵh };
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 };
17331
19828
  //# sourceMappingURL=qms-angular.js.map