qms-angular 1.0.71 → 1.0.75

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 (206) hide show
  1. package/bundles/qms-angular.umd.js +960 -583
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/button/button.js +1 -1
  4. package/esm2015/lib/components/comment/comment.js +2 -2
  5. package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.js +7 -6
  6. package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.module.js +4 -4
  7. package/esm2015/lib/components/qms-paginator/qms-paginator.component.js +3 -3
  8. package/esm2015/lib/components/qms-stepper/qms-stepper.component.js +1 -1
  9. package/esm2015/lib/components/range-slider/directives/range-slider-lockup.directive.js +20 -0
  10. package/esm2015/lib/components/range-slider/directives/range-slider.directive.js +34 -0
  11. package/esm2015/lib/components/range-slider/index.js +2 -0
  12. package/esm2015/lib/components/range-slider/public-api.js +4 -0
  13. package/esm2015/lib/components/range-slider/range-slider.module.js +22 -0
  14. package/esm2015/lib/components/related/popup/related-popup.component.js +1 -1
  15. package/esm2015/lib/components/select-include-children/select-include-children.component.js +112 -45
  16. package/esm2015/lib/components/select-one/select-one.component.js +50 -3
  17. package/esm2015/lib/components/select-process-document/select-process-document.component.js +64 -143
  18. package/esm2015/lib/components/side-sheet/directives/drawer-content.directive.js +20 -0
  19. package/esm2015/lib/components/side-sheet/directives/drawer-header-action.directive.js +20 -0
  20. package/esm2015/lib/components/side-sheet/directives/drawer-header.directive.js +20 -0
  21. package/esm2015/lib/components/side-sheet/directives/drawer.directive.js +20 -0
  22. package/esm2015/lib/components/side-sheet/index.js +2 -0
  23. package/esm2015/lib/components/side-sheet/public-api.js +6 -0
  24. package/esm2015/lib/components/side-sheet/side-sheet.module.js +28 -0
  25. package/esm2015/lib/components/tree/tree.component.js +15 -19
  26. package/esm2015/lib/components/treeNew/tree.component.js +6 -3
  27. package/esm2015/lib/directives/table/table-row.directive.js +50 -0
  28. package/esm2015/lib/directives/table/table.directive.js +18 -61
  29. package/esm2015/lib/model/en.js +19 -2
  30. package/esm2015/lib/model/no.js +19 -2
  31. package/esm2015/lib/qms-angular.module.js +5 -24
  32. package/esm2015/lib/qms-ckeditor-components/common/classes/qmsUploadAdapter.js +89 -0
  33. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.js +3 -1
  34. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.js +1 -1
  35. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-video-tree.model.js +4 -0
  36. package/esm2015/lib/qms-ckeditor-components/common/models/wproofreader-config.model.js +6 -0
  37. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.js +38 -0
  38. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.js +22 -3
  39. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component.js +1 -46
  40. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +9 -8
  41. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +4 -1
  42. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.js +3 -4
  43. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +178 -28
  44. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +7 -3
  45. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.js +4 -1
  46. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-upload.service.js +20 -0
  47. package/esm2015/public-api.js +6 -7
  48. package/esm2015/qms-angular.js +6 -4
  49. package/fesm2015/qms-angular.js +862 -524
  50. package/fesm2015/qms-angular.js.map +1 -1
  51. package/lib/components/button/button.d.ts +1 -1
  52. package/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.d.ts +1 -1
  53. package/lib/{directives/range-slider → components/range-slider/directives}/range-slider-lockup.directive.d.ts +0 -0
  54. package/lib/{directives/range-slider → components/range-slider/directives}/range-slider.directive.d.ts +0 -0
  55. package/lib/components/range-slider/index.d.ts +1 -0
  56. package/lib/components/range-slider/public-api.d.ts +3 -0
  57. package/lib/components/range-slider/range-slider.module.d.ts +2 -0
  58. package/lib/components/select-include-children/select-include-children.component.d.ts +2 -1
  59. package/lib/components/select-one/select-one.component.d.ts +4 -0
  60. package/lib/components/select-process-document/select-process-document.component.d.ts +3 -0
  61. package/lib/{directives/side-sheet → components/side-sheet/directives}/drawer-content.directive.d.ts +0 -0
  62. package/lib/{directives/side-sheet → components/side-sheet/directives}/drawer-header-action.directive.d.ts +0 -0
  63. package/lib/{directives/side-sheet → components/side-sheet/directives}/drawer-header.directive.d.ts +0 -0
  64. package/lib/{directives/side-sheet → components/side-sheet/directives}/drawer.directive.d.ts +0 -0
  65. package/lib/components/side-sheet/index.d.ts +1 -0
  66. package/lib/components/side-sheet/public-api.d.ts +5 -0
  67. package/lib/components/side-sheet/side-sheet.module.d.ts +2 -0
  68. package/lib/directives/table/table-row.directive.d.ts +13 -0
  69. package/lib/directives/table/table.directive.d.ts +2 -11
  70. package/lib/model/en.d.ts +17 -0
  71. package/lib/model/no.d.ts +17 -0
  72. package/lib/qms-ckeditor-components/common/classes/qmsUploadAdapter.d.ts +18 -0
  73. package/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.d.ts +2 -0
  74. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.d.ts +5 -0
  75. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-video-tree.model.d.ts +5 -0
  76. package/lib/qms-ckeditor-components/common/models/wproofreader-config.model.d.ts +25 -0
  77. package/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.d.ts +15 -0
  78. package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.d.ts +4 -1
  79. package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.d.ts +2 -1
  80. package/lib/qms-ckeditor-components/qms-ckeditor.component.d.ts +17 -5
  81. package/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.d.ts +2 -0
  82. package/lib/qms-ckeditor-components/services/qms-ckeditor-upload.service.d.ts +5 -0
  83. package/lib.theme.scss +1 -0
  84. package/package.json +1 -1
  85. package/public-api.d.ts +3 -6
  86. package/qms-angular.d.ts +5 -3
  87. package/qms-angular.metadata.json +1 -1
  88. package/src/assets/images/ckeditor5.svg +1 -0
  89. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +1 -1
  90. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
  91. package/src/assets/qms-ckeditor-plugin/build/translations/az.js +1 -1
  92. package/src/assets/qms-ckeditor-plugin/build/translations/cs.js +1 -1
  93. package/src/assets/qms-ckeditor-plugin/build/translations/da.js +1 -1
  94. package/src/assets/qms-ckeditor-plugin/build/translations/de-ch.js +1 -1
  95. package/src/assets/qms-ckeditor-plugin/build/translations/de.js +1 -1
  96. package/src/assets/qms-ckeditor-plugin/build/translations/en-au.js +1 -1
  97. package/src/assets/qms-ckeditor-plugin/build/translations/es.js +1 -1
  98. package/src/assets/qms-ckeditor-plugin/build/translations/et.js +1 -1
  99. package/src/assets/qms-ckeditor-plugin/build/translations/fa.js +1 -1
  100. package/src/assets/qms-ckeditor-plugin/build/translations/fr.js +1 -1
  101. package/src/assets/qms-ckeditor-plugin/build/translations/gl.js +1 -1
  102. package/src/assets/qms-ckeditor-plugin/build/translations/he.js +1 -1
  103. package/src/assets/qms-ckeditor-plugin/build/translations/hi.js +1 -1
  104. package/src/assets/qms-ckeditor-plugin/build/translations/hr.js +1 -1
  105. package/src/assets/qms-ckeditor-plugin/build/translations/hu.js +1 -1
  106. package/src/assets/qms-ckeditor-plugin/build/translations/id.js +1 -1
  107. package/src/assets/qms-ckeditor-plugin/build/translations/it.js +1 -1
  108. package/src/assets/qms-ckeditor-plugin/build/translations/ja.js +1 -1
  109. package/src/assets/qms-ckeditor-plugin/build/translations/ko.js +1 -1
  110. package/src/assets/qms-ckeditor-plugin/build/translations/ku.js +1 -1
  111. package/src/assets/qms-ckeditor-plugin/build/translations/lv.js +1 -1
  112. package/src/assets/qms-ckeditor-plugin/build/translations/nl.js +1 -1
  113. package/src/assets/qms-ckeditor-plugin/build/translations/no.js +1 -1
  114. package/src/assets/qms-ckeditor-plugin/build/translations/pl.js +1 -1
  115. package/src/assets/qms-ckeditor-plugin/build/translations/pt-br.js +1 -1
  116. package/src/assets/qms-ckeditor-plugin/build/translations/ru.js +1 -1
  117. package/src/assets/qms-ckeditor-plugin/build/translations/sk.js +1 -1
  118. package/src/assets/qms-ckeditor-plugin/build/translations/sl.js +1 -1
  119. package/src/assets/qms-ckeditor-plugin/build/translations/sr-latn.js +1 -1
  120. package/src/assets/qms-ckeditor-plugin/build/translations/sr.js +1 -1
  121. package/src/assets/qms-ckeditor-plugin/build/translations/th.js +1 -1
  122. package/src/assets/qms-ckeditor-plugin/build/translations/tk.js +1 -1
  123. package/src/assets/qms-ckeditor-plugin/build/translations/tr.js +1 -1
  124. package/src/assets/qms-ckeditor-plugin/build/translations/uk.js +1 -1
  125. package/src/assets/qms-ckeditor-plugin/build/translations/vi.js +1 -1
  126. package/src/assets/qms-ckeditor-plugin/build/translations/zh-cn.js +1 -1
  127. package/src/assets/qms-ckeditor-plugin/build/translations/zh.js +1 -1
  128. package/src/assets/qms-ckeditor-plugin/package-lock.json +23 -0
  129. package/src/assets/qms-ckeditor-plugin/package.json +2 -0
  130. package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +18 -4
  131. package/src/assets/qms-ckeditor-plugin/src/plugins/aboutckeditor/aboutckeditor.js +28 -0
  132. package/src/assets/qms-ckeditor-plugin/src/plugins/bpmn/bpmndialogcommand.js +74 -0
  133. package/src/assets/qms-ckeditor-plugin/src/plugins/bpmn/qmsCKEditorBpmnPlugin.js +5 -68
  134. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/contexts.json +3 -0
  135. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/de.po +21 -0
  136. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/en.po +21 -0
  137. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/gl.po +21 -0
  138. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/hu.po +21 -0
  139. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/it.po +21 -0
  140. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/ru.po +21 -0
  141. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/zh.po +21 -0
  142. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/src/index.js +10 -0
  143. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/src/sourceediting.js +386 -0
  144. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/src/utils/formathtml.js +142 -0
  145. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/theme/icons/source-editing.svg +1 -0
  146. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/theme/sourceediting.css +48 -0
  147. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorConstant.js +4 -0
  148. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorService.js +21 -0
  149. package/src/assets/qms-ckeditor-plugin/src/plugins/fullscreen/qmsCKEditorFullscreenPlugin.js +22 -15
  150. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapcommand.js +1 -0
  151. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/utils.js +1 -1
  152. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkcommand.js +131 -176
  153. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkdialogcommand.js +88 -0
  154. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkediting.js +2 -0
  155. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkui.js +41 -32
  156. package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontents.js +14 -0
  157. package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontentscommand.js +87 -0
  158. package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontentsediting.js +59 -0
  159. package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontentsui.js +35 -0
  160. package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/utils.js +62 -0
  161. package/src/assets/qms-ckeditor-plugin/src/plugins/template/loadtemplatedialogcommand.js +14 -0
  162. package/src/assets/qms-ckeditor-plugin/src/plugins/template/qmsCKEditorLoadTemplatePlugin.js +10 -12
  163. package/src/assets/qms-ckeditor-plugin/src/plugins/template/qmsCKEdtiorTemplatePlugin.js +10 -7
  164. package/src/assets/qms-ckeditor-plugin/src/plugins/template/templatedialogcommand.js +9 -0
  165. package/src/assets/qms-ckeditor-plugin/src/plugins/timestamp/timestamp.js +15 -18
  166. package/src/assets/qms-ckeditor-plugin/src/plugins/timestamp/timestampcommand.js +17 -0
  167. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/removetooltipcommand.js +42 -26
  168. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltip.js +3 -3
  169. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipcommand.js +75 -0
  170. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipdialogcommand.js +68 -0
  171. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipediting.js +206 -131
  172. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipui.js +424 -136
  173. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/ui/actionsview.js +67 -12
  174. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/utils.js +17 -55
  175. package/src/assets/qms-ckeditor-plugin/src/plugins/video/autovideo.js +1 -5
  176. package/src/assets/qms-ckeditor-plugin/src/plugins/video/video/videoediting.js +5 -2
  177. package/src/assets/qms-ckeditor-plugin/src/plugins/video/videoupload/browsevideodialogcommand.js +25 -0
  178. package/src/assets/qms-ckeditor-plugin/src/plugins/video/videoupload/uploadvideocommand.js +3 -16
  179. package/src/assets/qms-ckeditor-plugin/src/plugins/video/videoupload/videouploadediting.js +4 -0
  180. package/src/assets/qms-ckeditor-plugin/src/plugins/video/videoupload/videouploadui.js +12 -23
  181. package/src/assets/qms-ckeditor-plugin/src/themes/icons/fullscreen_exit.svg +1 -0
  182. package/src/assets/qms-ckeditor-plugin/src/themes/icons/information.svg +1 -50
  183. package/src/assets/qms-ckeditor-plugin/src/themes/icons/table-excel.svg +44 -0
  184. package/src/assets/qms-ckeditor-plugin/src/themes/icons/timestamp.svg +1 -1
  185. package/src/assets/qms-ckeditor-plugin/src/themes/icons/tooltip.svg +1 -0
  186. package/src/assets/qms-ckeditor-plugin/src/themes/styles/heading.css +54 -0
  187. package/src/assets/qms-ckeditor-plugin/src/themes/styles/tooltip.css +11 -53
  188. package/src/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.scss +37 -20
  189. package/src/lib/components/qms-paginator/qms-paginator.component.scss +15 -0
  190. package/src/lib/components/qms-stepper/qms-stepper.component.scss +2 -1
  191. package/src/lib/components/select-process-document/select-process-document.component.scss +2 -2
  192. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.scss +16 -0
  193. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.scss +25 -23
  194. package/src/lib/qms-ckeditor-components/qms-ckeditor.component.scss +24 -0
  195. package/src/themes/core/_range-slider.scss +61 -42
  196. package/src/themes/core/_side-sheet.scss +2 -2
  197. package/src/themes/core/_table.scss +176 -37
  198. package/esm2015/lib/directives/range-slider/range-slider-lockup.directive.js +0 -20
  199. package/esm2015/lib/directives/range-slider/range-slider.directive.js +0 -36
  200. package/esm2015/lib/directives/side-sheet/drawer-content.directive.js +0 -20
  201. package/esm2015/lib/directives/side-sheet/drawer-header-action.directive.js +0 -20
  202. package/esm2015/lib/directives/side-sheet/drawer-header.directive.js +0 -20
  203. package/esm2015/lib/directives/side-sheet/drawer.directive.js +0 -20
  204. package/esm2015/lib/qms-ckeditor-components/common/classes/uploadAdapter.js +0 -26
  205. package/lib/qms-ckeditor-components/common/classes/uploadAdapter.d.ts +0 -5
  206. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/inserttooltipcommand.js +0 -88
@@ -40,8 +40,10 @@ import { CKEditorModule as CKEditorModule$1 } from '@ckeditor/ckeditor5-angular'
40
40
  import { __awaiter } from 'tslib';
41
41
  import * as $$1 from 'jquery';
42
42
  import * as _ from 'lodash';
43
+ import { Buffer } from 'buffer';
43
44
  import { MatTooltipModule } from '@angular/material/tooltip';
44
45
  import { MatTabsModule } from '@angular/material/tabs';
46
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
45
47
  import { MatBadgeModule } from '@angular/material/badge';
46
48
  import { MatToolbarModule } from '@angular/material/toolbar';
47
49
  import { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';
@@ -188,7 +190,24 @@ const en = {
188
190
  "INVALID_URL": "Invalid URL",
189
191
  "REQUIRED_URL": "URL is required",
190
192
  "CLOSE": "Close",
191
- "DOCUMENT_PROCESS": "Document / Process"
193
+ "DOCUMENT_PROCESS": "Document / Process",
194
+ "UPLOAD_FILE_NOT_VALID_FORMAT": "The file uploaded is invalid format. Supported file formats: {0}",
195
+ "UPLOAD_FILE_OVERSIZE": "The file uploaded is over the limit size. The limit size is {0}MB",
196
+ "UPLOAD_FILE_FAILED": "Failed to upload file.",
197
+ "ASSISTIVE_TEXT": "Assistive text",
198
+ "WORDS": "Words",
199
+ "CHARACTERS": "Characters",
200
+ "SELECT_VIDEO_FROM_ARCHIVE": "Select video from the archive"
201
+ },
202
+ "ABOUT": {
203
+ "ABOUT_CKEDITOR": "About CKEditor",
204
+ "CKEDITOR5_VERSION": "CKEditor 5 version",
205
+ "FOR_LICENSING_INFORMATION_PLEASE_VISIT_OUR_WEBSITE": "For licensing information please visit our website",
206
+ "ALL_RIGHTS_RESERVED": "All rights reserved",
207
+ "CHECK": "Check",
208
+ "FOR_HELP": "for help",
209
+ "CKEDITOR_USERS_GUIDE": "CKEditor User's Guide",
210
+ "COPYRIGHT": "Copyright ©"
192
211
  },
193
212
  "BPMN": {
194
213
  "DEFAULT": "Default",
@@ -468,7 +487,24 @@ const no = {
468
487
  "INVALID_URL": "Ugyldig URL",
469
488
  "REQUIRED_URL": "URL er påkrevd",
470
489
  "CLOSE": "Close",
471
- "DOCUMENT_PROCESS": "Dokument / Prosess"
490
+ "DOCUMENT_PROCESS": "Dokument / Prosess",
491
+ "UPLOAD_FILE_NOT_VALID_FORMAT": "Filen som er lastet opp er ugyldig format. Støttede filformater: {0}",
492
+ "UPLOAD_FILE_OVERSIZE": "Filen som er lastet opp er over grensestørrelsen. Grensestørrelsen er {0}MB",
493
+ "UPLOAD_FILE_FAILED": "Kunne ikke laste opp filen.",
494
+ "ASSISTIVE_TEXT": "Hjelpende tekst",
495
+ "WORDS": "Ord",
496
+ "CHARACTERS": "Tegn",
497
+ "SELECT_VIDEO_FROM_ARCHIVE": "Velg video fra arkivet"
498
+ },
499
+ "ABOUT": {
500
+ "ABOUT_CKEDITOR": "Om CKEditor",
501
+ "CKEDITOR5_VERSION": "CKEditor 5 versjon",
502
+ "FOR_LICENSING_INFORMATION_PLEASE_VISIT_OUR_WEBSITE": "For lisensieringsinformasjon, besøk vår nettside",
503
+ "ALL_RIGHTS_RESERVED": "Alle rettigheter er forbeholdt",
504
+ "CHECK": "Se",
505
+ "FOR_HELP": "for hjelp",
506
+ "CKEDITOR_USERS_GUIDE": "brukerhåndboken for CKEditor",
507
+ "COPYRIGHT": "Opphavsrett ©"
472
508
  },
473
509
  "BPMN": {
474
510
  "DEFAULT": "Standard",
@@ -715,7 +751,7 @@ class QMSComment {
715
751
  QMSComment.decorators = [
716
752
  { type: Component, args: [{
717
753
  selector: 'qms-comment',
718
- 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",
754
+ 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>{{ item.user }} {{ item.date }} </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",
719
755
  host: { 'class': 'qms-comment' },
720
756
  changeDetection: ChangeDetectionStrategy.OnPush,
721
757
  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}"]
@@ -1628,60 +1664,6 @@ MarginDirective.propDecorators = {
1628
1664
  value: [{ type: Input }]
1629
1665
  };
1630
1666
 
1631
- class QMSRangeSliderLockUpDirective {
1632
- constructor(ele) {
1633
- this.ele = ele;
1634
- }
1635
- ngOnInit() {
1636
- if (this.ele) {
1637
- this.ele.nativeElement.classList.add('qms-range-slider-lockup');
1638
- }
1639
- }
1640
- }
1641
- QMSRangeSliderLockUpDirective.decorators = [
1642
- { type: Directive, args: [{
1643
- selector: 'mat-slider[qms-range-slider-lockup]',
1644
- },] }
1645
- ];
1646
- QMSRangeSliderLockUpDirective.ctorParameters = () => [
1647
- { type: ElementRef }
1648
- ];
1649
-
1650
- class QMSRangeSliderDirective {
1651
- constructor(ele) {
1652
- this.ele = ele;
1653
- }
1654
- ngOnInit() {
1655
- if (this.ele) {
1656
- this.ele.nativeElement.classList.add('qms-range-slider');
1657
- }
1658
- }
1659
- onMouseUp() {
1660
- clearTimeout(this.timerId);
1661
- this.timerId = setTimeout(() => {
1662
- this.ele.nativeElement.classList.remove('qms-range-slider-active');
1663
- this.ele.nativeElement.classList.remove('mat-slider-thumb-start');
1664
- }, 500);
1665
- }
1666
- onMouseDown() {
1667
- clearTimeout(this.timerId);
1668
- this.ele.nativeElement.classList.add('qms-range-slider-active');
1669
- this.ele.nativeElement.classList.add('mat-slider-thumb-start');
1670
- }
1671
- }
1672
- QMSRangeSliderDirective.decorators = [
1673
- { type: Directive, args: [{
1674
- selector: 'mat-slider[qms-range-slider]',
1675
- },] }
1676
- ];
1677
- QMSRangeSliderDirective.ctorParameters = () => [
1678
- { type: ElementRef }
1679
- ];
1680
- QMSRangeSliderDirective.propDecorators = {
1681
- onMouseUp: [{ type: HostListener, args: ['mouseup', [],] }],
1682
- onMouseDown: [{ type: HostListener, args: ['mousedown', [],] }]
1683
- };
1684
-
1685
1667
  class ScrollToSelectedDirective {
1686
1668
  constructor(el, renderer) {
1687
1669
  this.el = el;
@@ -1795,82 +1777,6 @@ QMSSearchFieldDirective.propDecorators = {
1795
1777
  isLoading: [{ type: Input }]
1796
1778
  };
1797
1779
 
1798
- class QMSDrawerContentDirective {
1799
- constructor(ele) {
1800
- this.ele = ele;
1801
- }
1802
- ngOnInit() {
1803
- if (this.ele) {
1804
- this.ele.nativeElement.classList.add('qms-drawer-content');
1805
- }
1806
- }
1807
- }
1808
- QMSDrawerContentDirective.decorators = [
1809
- { type: Directive, args: [{
1810
- selector: '[qms-drawer-content]',
1811
- },] }
1812
- ];
1813
- QMSDrawerContentDirective.ctorParameters = () => [
1814
- { type: ElementRef }
1815
- ];
1816
-
1817
- class QMSDrawerHeaderActionDirective {
1818
- constructor(ele) {
1819
- this.ele = ele;
1820
- }
1821
- ngOnInit() {
1822
- if (this.ele) {
1823
- this.ele.nativeElement.classList.add('qms-drawer-header__action');
1824
- }
1825
- }
1826
- }
1827
- QMSDrawerHeaderActionDirective.decorators = [
1828
- { type: Directive, args: [{
1829
- selector: '[qms-drawer-header-action]',
1830
- },] }
1831
- ];
1832
- QMSDrawerHeaderActionDirective.ctorParameters = () => [
1833
- { type: ElementRef }
1834
- ];
1835
-
1836
- class QMSDrawerHeaderDirective {
1837
- constructor(ele) {
1838
- this.ele = ele;
1839
- }
1840
- ngOnInit() {
1841
- if (this.ele) {
1842
- this.ele.nativeElement.classList.add('qms-drawer-header');
1843
- }
1844
- }
1845
- }
1846
- QMSDrawerHeaderDirective.decorators = [
1847
- { type: Directive, args: [{
1848
- selector: '[qms-drawer-header]',
1849
- },] }
1850
- ];
1851
- QMSDrawerHeaderDirective.ctorParameters = () => [
1852
- { type: ElementRef }
1853
- ];
1854
-
1855
- class QMSDrawerDirective {
1856
- constructor(ele) {
1857
- this.ele = ele;
1858
- }
1859
- ngOnInit() {
1860
- if (this.ele) {
1861
- this.ele.nativeElement.classList.add('qms-drawer');
1862
- }
1863
- }
1864
- }
1865
- QMSDrawerDirective.decorators = [
1866
- { type: Directive, args: [{
1867
- selector: '[qms-drawer]',
1868
- },] }
1869
- ];
1870
- QMSDrawerDirective.ctorParameters = () => [
1871
- { type: ElementRef }
1872
- ];
1873
-
1874
1780
  class QMSTextBlockLine {
1875
1781
  constructor(elRef, renderer) {
1876
1782
  this.elRef = elRef;
@@ -2783,39 +2689,12 @@ QMSAppBar.propDecorators = {
2783
2689
  mode: [{ type: Input, args: ['mode',] }]
2784
2690
  };
2785
2691
 
2786
- class QMSTableExpandDirective {
2787
- constructor(_el, renderer) {
2788
- this._el = _el;
2789
- this.renderer = renderer;
2790
- this._el.nativeElement.classList.add('qms-table');
2791
- }
2792
- ngAfterViewChecked() {
2793
- let matRows = this._el.nativeElement.querySelectorAll('mat-row');
2794
- for (const [key, value] of Object.entries(matRows)) {
2795
- this.renderer.addClass(value, 'qms-row');
2796
- }
2797
- }
2798
- }
2799
- QMSTableExpandDirective.decorators = [
2800
- { type: Directive, args: [{
2801
- selector: '[qms-table-expand]',
2802
- host: { 'class': 'qms-table-expand' }
2803
- },] }
2804
- ];
2805
- QMSTableExpandDirective.ctorParameters = () => [
2806
- { type: ElementRef },
2807
- { type: Renderer2 }
2808
- ];
2809
2692
  class QMSTableDirective {
2810
2693
  constructor(_el, renderer) {
2811
2694
  this._el = _el;
2812
2695
  this.renderer = renderer;
2813
2696
  }
2814
2697
  ngAfterViewChecked() {
2815
- let matRows = this._el.nativeElement.querySelectorAll('mat-row');
2816
- for (const [key, value] of Object.entries(matRows)) {
2817
- this.renderer.addClass(value, 'qms-row');
2818
- }
2819
2698
  }
2820
2699
  }
2821
2700
  QMSTableDirective.decorators = [
@@ -2837,7 +2716,6 @@ class QMSTableChildrenDirective {
2837
2716
  let matRows = this._el.nativeElement.querySelectorAll('mat-row');
2838
2717
  for (const [key, value] of Object.entries(matRows)) {
2839
2718
  this.renderer.addClass(value, 'qms-row-children');
2840
- this.renderer.addClass(value, 'qms-row-group');
2841
2719
  }
2842
2720
  }
2843
2721
  }
@@ -2851,16 +2729,6 @@ QMSTableChildrenDirective.ctorParameters = () => [
2851
2729
  { type: ElementRef },
2852
2730
  { type: Renderer2 }
2853
2731
  ];
2854
- class QMSRowExpandDirective {
2855
- constructor() { }
2856
- }
2857
- QMSRowExpandDirective.decorators = [
2858
- { type: Directive, args: [{
2859
- selector: '[qms-row-expand]',
2860
- host: { 'class': 'qms-row-expand' }
2861
- },] }
2862
- ];
2863
- QMSRowExpandDirective.ctorParameters = () => [];
2864
2732
  class QMSRowDetailDirective {
2865
2733
  constructor() { }
2866
2734
  }
@@ -2889,7 +2757,7 @@ class CdkDetailRowDirective {
2889
2757
  this.focusClass = 'focus-grid-style';
2890
2758
  this.onRowExpandEvent = new EventEmitter();
2891
2759
  }
2892
- get expended() {
2760
+ get expanded() {
2893
2761
  return this.opened;
2894
2762
  }
2895
2763
  set cdkDetailRow(value) {
@@ -2910,6 +2778,8 @@ class CdkDetailRowDirective {
2910
2778
  ngOnChanges(changes) {
2911
2779
  this.vcRef.clear();
2912
2780
  if (this.othertRef && this.row) {
2781
+ if (this.opened)
2782
+ this.vcRef.createEmbeddedView(this.tRef, { $implicit: this.row });
2913
2783
  this.vcRef.createEmbeddedView(this.othertRef, { $implicit: this.row });
2914
2784
  }
2915
2785
  }
@@ -2919,13 +2789,17 @@ class CdkDetailRowDirective {
2919
2789
  if (this.othertRef && this.row) {
2920
2790
  this.vcRef.createEmbeddedView(this.othertRef, { $implicit: this.row });
2921
2791
  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) {
2922
- this._el.nativeElement.classList.add('qms-row-group');
2792
+ this._el.nativeElement.classList.add('expandable-group');
2923
2793
  }
2924
2794
  }
2925
2795
  }
2926
2796
  onClick() {
2927
2797
  this.toggle();
2928
2798
  }
2799
+ onKeydownHandler(event) {
2800
+ if (event.target == event.currentTarget)
2801
+ this.toggle();
2802
+ }
2929
2803
  onClickItem(event) {
2930
2804
  if (event && event.parentNode && event.parentNode.classList && !event.parentNode.classList.contains(this.focusClass)) {
2931
2805
  const elements = document.getElementsByClassName(this.focusClass);
@@ -2941,25 +2815,13 @@ class CdkDetailRowDirective {
2941
2815
  }
2942
2816
  }
2943
2817
  toggle() {
2944
- if (this.opened) {
2945
- this.vcRef.clear();
2946
- if (this.othertRef) {
2947
- this.vcRef.createEmbeddedView(this.othertRef, { $implicit: this.row });
2948
- }
2949
- }
2950
- else {
2951
- this.render();
2952
- }
2953
- this.opened = !this.opened;
2954
- this.onRowExpandEvent.emit(this.opened);
2955
- }
2956
- render() {
2957
- this.vcRef.clear();
2958
- if (this.tRef && this.row) {
2959
- this.vcRef.createEmbeddedView(this.tRef, { $implicit: this.row });
2960
- if (this.othertRef) {
2961
- this.vcRef.createEmbeddedView(this.othertRef, { $implicit: this.row });
2962
- }
2818
+ if (this.tRef) {
2819
+ if (this.opened)
2820
+ this.vcRef.detach(0);
2821
+ else
2822
+ this.vcRef.createEmbeddedView(this.tRef, { $implicit: this.row }, 0);
2823
+ this.opened = !this.opened;
2824
+ this.onRowExpandEvent.emit(this.opened);
2963
2825
  }
2964
2826
  }
2965
2827
  }
@@ -2974,15 +2836,65 @@ CdkDetailRowDirective.ctorParameters = () => [
2974
2836
  ];
2975
2837
  CdkDetailRowDirective.propDecorators = {
2976
2838
  onRowExpandEvent: [{ type: Output }],
2977
- expended: [{ type: HostBinding, args: ['class.expanded',] }],
2839
+ expanded: [{ type: HostBinding, args: ['class.qms-row-expanded',] }],
2978
2840
  cdkDetailRow: [{ type: Input }],
2979
2841
  template: [{ type: Input, args: ['cdkDetailRowTpl',] }],
2980
2842
  otherTemplate: [{ type: Input, args: ['cdkotherTemplate',] }],
2981
2843
  onClick: [{ type: HostListener, args: ['click',] }],
2844
+ onKeydownHandler: [{ type: HostListener, args: ['keydown.enter', ['$event'],] }],
2982
2845
  onClickItem: [{ type: HostListener, args: ['document:click', ['$event.target'],] }],
2983
2846
  onKeydown: [{ type: HostListener, args: ['document:keydown', ['$event.target'],] }]
2984
2847
  };
2985
2848
 
2849
+ class QMSTableRowDirective {
2850
+ constructor(_el, renderer) {
2851
+ this._el = _el;
2852
+ this.renderer = renderer;
2853
+ }
2854
+ ngAfterViewChecked() {
2855
+ if (!this._rowData.disabled)
2856
+ this.renderer.setAttribute(this._el.nativeElement, 'tabindex', "0");
2857
+ else {
2858
+ let matButtons = this._el.nativeElement.querySelectorAll('button, [tabindex]');
2859
+ for (const [key, value] of Object.entries(matButtons)) {
2860
+ this.renderer.setAttribute(value, "tabindex", "-1");
2861
+ }
2862
+ }
2863
+ }
2864
+ set cdkDetailRow(value) {
2865
+ this._rowData = value;
2866
+ }
2867
+ get disable() {
2868
+ return this._rowData.disabled;
2869
+ }
2870
+ get select() {
2871
+ return this._rowData.selected;
2872
+ }
2873
+ get group() {
2874
+ return this._rowData.childen;
2875
+ }
2876
+ get isDraft() {
2877
+ return this._rowData.isDraft;
2878
+ }
2879
+ }
2880
+ QMSTableRowDirective.decorators = [
2881
+ { type: Directive, args: [{
2882
+ selector: '[qms-table-row]',
2883
+ host: { 'class': 'qms-table-row' }
2884
+ },] }
2885
+ ];
2886
+ QMSTableRowDirective.ctorParameters = () => [
2887
+ { type: ElementRef },
2888
+ { type: Renderer2 }
2889
+ ];
2890
+ QMSTableRowDirective.propDecorators = {
2891
+ cdkDetailRow: [{ type: Input }],
2892
+ disable: [{ type: HostBinding, args: ['class.qms-table-row-disabled',] }],
2893
+ select: [{ type: HostBinding, args: ['class.qms-table-row-selected',] }],
2894
+ group: [{ type: HostBinding, args: ['class.qms-table-row-group',] }],
2895
+ isDraft: [{ type: HostBinding, args: ['class.qms-table-row-draft',] }]
2896
+ };
2897
+
2986
2898
  const ɵ0$2 = { appearance: 'fill' }, ɵ1 = { color: 'none' };
2987
2899
  class QmsAngularModule {
2988
2900
  }
@@ -3014,22 +2926,15 @@ QmsAngularModule.decorators = [
3014
2926
  QMSFileUploadMultipleDirective,
3015
2927
  QMSFileUploadMultipleDisplayDirective,
3016
2928
  QMSFileUploadMultipleSelectorDirective,
3017
- QMSRangeSliderDirective,
3018
- QMSRangeSliderLockUpDirective,
3019
2929
  QMSDropdownMenuItem,
3020
2930
  QMSScrollbarDirective,
3021
2931
  QMSTextBlockDirective,
3022
2932
  QMSTextBlockLine,
3023
- QMSDrawerDirective,
3024
- QMSDrawerHeaderDirective,
3025
- QMSDrawerContentDirective,
3026
- QMSDrawerHeaderActionDirective,
3027
2933
  QMSToolTipRendererDirective,
3028
- QMSTableExpandDirective,
3029
2934
  QMSTableDirective,
2935
+ QMSTableRowDirective,
3030
2936
  QMSRowDetailDirective,
3031
2937
  QMSTableChildrenDirective,
3032
- QMSRowExpandDirective,
3033
2938
  CdkDetailRowDirective,
3034
2939
  QMSCollapseGroupDirective,
3035
2940
  DateFormatPipe,
@@ -3075,16 +2980,10 @@ QmsAngularModule.decorators = [
3075
2980
  QMSFileUploadMultipleDirective,
3076
2981
  QMSFileUploadMultipleDisplayDirective,
3077
2982
  QMSFileUploadMultipleSelectorDirective,
3078
- QMSRangeSliderDirective,
3079
- QMSRangeSliderLockUpDirective,
3080
2983
  QMSDropdownMenuItem,
3081
2984
  QMSScrollbarDirective,
3082
2985
  QMSTextBlockDirective,
3083
2986
  QMSTextBlockLine,
3084
- QMSDrawerDirective,
3085
- QMSDrawerHeaderDirective,
3086
- QMSDrawerContentDirective,
3087
- QMSDrawerHeaderActionDirective,
3088
2987
  QMSToolTipRendererDirective,
3089
2988
  DateFormatPipe,
3090
2989
  QMSChipInputDirective,
@@ -3096,11 +2995,10 @@ QmsAngularModule.decorators = [
3096
2995
  QMSTooltipImageDirective,
3097
2996
  SelectDialog,
3098
2997
  QMSAppBar,
3099
- QMSTableExpandDirective,
3100
2998
  QMSTableDirective,
2999
+ QMSTableRowDirective,
3101
3000
  QMSTableChildrenDirective,
3102
3001
  QMSRowDetailDirective,
3103
- QMSRowExpandDirective,
3104
3002
  CdkDetailRowDirective,
3105
3003
  QMSCollapseGroupDirective
3106
3004
  ],
@@ -3113,6 +3011,76 @@ QmsAngularModule.decorators = [
3113
3011
  },] }
3114
3012
  ];
3115
3013
 
3014
+ class QMSRangeSliderLockUpDirective {
3015
+ constructor(ele) {
3016
+ this.ele = ele;
3017
+ }
3018
+ ngOnInit() {
3019
+ if (this.ele) {
3020
+ this.ele.nativeElement.classList.add('qms-range-slider-lockup');
3021
+ }
3022
+ }
3023
+ }
3024
+ QMSRangeSliderLockUpDirective.decorators = [
3025
+ { type: Directive, args: [{
3026
+ selector: 'mat-slider[qms-range-slider-lockup]',
3027
+ },] }
3028
+ ];
3029
+ QMSRangeSliderLockUpDirective.ctorParameters = () => [
3030
+ { type: ElementRef }
3031
+ ];
3032
+
3033
+ class QMSRangeSliderDirective {
3034
+ constructor(ele) {
3035
+ this.ele = ele;
3036
+ }
3037
+ ngOnInit() {
3038
+ if (this.ele) {
3039
+ this.ele.nativeElement.classList.add('qms-range-slider');
3040
+ }
3041
+ }
3042
+ onMouseUp() {
3043
+ clearTimeout(this.timerId);
3044
+ this.timerId = setTimeout(() => {
3045
+ this.ele.nativeElement.classList.remove('qms-range-slider-active');
3046
+ }, 500);
3047
+ }
3048
+ onMouseDown() {
3049
+ clearTimeout(this.timerId);
3050
+ this.ele.nativeElement.classList.add('qms-range-slider-active');
3051
+ }
3052
+ }
3053
+ QMSRangeSliderDirective.decorators = [
3054
+ { type: Directive, args: [{
3055
+ selector: 'mat-slider[qms-range-slider]',
3056
+ },] }
3057
+ ];
3058
+ QMSRangeSliderDirective.ctorParameters = () => [
3059
+ { type: ElementRef }
3060
+ ];
3061
+ QMSRangeSliderDirective.propDecorators = {
3062
+ onMouseUp: [{ type: HostListener, args: ['mouseup', [],] }],
3063
+ onMouseDown: [{ type: HostListener, args: ['mousedown', [],] }]
3064
+ };
3065
+
3066
+ class QMSRangeSliderModule {
3067
+ }
3068
+ QMSRangeSliderModule.decorators = [
3069
+ { type: NgModule, args: [{
3070
+ declarations: [
3071
+ QMSRangeSliderDirective,
3072
+ QMSRangeSliderLockUpDirective
3073
+ ],
3074
+ imports: [
3075
+ CommonModule
3076
+ ],
3077
+ exports: [
3078
+ QMSRangeSliderDirective,
3079
+ QMSRangeSliderLockUpDirective
3080
+ ]
3081
+ },] }
3082
+ ];
3083
+
3116
3084
  class QMSListLeadingIcon {
3117
3085
  }
3118
3086
  QMSListLeadingIcon.decorators = [
@@ -4382,6 +4350,9 @@ class TreeComponent {
4382
4350
  this.treeControl.expand(x);
4383
4351
  });
4384
4352
  }
4353
+ setTimeout(() => {
4354
+ this.treeControlNodes.emit(this.treeControl);
4355
+ }, 500);
4385
4356
  }
4386
4357
  getParent(node) {
4387
4358
  const { treeControl } = this;
@@ -4433,15 +4404,12 @@ class TreeComponent {
4433
4404
  this.treeControl.dataNodes[i].disabled = false;
4434
4405
  }
4435
4406
  if (this.disabledList.length) {
4436
- for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4437
- this.disabledList.forEach(x => {
4438
- var _a;
4439
- if (x.id === this.treeControl.dataNodes[i].id
4440
- && (!x.parentId || x.parentId === ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.parentId))) {
4441
- this.treeControl.dataNodes[i].disabled = true;
4442
- }
4443
- });
4444
- }
4407
+ this.disabledList.forEach(x => {
4408
+ const index = this.treeControl.dataNodes.findIndex(node => node.id === x.id && (!x.parentId || x.parentId === node.parentId));
4409
+ if (index >= 0) {
4410
+ this.treeControl.dataNodes[index].disabled = true;
4411
+ }
4412
+ });
4445
4413
  }
4446
4414
  //Selected node with select one
4447
4415
  if (this.disabledList.length && this.treeConfig.selectOne) {
@@ -4475,7 +4443,6 @@ class TreeComponent {
4475
4443
  }
4476
4444
  else {
4477
4445
  this.idCheckIcon = '';
4478
- this.treeControl.collapseAll();
4479
4446
  this.cdRef.detectChanges();
4480
4447
  }
4481
4448
  }
@@ -4593,10 +4560,7 @@ class TreeComponent {
4593
4560
  this.checklistSelection.toggle(node);
4594
4561
  }
4595
4562
  // process/ document single selected
4596
- if (this.singleSelectedNode) {
4597
- this.checkBoxEvent.emit(this.checklistSelection.selected);
4598
- }
4599
- else {
4563
+ if (!this.singleSelectedNode) {
4600
4564
  const descendants = this.treeControl.getDescendants(node).filter(item => !item.disabled);
4601
4565
  this.checkSelectedSameNode(descendants, this.descendantsAllSelected(node));
4602
4566
  !this.descendantsAllSelected(node)
@@ -4609,8 +4573,8 @@ class TreeComponent {
4609
4573
  this.checklistSelection.deselect(element);
4610
4574
  });
4611
4575
  }
4612
- this.checkBoxEvent.emit(this.checklistSelection.selected);
4613
4576
  }
4577
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
4614
4578
  }
4615
4579
  todoChildSelectionToggle(node) {
4616
4580
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
@@ -4662,7 +4626,6 @@ class TreeComponent {
4662
4626
  });
4663
4627
  setTimeout(() => {
4664
4628
  this.checkBoxEvent.emit(this.checklistSelection.selected);
4665
- this.treeControlNodes.emit(this.treeControl);
4666
4629
  }, 500);
4667
4630
  }
4668
4631
  todoFolderSelection(nodes) {
@@ -4677,6 +4640,7 @@ class TreeComponent {
4677
4640
  }
4678
4641
  });
4679
4642
  this.checkBoxEvent.emit(this.checklistSelection.selected);
4643
+ this.idCheckIcon = this.idToCheckSelectOne(nodes[0].id, nodes[0].parentId);
4680
4644
  }
4681
4645
  selectNode(node) {
4682
4646
  if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
@@ -4911,7 +4875,7 @@ class TreeComponent {
4911
4875
  }
4912
4876
  }
4913
4877
  getNodeId(node) {
4914
- return `_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`;
4878
+ return `_${node.parentId ? node.parentId.toLowerCase() : ''}_${node.id.toLowerCase()}_${node.level}`;
4915
4879
  }
4916
4880
  getNodeByIdAndParentId(nodeId, parentId) {
4917
4881
  return this.treeControl.dataNodes.find(x => {
@@ -4928,7 +4892,7 @@ class TreeComponent {
4928
4892
  TreeComponent.decorators = [
4929
4893
  { type: Component, args: [{
4930
4894
  selector: 'qms-tree',
4931
- 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",
4895
+ 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 [id]=\"getNodeId(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",
4932
4896
  encapsulation: ViewEncapsulation.None,
4933
4897
  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}"]
4934
4898
  },] }
@@ -7074,51 +7038,6 @@ class QMSCKEditorFullscreenComponent {
7074
7038
  this.showHideFullScreen('block', 'show-content-wrapper', '0px', '0px', '2px', '93vh');
7075
7039
  }
7076
7040
  showHideFullScreen(display, className, paddingTop, paddingBottom, marginTopMain, heightIframe) {
7077
- const sidebar = window.parent.document.getElementById('sidebar_left');
7078
- if (sidebar) {
7079
- if (display === 'block') {
7080
- if (!sidebar.classList.contains('show-sidebar_left')) {
7081
- sidebar.classList.add('show-sidebar_left');
7082
- }
7083
- }
7084
- else if (display === 'none') {
7085
- if (sidebar.classList.contains('show-sidebar_left')) {
7086
- sidebar.classList.remove('show-sidebar_left');
7087
- }
7088
- }
7089
- }
7090
- const topbars = window.parent.document.getElementsByClassName('navbar-fixed-top');
7091
- if (topbars && topbars.length > 0) {
7092
- const topbar = topbars[0];
7093
- topbar.style.display = display;
7094
- }
7095
- const contentWrapper = window.parent.document.getElementById('content_wrapper');
7096
- if (contentWrapper) {
7097
- contentWrapper.className = className;
7098
- }
7099
- const bodies = window.parent.document.getElementsByTagName('body');
7100
- if (bodies && bodies.length > 0) {
7101
- const body = bodies[0];
7102
- body.style.paddingTop = paddingTop;
7103
- body.style.paddingBottom = paddingBottom;
7104
- if (display === 'block') {
7105
- body.classList.remove('sidebar-hidden');
7106
- body.classList.add('sidebar-ltr');
7107
- }
7108
- else if (display === 'none') {
7109
- body.classList.remove('sidebar-ltr');
7110
- body.classList.add('sidebar-hidden');
7111
- }
7112
- }
7113
- const main = window.parent.document.getElementById('main');
7114
- if (main) {
7115
- main.style.marginTop = marginTopMain;
7116
- }
7117
- const iframes = window.parent.document.getElementsByClassName('processIFrameModule');
7118
- if (iframes && iframes.length > 0) {
7119
- const iframe = iframes[0];
7120
- iframe.style.height = heightIframe;
7121
- }
7122
7041
  const ck = window.document.getElementById('qmsckeditor');
7123
7042
  if (ck) {
7124
7043
  if (display === 'none') {
@@ -7435,6 +7354,9 @@ class QMSCKEditorTreeService extends QMSCKEditorBaseService {
7435
7354
  getProcessList() {
7436
7355
  return this.get('ckeditorTree/GetProcessList');
7437
7356
  }
7357
+ getUploadVideoList(folderId = null) {
7358
+ return this.get('ckeditorTree/GetUploadVideoList', { folderId });
7359
+ }
7438
7360
  }
7439
7361
  QMSCKEditorTreeService.ɵprov = i0.ɵɵdefineInjectable({ factory: function QMSCKEditorTreeService_Factory() { return new QMSCKEditorTreeService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(QMSCKEditorGlobalService)); }, token: QMSCKEditorTreeService, providedIn: "root" });
7440
7362
  QMSCKEditorTreeService.decorators = [
@@ -7867,6 +7789,9 @@ class QMSCKEditorLinkComponent extends QMSCKEditorBaseComponent {
7867
7789
  this.anchorByName = url.substr(hashIndex + 1, url.length - hashIndex);
7868
7790
  this.anchorTitle = this.data.title;
7869
7791
  }
7792
+ else if (typeId === LinkType.url) {
7793
+ //selectedProtocol
7794
+ }
7870
7795
  }
7871
7796
  onSelectedLinkType() {
7872
7797
  if (this.selectedLink === LinkType.anchorText) {
@@ -8492,24 +8417,87 @@ QMSCKEditorLoadTemplateComponent.ctorParameters = () => [
8492
8417
  { type: String, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
8493
8418
  ];
8494
8419
 
8495
- class UploadAdapter {
8496
- constructor(loader) {
8420
+ class QmsUploadAdapter {
8421
+ constructor(loader, config) {
8497
8422
  this.loader = loader;
8423
+ this.config = config;
8424
+ this.config.imageUploadTypes = this.config.imageUploadTypes || 'png,jpeg,jpg';
8425
+ this.config.maxFileSizeMB = this.config.maxFileSizeMB || 2;
8426
+ if (this.config.imageUploadTypes.indexOf('jpeg') > -1) {
8427
+ this.config.imageUploadTypes += ',jpg';
8428
+ }
8429
+ else if (this.config.imageUploadTypes.indexOf('jpg') > -1) {
8430
+ this.config.imageUploadTypes += ',jpeg';
8431
+ }
8432
+ }
8433
+ abort() {
8434
+ if (this.xhr) {
8435
+ this.xhr.abort();
8436
+ }
8437
+ }
8438
+ _initRequest() {
8439
+ const xhr = this.xhr = new XMLHttpRequest();
8440
+ xhr.open('POST', `${this.config.apiUrl}ckeditorUpload/UploadImage`, true);
8441
+ xhr.responseType = 'json';
8442
+ }
8443
+ _initListeners(resolve, reject, filename) {
8444
+ const xhr = this.xhr;
8445
+ const loader = this.loader;
8446
+ const genericErrorText = `${this.config.LANG.QMSCKEDITOR.FAILED_TO_UPLOAD_FILE}: ${filename}.`;
8447
+ xhr.addEventListener('error', () => reject(genericErrorText));
8448
+ xhr.addEventListener('abort', () => reject());
8449
+ xhr.addEventListener('load', () => {
8450
+ const response = xhr.response;
8451
+ if (!response || response.error) {
8452
+ return reject(response && response.error ? response.error.message : genericErrorText);
8453
+ }
8454
+ resolve({ default: response });
8455
+ });
8456
+ if (xhr.upload) {
8457
+ xhr.upload.addEventListener('progress', evt => {
8458
+ if (evt.lengthComputable) {
8459
+ loader.uploadTotal = evt.total;
8460
+ loader.uploaded = evt.loaded;
8461
+ }
8462
+ });
8463
+ }
8464
+ }
8465
+ _sendRequest(file) {
8466
+ const data = new FormData();
8467
+ data.append('file', file, file.name);
8468
+ data.append('name', file.name);
8469
+ this.xhr.send(data);
8470
+ }
8471
+ _getExtension(file) {
8472
+ if (!file.name) {
8473
+ return '';
8474
+ }
8475
+ const filenames = file.name.toLowerCase().split('.');
8476
+ if (filenames.length < 1) {
8477
+ return '';
8478
+ }
8479
+ return filenames[1];
8498
8480
  }
8499
8481
  upload() {
8500
8482
  return this.loader.file
8501
8483
  .then((file) => {
8502
8484
  return new Promise((resolve, reject) => {
8503
- const myReader = new FileReader();
8504
- myReader.onloadend = () => {
8505
- resolve({ default: myReader.result });
8485
+ const reader = new FileReader();
8486
+ reader.readAsArrayBuffer(file);
8487
+ reader.onload = () => {
8488
+ const fileExtension = this._getExtension(file);
8489
+ if (this.config.imageUploadTypes.indexOf(fileExtension) > -1) {
8490
+ if (file.size > (this.config.maxFileSizeMB * 1024 * 1024)) {
8491
+ reject(`${this.config.LANG.QMSCKEDITOR.UPLOAD_FILE_OVERSIZE}`.replace('{0}', this.config.maxFileSizeMB.toString()));
8492
+ }
8493
+ this._initRequest();
8494
+ this._initListeners(resolve, reject, file.name);
8495
+ this._sendRequest(file);
8496
+ }
8497
+ else {
8498
+ reject(`${this.config.LANG.QMSCKEDITOR.UPLOAD_FILE_NOT_VALID_FORMAT}`.replace('{0}', this.config.imageUploadTypes));
8499
+ }
8506
8500
  };
8507
- // if (file.size > 512000) {
8508
- // const msg = `${file.name} is more than 500kb. Sorry, it has to be less than or equal to 500kb`;
8509
- // QMSCKEditorToastService.error(msg);
8510
- // reject();
8511
- // }
8512
- myReader.readAsDataURL(file);
8513
8501
  });
8514
8502
  })
8515
8503
  .catch((error) => {
@@ -8537,7 +8525,9 @@ CKEditorEventConst.QMSCK_ABOUT_CKEDITOR_PLUGIN_MSG = "QMSCK_ABOUT_CKEDITOR_PLUGI
8537
8525
  CKEditorEventConst.QMSCK_FLOWCHART_PLUGIN_MSG = 'QMSCK_FLOWCHART_PLUGIN_MSG';
8538
8526
  CKEditorEventConst.QMSCK_FLOWCHART_PLUGIN_RESP = 'QMSCK_FLOWCHART_PLUGIN_RESP';
8539
8527
  CKEditorEventConst.QMSCK_FLOWCHART = 'flowchart';
8540
- CKEditorEventConst.QMSCK_TOGGLE_TOOLBAR_MSG = 'QMSCK_TOGGLE_TOOLBAR_MSG';
8528
+ CKEditorEventConst.QMSCK_TOGGLE_TOOLBAR_MSG = 'QMSCK_TOGGLE_TOOLBAR_MSG';
8529
+ CKEditorEventConst.QMSCK_BROWSE_VIDEO_MSG = 'QMSCK_BROWSE_VIDEO_MSG';
8530
+ CKEditorEventConst.QMSCK_BROWSE_VIDEO_RESP = 'QMSCK_BROWSE_VIDEO_RESP';
8541
8531
 
8542
8532
  var IFRAME_SRC = '//cdn.iframe.ly/api/iframe';
8543
8533
  var API_KEY = 'b499e92e857f435c39c14d';
@@ -12620,6 +12610,21 @@ CKEditorLinkConst.DOCUMENT_PARTIAL_URL = '/document/';
12620
12610
  CKEditorLinkConst.AREA_PARTIAL_URL = '/area/detail/';
12621
12611
  CKEditorLinkConst.PROCESS_PARTIAL_URL = '/process-detail/';
12622
12612
 
12613
+ class QMSCKEditorUploadService extends QMSCKEditorBaseService {
12614
+ uploadImage(file) {
12615
+ const formData = new FormData();
12616
+ formData.append('name', file.name);
12617
+ formData.append('file', file);
12618
+ return this.post('ckeditorUpload/UploadImage', formData);
12619
+ }
12620
+ }
12621
+ QMSCKEditorUploadService.ɵprov = i0.ɵɵdefineInjectable({ factory: function QMSCKEditorUploadService_Factory() { return new QMSCKEditorUploadService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(QMSCKEditorGlobalService)); }, token: QMSCKEditorUploadService, providedIn: "root" });
12622
+ QMSCKEditorUploadService.decorators = [
12623
+ { type: Injectable, args: [{
12624
+ providedIn: 'root'
12625
+ },] }
12626
+ ];
12627
+
12623
12628
  class ILink {
12624
12629
  constructor() {
12625
12630
  this.target = TargetTypeName.new;
@@ -12631,13 +12636,14 @@ class ILink {
12631
12636
  }
12632
12637
  }
12633
12638
  class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12634
- constructor(dialog, translate, bmpnService, bpmnApiService, linkService, dialogRef, data) {
12639
+ constructor(dialog, translate, bmpnService, bpmnApiService, linkService, uploadService, dialogRef, data) {
12635
12640
  super();
12636
12641
  this.dialog = dialog;
12637
12642
  this.translate = translate;
12638
12643
  this.bmpnService = bmpnService;
12639
12644
  this.bpmnApiService = bpmnApiService;
12640
12645
  this.linkService = linkService;
12646
+ this.uploadService = uploadService;
12641
12647
  this.dialogRef = dialogRef;
12642
12648
  this.data = data;
12643
12649
  this.expandedPanel = true;
@@ -12793,6 +12799,19 @@ class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12793
12799
  });
12794
12800
  });
12795
12801
  }
12802
+ dataUrlToFile(dataUrl, filename) {
12803
+ const arr = dataUrl.split(',');
12804
+ if (arr.length < 2) {
12805
+ return undefined;
12806
+ }
12807
+ const mimeArr = arr[0].match(/:(.*?);/);
12808
+ if (!mimeArr || mimeArr.length < 2) {
12809
+ return undefined;
12810
+ }
12811
+ const mime = mimeArr[1];
12812
+ const buff = Buffer.from(arr[1], 'base64');
12813
+ return new File([buff], filename, { type: mime });
12814
+ }
12796
12815
  getImageContent(paper) {
12797
12816
  return __awaiter(this, void 0, void 0, function* () {
12798
12817
  return new Promise((resolve) => {
@@ -12811,8 +12830,10 @@ class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12811
12830
  const graphObject = graph.toJSON();
12812
12831
  const id = yield this.saveImageContent(graphObject);
12813
12832
  const imageContent = 'data:image/png;base64,' + (yield this.getImageContent(paper));
12833
+ const file = this.dataUrlToFile(imageContent, `${CKEditorEventConst.QMSCK_BPMN}#${id}`);
12834
+ const imageUrl = yield this.uploadService.uploadImage(file).toPromise();
12814
12835
  const imagemap = this.toImageMap(id, graphObject.cells, clientRect);
12815
- const result = { key: `${CKEditorEventConst.QMSCK_BPMN}#${id}`, values: imageContent, imagemap: imagemap };
12836
+ const result = { key: `${CKEditorEventConst.QMSCK_BPMN}#${id}`, values: imageUrl, imagemap: imagemap };
12816
12837
  this.dialogRef.close(result);
12817
12838
  });
12818
12839
  }
@@ -13363,6 +13384,7 @@ QMSCKEditorBpmnComponent.ctorParameters = () => [
13363
13384
  { type: BpmnService },
13364
13385
  { type: QMSCKEditorBpmnApiService },
13365
13386
  { type: QMSCKEditorLinkService },
13387
+ { type: QMSCKEditorUploadService },
13366
13388
  { type: MatDialogRef },
13367
13389
  { type: QMSCKEditorBpmnData, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
13368
13390
  ];
@@ -15393,6 +15415,7 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
15393
15415
  this.anchorText = '';
15394
15416
  //anchorByName = '';
15395
15417
  this.advisoryTitle = '';
15418
+ this.isImageLoading = false;
15396
15419
  this.isUrlProcessing = false;
15397
15420
  this.naturalImageWidth = 0;
15398
15421
  this.naturalImageHeight = 0;
@@ -15524,8 +15547,10 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
15524
15547
  }
15525
15548
  ngAfterViewInit() {
15526
15549
  if (this.myImageRef) {
15550
+ this.isImageLoading = true;
15527
15551
  this.imageListeners.push(this.renderer.listen(this.myImageRef.nativeElement, 'load', () => {
15528
15552
  this.onImageLoad();
15553
+ this.isImageLoading = false;
15529
15554
  }));
15530
15555
  }
15531
15556
  // Avoid drag&drop of the image
@@ -15560,9 +15585,9 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
15560
15585
  }
15561
15586
  });
15562
15587
  }
15563
- parseLinkUrl(url, defaultProtocolName) {
15588
+ parseLinkUrl(url) {
15564
15589
  const protocol = this.protocolRegex.exec(url);
15565
- if (protocol) {
15590
+ if (!!protocol) {
15566
15591
  this.processedUrl = url.substr(protocol[0].length);
15567
15592
  this.url = this.processedUrl;
15568
15593
  this.selectedProtocol = protocol[0].toLowerCase();
@@ -15575,9 +15600,7 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
15575
15600
  else {
15576
15601
  this.processedUrl = url;
15577
15602
  this.url = this.processedUrl;
15578
- if (!!this.selectedProtocol) {
15579
- this.selectedProtocol = defaultProtocolName || ProtocolTypeName.http;
15580
- }
15603
+ this.selectedProtocol = ProtocolTypeName.other;
15581
15604
  }
15582
15605
  }
15583
15606
  onSelectArea(area) {
@@ -15846,8 +15869,8 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
15846
15869
  QMSCKEditorImageMapComponent.decorators = [
15847
15870
  { type: Component, args: [{
15848
15871
  selector: 'app-qmsck-imagemap',
15849
- template: "<div id=\"qmsckeditor-imagemap\" class=\"qmsckeditor qmsckeditor__imagemap__container\">\r\n <div id=\"qmsckeditor-imagemap-header\">\r\n <span id=\"qmsckeditor-imagemap-header_001\" mat-icon-button class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseDialog()\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor-imagemap-header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor-imagemap_002_001\">\r\n {{ LANG.QMSCKEDITOR.IMAGE_MAP_PROPERTIES }}\r\n </h2>\r\n </div>\r\n </div>\r\n <div id=\"qmsckeditor-imagemap-content\">\r\n <div id=\"qmsckeditor-imagemap-content_001\" class=\"col-12 mt-1 pl-2 pr-2\">\r\n <mat-expansion-panel id=\"qmsckeditor-imagemap-panel\" [expanded]=\"true\" (opened)=\"(true)\" (closed)=\"(false)\">\r\n <div id=\"qmsckeditor-imagemap-panel_001\">\r\n <div id=\"qmsckeditor-imagemap-panel_001_001\" class=\"qmsckeditor__imagemap__information\">\r\n <form [formGroup]=\"imageMapFormGroup\">\r\n <div class=\"row\">\r\n <div class=\"col-9\">\r\n <mat-button-toggle-group [(ngModel)]=\"selectedMode\" formControlName=\"modeList\"\r\n (change)=\"onModeChange($event)\">\r\n <mat-button-toggle *ngFor=\"let mode of modes\" [value]=\"mode.id\"\r\n [matTooltip]=\"mode.name\">\r\n <mat-icon color=\"red\" [svgIcon]=\"mode.icon\" aria-hidden=\"true\">\r\n </mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n <span style=\"margin-left: 15px;\" #myStatus></span>\r\n </div>\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ZOOM }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedZoom\" formControlName=\"zoomList\"\r\n (ngModelChange)=\"onZoomChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let zoomType of zoomTypes\" [value]=\"zoomType.id\">\r\n {{ zoomType.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{'hidden': !showImageMapInformation}\">\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_TYPE }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedLinkType\" formControlName=\"linkTypeList\"\r\n (ngModelChange)=\"onLinkTypeChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let link of linkTypes\" [value]=\"link.id\">\r\n {{ link.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-3\" *ngIf=\"selectedLinkType === 0\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TARGET }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedTarget\" formControlName=\"targetList\"\r\n (ngModelChange)=\"onTargetChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let target of targets\" [value]=\"target.id\">\r\n {{ target.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{'hidden': !showImageMapInformation}\"\r\n *ngIf=\"selectedLinkType === 1\">\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ANCHOR_BY_NAME }}</mat-label>\r\n <mat-select [(ngModel)]=\"anchorText\" formControlName=\"anchorTextList\"\r\n (ngModelChange)=\"onAnchorTextChange()\">\r\n <mat-option *ngFor=\"let editorAnchor of editorAnchors\"\r\n [value]=\"editorAnchor.anchorValue\" disableOptionCentering>\r\n {{ editorAnchor.viewValue }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{'hidden': !showImageMapInformation}\"\r\n *ngIf=\"selectedLinkType === 0\">\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.PROTOCOL }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedProtocol\" formControlName=\"protocolList\"\r\n (ngModelChange)=\"onProtocolChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let protocol of protocols\" [value]=\"protocol.id\">\r\n {{ protocol.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-5\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_URL }}</mat-label>\r\n <input matInput [(ngModel)]=\"url\" name=\"url\" formControlName=\"url\"\r\n (ngModelChange)=\"onUrlChange()\" (keyup)=\"onUrlKeyup()\" />\r\n <mat-error *ngIf=\"imageMapFormGroup.get('url').hasError('required')\">{{\r\n LANG.QMSCKEDITOR.REQUIRED_URL }}\r\n </mat-error>\r\n <mat-error *ngIf=\"imageMapFormGroup.get('url').hasError('invalidURL')\">{{\r\n LANG.QMSCKEDITOR.INVALID_URL }}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-4\">\r\n <div class=\"row button__groups\">\r\n <div class=\"col-6\">\r\n <button class=\"save\" mat-stroked-button (click)=\"attachment()\">\r\n {{ LANG.QMSCKEDITOR.ATTACHMENT }}\r\n </button>\r\n </div>\r\n <div class=\"col-6\">\r\n <button class=\"save\" mat-stroked-button (click)=\"eHandbook(false, false)\">\r\n {{ LANG.QMSCKEDITOR.HANDBOOK }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n <div id=\"qmsckeditor-imagemap-panel_001_002\" class=\"qmsckeditor__imagemap__map\">\r\n <img #myImage [src]=\"imageMapData.imageUrl\">\r\n </div>\r\n <div id=\"qmsckeditor-imagemap-panel_001_003\" class=\"qmsckeditor button__groups row mr-0 ml-0 mt-4\">\r\n <div class=\"col-4 pr-0\">\r\n <button class=\"save\" mat-flat-button (click)=\"removeMap()\">\r\n {{ LANG.QMSCKEDITOR.REMOVE_MAP }}\r\n </button>\r\n </div>\r\n <div class=\"col-4 pr-0\">\r\n <button class=\"save\" mat-flat-button (click)=\"save()\">\r\n {{ LANG.QMSCKEDITOR.SAVE }}\r\n </button>\r\n </div>\r\n <div class=\"col-4 pl-0\">\r\n <button class=\"cancel\" mat-flat-button (click)=\"cancel()\">\r\n {{ LANG.QMSCKEDITOR.CANCEL }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n</div>",
15850
- styles: [".mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt7{margin-top:7px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt30{margin-top:30px!important}.mt40{margin-top:40px!important}.ml2{margin-left:2px!important}.ml3{margin-left:3px!important}.ml5{margin-left:5px!important}.ml15{margin-left:15px!important}.ml10{margin-left:10px!important}.ml12{margin-left:12px!important}.ml16{margin-left:16px!important}.ml-auto{margin-left:auto!important}.ml-25{margin-left:-25px!important}.mr5{margin-right:5px!important}.mr12{margin-right:12px!important}.mr15{margin-right:15px!important}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.pt8{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt16{padding-top:16px!important}.pl15{padding-left:15px!important}.pl0{padding-left:0!important}.pr0{padding-right:0!important}.pr15{padding-right:15px!important}.fs12{font-size:12px}.fs14{font-size:14px!important}.fs16{font-size:16px!important}.fs22{font-size:22px!important}.fw500{font-weight:500!important}.italic-text{font-style:italic}.display-flex{display:flex}.qmsckeditor{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.qmsckeditor h2{font-size:20px;font-weight:400}.qmsckeditor .mat-dialog-content{padding:0}.qmsckeditor .mat-icon{color:#909497}.qmsckeditor__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;max-height:100vh;overflow-x:hidden}.qmsckeditor__cursor{cursor:pointer}.qmsckeditor__notallowed{cursor:not-allowed}.qmsckeditor.button__close,.qmsckeditor.button__done{float:right;top:-24px;right:-24px;cursor:pointer}.qmsckeditor.button__done{margin-right:20px}.qmsckeditor.button__done .mat-icon{color:#28a745;font-weight:700}.qmsckeditor.button__groups button{min-height:40px;width:100%;border-radius:4px;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px}.qmsckeditor.button__groups .save{background:#f8f9f9}.qmsckeditor.button__groups .save:hover{background:#e5e7e9}.qmsckeditor.button__groups .save:disabled{cursor:not-allowed}.qmsckeditor.button__groups .cancel{background:#f8f9f9}.qmsckeditor.button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.button__groups .cancel:disabled{cursor:not-allowed}.qmsckeditor.button__groups .delete{background:#f8f9f9}.qmsckeditor.button__groups .delete:hover{background:#e5e7e9}.qmsckeditor.button__groups .delete:disabled{cursor:not-allowed}.qmsckeditor.confirm__button__groups button{min-height:36px;border-radius:4px;width:auto;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px}.qmsckeditor.confirm__button__groups .confirm{background:#f8f9f9}.qmsckeditor.confirm__button__groups .confirm:hover{background:#e5e7e9}.qmsckeditor.confirm__button__groups .cancel{background:#f8f9f9}.qmsckeditor.confirm__button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.template-content.height{min-height:420px;max-height:520px;overflow:auto}.qmsckeditor.template-content.title{margin-left:-9px}.qmsckeditor.link__content.height{min-height:400px;max-height:520px}.qmsckeditor.card{margin-bottom:10px;min-height:60px;box-shadow:none;border:1px solid #e5e5e5}.qmsckeditor.card .title{font-weight:700}.qmsckeditor.card .content{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qmsckeditor.card .material-icons{font-size:20px}.qmsckeditor.tooltip-content.height{min-height:400px;max-height:472px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .ck-horizontal-line,.ck-content .page-break{width:100%}.ck-content hr{background:#ccc}.qmsckeditor__imagemap__container .mat-form-field{width:100%}.qmsckeditor__imagemap__container .qmsckeditor__imagemap__information{position:relative}.qmsckeditor__imagemap__container .qmsckeditor__imagemap__map{overflow:auto;width:800px;min-height:371px;position:relative;max-height:460px}.qmsckeditor__imagemap__container .mat-button-toggle-checked{border:1px solid #000!important}.qmsckeditor__imagemap__container .hidden{visibility:hidden}"]
15872
+ template: "<div id=\"qmsckeditor-imagemap\" class=\"qmsckeditor qmsckeditor__imagemap__container\">\r\n <div id=\"qmsckeditor-imagemap-header\">\r\n <span id=\"qmsckeditor-imagemap-header_001\" mat-icon-button class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseDialog()\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor-imagemap-header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor-imagemap_002_001\">\r\n {{ LANG.QMSCKEDITOR.IMAGE_MAP_PROPERTIES }}\r\n </h2>\r\n </div>\r\n </div>\r\n <div id=\"qmsckeditor-imagemap-content\">\r\n <div id=\"qmsckeditor-imagemap-content_001\" class=\"col-12 mt-1 pl-2 pr-2\">\r\n <mat-expansion-panel id=\"qmsckeditor-imagemap-panel\" [expanded]=\"true\" (opened)=\"(true)\" (closed)=\"(false)\">\r\n <div id=\"qmsckeditor-imagemap-panel_001\">\r\n <div id=\"qmsckeditor-imagemap-panel_001_001\" class=\"qmsckeditor__imagemap__information\">\r\n <form [formGroup]=\"imageMapFormGroup\">\r\n <div class=\"row\">\r\n <div class=\"col-9\">\r\n <mat-button-toggle-group [(ngModel)]=\"selectedMode\" formControlName=\"modeList\"\r\n (change)=\"onModeChange($event)\">\r\n <mat-button-toggle *ngFor=\"let mode of modes\" [value]=\"mode.id\"\r\n [matTooltip]=\"mode.name\">\r\n <mat-icon color=\"red\" [svgIcon]=\"mode.icon\" aria-hidden=\"true\">\r\n </mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n <span style=\"margin-left: 15px;\" #myStatus></span>\r\n </div>\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ZOOM }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedZoom\" formControlName=\"zoomList\"\r\n (ngModelChange)=\"onZoomChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let zoomType of zoomTypes\" [value]=\"zoomType.id\">\r\n {{ zoomType.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{'hidden': !showImageMapInformation}\">\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_TYPE }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedLinkType\" formControlName=\"linkTypeList\"\r\n (ngModelChange)=\"onLinkTypeChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let link of linkTypes\" [value]=\"link.id\">\r\n {{ link.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-3\" *ngIf=\"selectedLinkType === 0\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TARGET }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedTarget\" formControlName=\"targetList\"\r\n (ngModelChange)=\"onTargetChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let target of targets\" [value]=\"target.id\">\r\n {{ target.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{'hidden': !showImageMapInformation}\"\r\n *ngIf=\"selectedLinkType === 1\">\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ANCHOR_BY_NAME }}</mat-label>\r\n <mat-select [(ngModel)]=\"anchorText\" formControlName=\"anchorTextList\"\r\n (ngModelChange)=\"onAnchorTextChange()\">\r\n <mat-option *ngFor=\"let editorAnchor of editorAnchors\"\r\n [value]=\"editorAnchor.anchorValue\" disableOptionCentering>\r\n {{ editorAnchor.viewValue }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{'hidden': !showImageMapInformation}\"\r\n *ngIf=\"selectedLinkType === 0\">\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.PROTOCOL }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedProtocol\" formControlName=\"protocolList\"\r\n (ngModelChange)=\"onProtocolChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let protocol of protocols\" [value]=\"protocol.id\">\r\n {{ protocol.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-5\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_URL }}</mat-label>\r\n <input matInput [(ngModel)]=\"url\" name=\"url\" formControlName=\"url\"\r\n (ngModelChange)=\"onUrlChange()\" (keyup)=\"onUrlKeyup()\" />\r\n <mat-error *ngIf=\"imageMapFormGroup.get('url').hasError('required')\">{{\r\n LANG.QMSCKEDITOR.REQUIRED_URL }}\r\n </mat-error>\r\n <mat-error *ngIf=\"imageMapFormGroup.get('url').hasError('invalidURL')\">{{\r\n LANG.QMSCKEDITOR.INVALID_URL }}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-4\">\r\n <div class=\"row button__groups\">\r\n <div class=\"col-6\">\r\n <button class=\"save\" mat-stroked-button (click)=\"attachment()\">\r\n {{ LANG.QMSCKEDITOR.ATTACHMENT }}\r\n </button>\r\n </div>\r\n <div class=\"col-6\">\r\n <button class=\"save\" mat-stroked-button (click)=\"eHandbook(false, false)\">\r\n {{ LANG.QMSCKEDITOR.HANDBOOK }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n <div id=\"qmsckeditor-imagemap-panel_001_002\" class=\"qmsckeditor__imagemap__map\">\r\n <img #myImage [src]=\"imageMapData.imageUrl\">\r\n <mat-spinner diameter=\"40\" mode=\"indeterminate\" *ngIf=\"isImageLoading\"></mat-spinner>\r\n </div>\r\n <div id=\"qmsckeditor-imagemap-panel_001_003\" class=\"qmsckeditor button__groups row mr-0 ml-0 mt-4\">\r\n <div class=\"col-4 pr-0\">\r\n <button class=\"save\" mat-flat-button (click)=\"removeMap()\">\r\n {{ LANG.QMSCKEDITOR.REMOVE_MAP }}\r\n </button>\r\n </div>\r\n <div class=\"col-4 pr-0\">\r\n <button class=\"save\" mat-flat-button (click)=\"save()\">\r\n {{ LANG.QMSCKEDITOR.SAVE }}\r\n </button>\r\n </div>\r\n <div class=\"col-4 pl-0\">\r\n <button class=\"cancel\" mat-flat-button (click)=\"cancel()\">\r\n {{ LANG.QMSCKEDITOR.CANCEL }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n</div>\r\n",
15873
+ styles: [".mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt7{margin-top:7px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt30{margin-top:30px!important}.mt40{margin-top:40px!important}.ml2{margin-left:2px!important}.ml3{margin-left:3px!important}.ml5{margin-left:5px!important}.ml15{margin-left:15px!important}.ml10{margin-left:10px!important}.ml12{margin-left:12px!important}.ml16{margin-left:16px!important}.ml-auto{margin-left:auto!important}.ml-25{margin-left:-25px!important}.mr5{margin-right:5px!important}.mr12{margin-right:12px!important}.mr15{margin-right:15px!important}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.pt8{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt16{padding-top:16px!important}.pl15{padding-left:15px!important}.pl0{padding-left:0!important}.pr0{padding-right:0!important}.pr15{padding-right:15px!important}.fs12{font-size:12px}.fs14{font-size:14px!important}.fs16{font-size:16px!important}.fs22{font-size:22px!important}.fw500{font-weight:500!important}.italic-text{font-style:italic}.display-flex{display:flex}.qmsckeditor{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.qmsckeditor h2{font-size:20px;font-weight:400}.qmsckeditor .mat-dialog-content{padding:0}.qmsckeditor .mat-icon{color:#909497}.qmsckeditor__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;max-height:100vh;overflow-x:hidden}.qmsckeditor__cursor{cursor:pointer}.qmsckeditor__notallowed{cursor:not-allowed}.qmsckeditor.button__close,.qmsckeditor.button__done{float:right;top:-24px;right:-24px;cursor:pointer}.qmsckeditor.button__done{margin-right:20px}.qmsckeditor.button__done .mat-icon{color:#28a745;font-weight:700}.qmsckeditor.button__groups button{min-height:40px;width:100%;border-radius:4px;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px}.qmsckeditor.button__groups .save{background:#f8f9f9}.qmsckeditor.button__groups .save:hover{background:#e5e7e9}.qmsckeditor.button__groups .save:disabled{cursor:not-allowed}.qmsckeditor.button__groups .cancel{background:#f8f9f9}.qmsckeditor.button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.button__groups .cancel:disabled{cursor:not-allowed}.qmsckeditor.button__groups .delete{background:#f8f9f9}.qmsckeditor.button__groups .delete:hover{background:#e5e7e9}.qmsckeditor.button__groups .delete:disabled{cursor:not-allowed}.qmsckeditor.confirm__button__groups button{min-height:36px;border-radius:4px;width:auto;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px}.qmsckeditor.confirm__button__groups .confirm{background:#f8f9f9}.qmsckeditor.confirm__button__groups .confirm:hover{background:#e5e7e9}.qmsckeditor.confirm__button__groups .cancel{background:#f8f9f9}.qmsckeditor.confirm__button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.template-content.height{min-height:420px;max-height:520px;overflow:auto}.qmsckeditor.template-content.title{margin-left:-9px}.qmsckeditor.link__content.height{min-height:400px;max-height:520px}.qmsckeditor.card{margin-bottom:10px;min-height:60px;box-shadow:none;border:1px solid #e5e5e5}.qmsckeditor.card .title{font-weight:700}.qmsckeditor.card .content{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qmsckeditor.card .material-icons{font-size:20px}.qmsckeditor.tooltip-content.height{min-height:400px;max-height:472px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .ck-horizontal-line,.ck-content .page-break{width:100%}.ck-content hr{background:#ccc}::ng-deep .qmsckeditor__imagemap__container .mat-form-field{width:100%}::ng-deep .qmsckeditor__imagemap__container .qmsckeditor__imagemap__information{position:relative}::ng-deep .qmsckeditor__imagemap__container .qmsckeditor__imagemap__map{overflow:auto;width:800px;min-height:371px;position:relative;max-height:460px;display:flex;align-items:flex-start}::ng-deep .qmsckeditor__imagemap__container .mat-button-toggle-checked{border:1px solid #000!important}::ng-deep .qmsckeditor__imagemap__container .hidden{visibility:hidden}"]
15851
15874
  },] }
15852
15875
  ];
15853
15876
  QMSCKEditorImageMapComponent.ctorParameters = () => [
@@ -15893,7 +15916,7 @@ class QMSCKEditorTooltipComponent extends QMSCKEditorBaseComponent {
15893
15916
  this.LANG = this.translate.getObjectLang(res);
15894
15917
  }
15895
15918
  });
15896
- this.editorConfig = CKEditorCommonFunctions.getCKEditorConfiguration(',heading,|,fontsize,fontfamily,fontColor,fontBackgroundColor,|,bold,italic,underline,strikethrough,|,alignment,|,bulletedList,numberedList,|,outdent,indent,|,subscript,superscript,|,undo,redo,|,specialCharacters,blockQuote,insertTable,|,link,anchor,|,timestamp,|,removeformat');
15919
+ this.editorConfig = CKEditorCommonFunctions.getCKEditorConfiguration('heading,|,fontsize,fontfamily,fontColor,fontBackgroundColor,|,bold,italic,underline,strikethrough,|,alignment,|,bulletedList,numberedList,|,outdent,indent,|,subscript,superscript,|,undo,redo,|,specialCharacters,blockQuote,insertTable,|,link,anchor,|,timestamp,|,removeformat');
15897
15920
  }
15898
15921
  ngAfterViewChecked() {
15899
15922
  this.cdr.detectChanges();
@@ -15929,7 +15952,7 @@ class QMSCKEditorTooltipComponent extends QMSCKEditorBaseComponent {
15929
15952
  QMSCKEditorTooltipComponent.decorators = [
15930
15953
  { type: Component, args: [{
15931
15954
  selector: 'app-qmsck-tooltip',
15932
- template: "<div\r\n id=\"qmsckeditor-tooltip\"\r\n class=\"qmsckeditor qmsckeditor__tooltip__container\"\r\n>\r\n <div id=\"qmsckeditor-tooltip-header\">\r\n <span\r\n id=\"qmsckeditor-tooltip-header_001\"\r\n mat-icon-button\r\n class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseDialog()\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor-tooltip-header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor-tooltip_002_001\">\r\n {{ LANG.QMSCKEDITOR.INSERT_TOOLTIP }}\r\n </h2>\r\n </div>\r\n </div>\r\n <form [formGroup]=\"tooltipFormGroup\">\r\n <div\r\n id=\"qmsckeditor-tooltip-content\"\r\n class=\"qmsckeditor tooltip-content height\"\r\n >\r\n <div id=\"qmsckeditor-tooltip-content_001\" class=\"col-12 mt-1 pl-2 pr-2\">\r\n <mat-expansion-panel\r\n id=\"qmsckeditor-tooltip-panel\"\r\n [expanded]=\"true\"\r\n (opened)=\"(true)\"\r\n (closed)=\"(false)\"\r\n >\r\n <div id=\"qmsckeditor-tooltip-panel_001\">\r\n <div id=\"qmsckeditor-tooltip-panel_001_001\">\r\n <mat-form-field class=\"col-12 pl-0 pr-0\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TITLE }}</mat-label>\r\n <input\r\n matInput\r\n [(ngModel)]=\"tooltip.text\"\r\n formControlName=\"title\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor-tooltip-panel_001_002\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.CONTENT }}</mat-label>\r\n <div class=\"qmsckeditor_container col-12 pl-0 pr-0\">\r\n <ckeditor\r\n class=\"qms-ckeditor\"\r\n [(editor)]=\"editor\"\r\n [config]=\"editorConfig\"\r\n (ready)=\"onReady($event)\"\r\n [(ngModel)]=\"tooltip.content\"\r\n (change)=\"onChanged($event)\"\r\n (blur)=\"onBlur($event)\"\r\n formControlName=\"content\"\r\n >\r\n </ckeditor>\r\n </div>\r\n </div>\r\n <div\r\n id=\"qmsckeditor-tooltip-panel_001_003\"\r\n class=\"qmsckeditor button__groups row mr-0 ml-0 mt-4\"\r\n >\r\n <div class=\"col-6 pr-0\">\r\n <button\r\n class=\"save\"\r\n mat-flat-button\r\n (click)=\"saveTooltip()\"\r\n [disabled]=\"tooltipFormGroup.invalid\"\r\n >\r\n {{ LANG.QMSCKEDITOR.SAVE }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pl-0\">\r\n <button\r\n class=\"cancel\"\r\n mat-flat-button\r\n (click)=\"cancelTooltip()\"\r\n >\r\n {{ LANG.QMSCKEDITOR.CANCEL }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n </form>\r\n</div>\r\n",
15955
+ template: "<div id=\"qmsckeditor-tooltip\" class=\"qmsckeditor qmsckeditor__tooltip__container\">\r\n <div id=\"qmsckeditor-tooltip-header\">\r\n <span id=\"qmsckeditor-tooltip-header_001\" mat-icon-button class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseDialog()\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor-tooltip-header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor-tooltip_002_001\">\r\n {{ LANG.QMSCKEDITOR.INSERT_TOOLTIP }}\r\n </h2>\r\n </div>\r\n </div>\r\n <form [formGroup]=\"tooltipFormGroup\">\r\n <div id=\"qmsckeditor-tooltip-content\" class=\"qmsckeditor tooltip-content height\">\r\n <div id=\"qmsckeditor-tooltip-content_001\" class=\"col-12 mt-1 pl-2 pr-2\">\r\n <mat-expansion-panel id=\"qmsckeditor-tooltip-panel\" [expanded]=\"true\" (opened)=\"(true)\" (closed)=\"(false)\">\r\n <div id=\"qmsckeditor-tooltip-panel_001\">\r\n <div id=\"qmsckeditor-tooltip-panel_001_001\">\r\n <mat-form-field class=\"col-12 pl-0 pr-0\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TITLE }}</mat-label>\r\n <input matInput [(ngModel)]=\"tooltip.text\" formControlName=\"title\" />\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor-tooltip-panel_001_002\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.CONTENT }}</mat-label>\r\n <div class=\"qmsckeditor_container col-12 pl-0 pr-0\">\r\n <ckeditor class=\"qms-ckeditor\" [(editor)]=\"editor\" [config]=\"editorConfig\" (ready)=\"onReady($event)\"\r\n [(ngModel)]=\"tooltip.content\" (change)=\"onChanged($event)\" (blur)=\"onBlur($event)\"\r\n formControlName=\"content\">\r\n </ckeditor>\r\n </div>\r\n </div>\r\n <div id=\"qmsckeditor-tooltip-panel_001_003\" class=\"qmsckeditor button__groups row mr-0 ml-0 mt-4\">\r\n <div class=\"col-6 pr-0\">\r\n <button class=\"save\" mat-flat-button (click)=\"saveTooltip()\" [disabled]=\"tooltipFormGroup.invalid\">\r\n {{ LANG.QMSCKEDITOR.SAVE }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pl-0\">\r\n <button class=\"cancel\" mat-flat-button (click)=\"cancelTooltip()\">\r\n {{ LANG.QMSCKEDITOR.CANCEL }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n </form>\r\n</div>",
15933
15956
  styles: [".mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt7{margin-top:7px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt30{margin-top:30px!important}.mt40{margin-top:40px!important}.ml2{margin-left:2px!important}.ml3{margin-left:3px!important}.ml5{margin-left:5px!important}.ml15{margin-left:15px!important}.ml10{margin-left:10px!important}.ml12{margin-left:12px!important}.ml16{margin-left:16px!important}.ml-auto{margin-left:auto!important}.ml-25{margin-left:-25px!important}.mr5{margin-right:5px!important}.mr12{margin-right:12px!important}.mr15{margin-right:15px!important}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.pt8{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt16{padding-top:16px!important}.pl15{padding-left:15px!important}.pl0{padding-left:0!important}.pr0{padding-right:0!important}.pr15{padding-right:15px!important}.fs12{font-size:12px}.fs14{font-size:14px!important}.fs16{font-size:16px!important}.fs22{font-size:22px!important}.fw500{font-weight:500!important}.italic-text{font-style:italic}.display-flex{display:flex}.qmsckeditor{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.qmsckeditor h2{font-size:20px;font-weight:400}.qmsckeditor .mat-dialog-content{padding:0}.qmsckeditor .mat-icon{color:#909497}.qmsckeditor__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;max-height:100vh;overflow-x:hidden}.qmsckeditor__cursor{cursor:pointer}.qmsckeditor__notallowed{cursor:not-allowed}.qmsckeditor.button__close,.qmsckeditor.button__done{float:right;top:-24px;right:-24px;cursor:pointer}.qmsckeditor.button__done{margin-right:20px}.qmsckeditor.button__done .mat-icon{color:#28a745;font-weight:700}.qmsckeditor.button__groups button{min-height:40px;width:100%;border-radius:4px;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px}.qmsckeditor.button__groups .save{background:#f8f9f9}.qmsckeditor.button__groups .save:hover{background:#e5e7e9}.qmsckeditor.button__groups .save:disabled{cursor:not-allowed}.qmsckeditor.button__groups .cancel{background:#f8f9f9}.qmsckeditor.button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.button__groups .cancel:disabled{cursor:not-allowed}.qmsckeditor.button__groups .delete{background:#f8f9f9}.qmsckeditor.button__groups .delete:hover{background:#e5e7e9}.qmsckeditor.button__groups .delete:disabled{cursor:not-allowed}.qmsckeditor.confirm__button__groups button{min-height:36px;border-radius:4px;width:auto;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px}.qmsckeditor.confirm__button__groups .confirm{background:#f8f9f9}.qmsckeditor.confirm__button__groups .confirm:hover{background:#e5e7e9}.qmsckeditor.confirm__button__groups .cancel{background:#f8f9f9}.qmsckeditor.confirm__button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.template-content.height{min-height:420px;max-height:520px;overflow:auto}.qmsckeditor.template-content.title{margin-left:-9px}.qmsckeditor.link__content.height{min-height:400px;max-height:520px}.qmsckeditor.card{margin-bottom:10px;min-height:60px;box-shadow:none;border:1px solid #e5e5e5}.qmsckeditor.card .title{font-weight:700}.qmsckeditor.card .content{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qmsckeditor.card .material-icons{font-size:20px}.qmsckeditor.tooltip-content.height{min-height:400px;max-height:472px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .ck-horizontal-line,.ck-content .page-break{width:100%}.ck-content hr{background:#ccc}.qmsckeditor__tooltip__container .mat-form-field{width:100%}.qmsckeditor__tooltip__container textarea.mat-input-element{min-height:150px}"]
15934
15957
  },] }
15935
15958
  ];
@@ -15940,15 +15963,49 @@ QMSCKEditorTooltipComponent.ctorParameters = () => [
15940
15963
  { type: QMSCKEditorTooltip, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
15941
15964
  ];
15942
15965
 
15943
- //import { CKEditor5 } from '@ckeditor/ckeditor5-angular/ckeditor';
15966
+ class QMSCKEditorAboutComponent extends QMSCKEditorBaseComponent {
15967
+ constructor(translate, dialogRef, data) {
15968
+ super();
15969
+ this.translate = translate;
15970
+ this.dialogRef = dialogRef;
15971
+ this.data = data;
15972
+ this.currentVersion = data;
15973
+ }
15974
+ ngOnInit() {
15975
+ this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {
15976
+ if (res) {
15977
+ this.LANG = this.translate.getObjectLang(res);
15978
+ }
15979
+ });
15980
+ this.currentYear = new Date().getFullYear();
15981
+ }
15982
+ onCloseDialog() {
15983
+ this.dialogRef.close();
15984
+ }
15985
+ }
15986
+ QMSCKEditorAboutComponent.decorators = [
15987
+ { type: Component, args: [{
15988
+ selector: 'app-about-ckeditor',
15989
+ template: "<div id=\"qmsckeditor-about\" class=\"qmsckeditor qmsckeditor__about__container\">\r\n <div id=\"qmsckeditor-about-header\">\r\n <span id=\"qmsckeditor-about-header_001\" mat-icon-button class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseDialog()\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor-about-header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor-about_002_001\">\r\n {{ LANG.ABOUT.ABOUT_CKEDITOR }}\r\n </h2>\r\n </div>\r\n </div>\r\n <div id=\"qmsckeditor-about-content\">\r\n <div class=\"col-12 qmsckeditor__about__logo__container\">\r\n <img class=\"qmsckeditor__about__logo\" src=\"../../../../assets/images/ckeditor5.svg\" alt=\"CKEditor logo\">\r\n </div>\r\n <div class=\"col-12\">\r\n <p>{{LANG.ABOUT.CKEDITOR5_VERSION}} {{currentVersion}}.<br><a target=\"_blank\"\r\n href=\"https://ckeditor.com/\">https://ckeditor.com</a></p>\r\n <p>{{LANG.ABOUT.CHECK}} <a target=\"_blank\"\r\n href=\"https://ckeditor.com/docs/\">{{LANG.ABOUT.CKEDITOR_USERS_GUIDE}}</a> {{LANG.ABOUT.FOR_HELP}}.\r\n </p>\r\n <p>{{LANG.ABOUT.FOR_LICENSING_INFORMATION_PLEASE_VISIT_OUR_WEBSITE}}:<br><a target=\"_blank\"\r\n href=\"https://ckeditor.com/legal/ckeditor-oss-license/\">https://ckeditor.com/legal/ckeditor-oss-license/</a>\r\n </p>\r\n <p>{{LANG.ABOUT.COPYRIGHT}} 2003-{{currentYear}}, <a target=\"_blank\"\r\n href=\"https://cksource.com/\">CKSource</a> - Frederico Knabben.\r\n <br>{{LANG.ABOUT.ALL_RIGHTS_RESERVED}}.\r\n </p>\r\n </div>\r\n <div class=\"col-12\">\r\n <button mat-stroked-button class=\"qmsckeditor__about__button\" (click)=\"onCloseDialog()\">\r\n {{ LANG.QMSCKEDITOR.CLOSE }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>",
15990
+ styles: [".mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt7{margin-top:7px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt30{margin-top:30px!important}.mt40{margin-top:40px!important}.ml2{margin-left:2px!important}.ml3{margin-left:3px!important}.ml5{margin-left:5px!important}.ml15{margin-left:15px!important}.ml10{margin-left:10px!important}.ml12{margin-left:12px!important}.ml16{margin-left:16px!important}.ml-auto{margin-left:auto!important}.ml-25{margin-left:-25px!important}.mr5{margin-right:5px!important}.mr12{margin-right:12px!important}.mr15{margin-right:15px!important}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.pt8{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt16{padding-top:16px!important}.pl15{padding-left:15px!important}.pl0{padding-left:0!important}.pr0{padding-right:0!important}.pr15{padding-right:15px!important}.fs12{font-size:12px}.fs14{font-size:14px!important}.fs16{font-size:16px!important}.fs22{font-size:22px!important}.fw500{font-weight:500!important}.italic-text{font-style:italic}.display-flex{display:flex}.qmsckeditor{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.qmsckeditor h2{font-size:20px;font-weight:400}.qmsckeditor .mat-dialog-content{padding:0}.qmsckeditor .mat-icon{color:#909497}.qmsckeditor__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;max-height:100vh;overflow-x:hidden}.qmsckeditor__cursor{cursor:pointer}.qmsckeditor__notallowed{cursor:not-allowed}.qmsckeditor.button__close,.qmsckeditor.button__done{float:right;top:-24px;right:-24px;cursor:pointer}.qmsckeditor.button__done{margin-right:20px}.qmsckeditor.button__done .mat-icon{color:#28a745;font-weight:700}.qmsckeditor.button__groups button{min-height:40px;width:100%;border-radius:4px;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px}.qmsckeditor.button__groups .save{background:#f8f9f9}.qmsckeditor.button__groups .save:hover{background:#e5e7e9}.qmsckeditor.button__groups .save:disabled{cursor:not-allowed}.qmsckeditor.button__groups .cancel{background:#f8f9f9}.qmsckeditor.button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.button__groups .cancel:disabled{cursor:not-allowed}.qmsckeditor.button__groups .delete{background:#f8f9f9}.qmsckeditor.button__groups .delete:hover{background:#e5e7e9}.qmsckeditor.button__groups .delete:disabled{cursor:not-allowed}.qmsckeditor.confirm__button__groups button{min-height:36px;border-radius:4px;width:auto;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px}.qmsckeditor.confirm__button__groups .confirm{background:#f8f9f9}.qmsckeditor.confirm__button__groups .confirm:hover{background:#e5e7e9}.qmsckeditor.confirm__button__groups .cancel{background:#f8f9f9}.qmsckeditor.confirm__button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.template-content.height{min-height:420px;max-height:520px;overflow:auto}.qmsckeditor.template-content.title{margin-left:-9px}.qmsckeditor.link__content.height{min-height:400px;max-height:520px}.qmsckeditor.card{margin-bottom:10px;min-height:60px;box-shadow:none;border:1px solid #e5e5e5}.qmsckeditor.card .title{font-weight:700}.qmsckeditor.card .content{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qmsckeditor.card .material-icons{font-size:20px}.qmsckeditor.tooltip-content.height{min-height:400px;max-height:472px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .ck-horizontal-line,.ck-content .page-break{width:100%}.ck-content hr{background:#ccc}.qmsckeditor__about__container .qmsckeditor__about__logo__container{display:flex;justify-content:center;margin-bottom:10px}.qmsckeditor__about__container .qmsckeditor__about__logo{height:64px}.qmsckeditor__about__container .qmsckeditor__about__button{float:right}"]
15991
+ },] }
15992
+ ];
15993
+ QMSCKEditorAboutComponent.ctorParameters = () => [
15994
+ { type: TranslateLibraryService },
15995
+ { type: MatDialogRef },
15996
+ { type: String, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
15997
+ ];
15998
+
15944
15999
  class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15945
16000
  /**
15946
16001
  * Constructor
15947
16002
  */
15948
- constructor(dialog, globalService, qmsCKEditorFullscreenComponent, renderer, elRef) {
16003
+ constructor(dialog, translate, globalService, treeService, qmsCKEditorFullscreenComponent, renderer, elRef) {
15949
16004
  super();
15950
16005
  this.dialog = dialog;
16006
+ this.translate = translate;
15951
16007
  this.globalService = globalService;
16008
+ this.treeService = treeService;
15952
16009
  this.qmsCKEditorFullscreenComponent = qmsCKEditorFullscreenComponent;
15953
16010
  this.renderer = renderer;
15954
16011
  this.elRef = elRef;
@@ -15959,9 +16016,6 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15959
16016
  }
15960
16017
  onMessage(event) {
15961
16018
  switch (event.data.eventName) {
15962
- case this.ckEditorEventConst.QMSCK_FULLSCREEN_PLUGIN_MSG:
15963
- this.fullscreenEventHandling();
15964
- break;
15965
16019
  case this.ckEditorEventConst.QMSCK_TEMPLATE_PLUGIN_MSG:
15966
16020
  this.templateEventHandling();
15967
16021
  break;
@@ -15980,9 +16034,15 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15980
16034
  case this.ckEditorEventConst.QMSCK_BPMN_PLUGIN_MSG:
15981
16035
  this.bpmnEventHandling(event.data.value);
15982
16036
  break;
16037
+ case this.ckEditorEventConst.QMSCK_ABOUT_CKEDITOR_PLUGIN_MSG:
16038
+ this.aboutCKEditorEventHandling(event.data.value);
16039
+ break;
15983
16040
  case this.ckEditorEventConst.QMSCK_TOGGLE_TOOLBAR_MSG:
15984
16041
  this.toggleToolbarEventHandling();
15985
16042
  break;
16043
+ case this.ckEditorEventConst.QMSCK_BROWSE_VIDEO_MSG:
16044
+ this.browseVideoEventHandling(event.data.value);
16045
+ break;
15986
16046
  default:
15987
16047
  break;
15988
16048
  }
@@ -15990,6 +16050,11 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15990
16050
  ngOnInit() {
15991
16051
  this.name = 'CKEditor custom build';
15992
16052
  this.ckEditor = this.qmsckPlugin.pluginObject;
16053
+ this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {
16054
+ if (res) {
16055
+ this.LANG = this.translate.getObjectLang(res);
16056
+ }
16057
+ });
15993
16058
  this.ckeditorConfig = CKEditorCommonFunctions.getCKEditorConfiguration(this.qmsckPlugin.itemToolbar);
15994
16059
  this.globalService.setApiUrl(this.qmsckData.apiUrl);
15995
16060
  if (this.isEnabledMathtypeConfig()) {
@@ -16001,6 +16066,15 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
16001
16066
  if (this.isEnabledToggleToolbar()) {
16002
16067
  this.addToggleToolbarConfig();
16003
16068
  }
16069
+ if (this.isEnabledWProofreader()) {
16070
+ this.addWProofreaderConfig();
16071
+ }
16072
+ if (this.isEnabledTOCToolbar()) {
16073
+ this.addToggleTOCConfig();
16074
+ }
16075
+ if (this.isEnabledFullScreenConfig()) {
16076
+ this.addFullScreenConfig();
16077
+ }
16004
16078
  }
16005
16079
  ngOnDestroy() {
16006
16080
  if (this.editorInstance) {
@@ -16018,6 +16092,23 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
16018
16092
  this.renderer.addClass(this.elRef.nativeElement, 'ck-disabled');
16019
16093
  }
16020
16094
  }
16095
+ isEnabledWProofreader() {
16096
+ const pattern = /(wproofreader)/gmi;
16097
+ return !!this.qmsckData.wproofreader
16098
+ && !!this.qmsckData.wproofreader.srcUrl
16099
+ && !!this.qmsckPlugin.itemToolbar
16100
+ && this.qmsckPlugin.itemToolbar.search(pattern) > -1;
16101
+ }
16102
+ addWProofreaderConfig() {
16103
+ const wproofreaderConfig = {
16104
+ wproofreader: Object.assign({}, this.qmsckData.wproofreader)
16105
+ };
16106
+ if (!this.qmsckData.wproofreader.serviceId || this.qmsckData.wproofreader.serviceId.length == 0) {
16107
+ //Fallback value of serviceId property to demo serviceId
16108
+ this.qmsckData.wproofreader.serviceId = '1:KpkvQ2-6KNUj-L1W3u2-C9j0K1-Zv2tY1-CfDOx-WfGRg2-qXtci-YyyE34-j09H42-b0aCt3-d9a';
16109
+ }
16110
+ this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, wproofreaderConfig);
16111
+ }
16021
16112
  isEnabledToggleToolbar() {
16022
16113
  const pattern = /(toggleToolbar)/gmi;
16023
16114
  return !!this.qmsckData.toggleToolbar
@@ -16033,6 +16124,35 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
16033
16124
  };
16034
16125
  this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, toggleToolbarConfig);
16035
16126
  }
16127
+ isEnabledFullScreenConfig() {
16128
+ const pattern = /(qmsFullscreen)/gmi;
16129
+ return !!this.qmsckPlugin.itemToolbar
16130
+ && !!this.qmsckData.fullScreenClass
16131
+ && this.qmsckPlugin.itemToolbar.search(pattern) > -1;
16132
+ }
16133
+ addFullScreenConfig() {
16134
+ const fullScreenConfig = {
16135
+ fullScreenConfig: {
16136
+ class: this.qmsckData.fullScreenClass
16137
+ }
16138
+ };
16139
+ this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, fullScreenConfig);
16140
+ }
16141
+ isEnabledTOCToolbar() {
16142
+ const pattern = /(tableOfContents)/gmi;
16143
+ return !!this.qmsckData.tableOfContentHeadings
16144
+ && !!this.qmsckPlugin.itemToolbar
16145
+ && this.qmsckPlugin.itemToolbar.search(pattern) > -1;
16146
+ }
16147
+ addToggleTOCConfig() {
16148
+ const items = this.qmsckData.tableOfContentHeadings.split(',');
16149
+ const tableOfContents = {
16150
+ tableOfContents: {
16151
+ supportedHeadings: items
16152
+ }
16153
+ };
16154
+ this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, tableOfContents);
16155
+ }
16036
16156
  isEnabledTimestampConfig() {
16037
16157
  const pattern = /(timestamp)/gmi;
16038
16158
  return !!this.qmsckData.timestampFormat
@@ -16094,33 +16214,22 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
16094
16214
  this.initEditor(editor);
16095
16215
  }
16096
16216
  initEditor(editor) {
16217
+ const imageUploadTypes = editor.config.get('image.upload.types');
16218
+ const maxFileSizeMB = this.qmsckData.maxFileSizeMB;
16219
+ const config = { apiUrl: this.qmsckData.apiUrl, LANG: this.LANG, imageUploadTypes, maxFileSizeMB };
16220
+ editor.plugins.get("FileRepository").createUploadAdapter = (loader) => {
16221
+ return new QmsUploadAdapter(loader, config);
16222
+ };
16097
16223
  editor.ui
16098
16224
  .getEditableElement()
16099
16225
  .parentElement.insertBefore(editor.ui.view.toolbar.element, editor.ui.getEditableElement());
16100
- editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
16101
- return new UploadAdapter(loader);
16102
- };
16103
16226
  // Apped Wordcount to CKeditor
16104
16227
  editor.plugins.get('WordCount').on('update', (evt, stats) => {
16105
16228
  // Prints the current content statistics.
16106
16229
  const wordsBox = document.querySelector('.wordcount-content');
16107
- wordsBox.textContent = `Words: ${stats.words} / Characters: ${stats.characters}`;
16230
+ wordsBox.textContent = `${this.LANG.QMSCKEDITOR.WORDS}: ${stats.words} / ${this.LANG.QMSCKEDITOR.CHARACTERS}: ${stats.characters}`;
16108
16231
  });
16109
16232
  }
16110
- /**
16111
- * Full screen - Restore down
16112
- */
16113
- fullscreenEventHandling() {
16114
- const ck = window.document.getElementById('qmsckeditor');
16115
- if (ck) {
16116
- if (!ck.classList.contains('qmsckeditor__fullscreen')) {
16117
- this.qmsCKEditorFullscreenComponent.showFullScreen();
16118
- }
16119
- else {
16120
- this.qmsCKEditorFullscreenComponent.hideFullScreen();
16121
- }
16122
- }
16123
- }
16124
16233
  /**
16125
16234
  * Add template - Load template
16126
16235
  */
@@ -16203,7 +16312,7 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
16203
16312
  data.ckEditor = this.qmsckPlugin.pluginObject;
16204
16313
  const dialogTemplate = this.dialog.open(QMSCKEditorTooltipComponent, {
16205
16314
  width: '650px',
16206
- height: '550px',
16315
+ height: '555px',
16207
16316
  data,
16208
16317
  disableClose: true
16209
16318
  });
@@ -16278,6 +16387,21 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
16278
16387
  }
16279
16388
  });
16280
16389
  }
16390
+ /*
16391
+ About CKEditor
16392
+ */
16393
+ aboutCKEditorEventHandling(version) {
16394
+ const dialogTemplate = this.dialog.open(QMSCKEditorAboutComponent, {
16395
+ width: '500px',
16396
+ data: version,
16397
+ disableClose: true
16398
+ });
16399
+ dialogTemplate
16400
+ .afterClosed()
16401
+ .pipe(takeUntil(this.ngUnsubcribe))
16402
+ .subscribe((result) => {
16403
+ });
16404
+ }
16281
16405
  /*
16282
16406
  Toolbar toggle
16283
16407
  */
@@ -16336,11 +16460,84 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
16336
16460
  }
16337
16461
  }
16338
16462
  }
16463
+ /**
16464
+ * Browse Video
16465
+ */
16466
+ browseVideoEventHandling(value) {
16467
+ this.treeService
16468
+ .getUploadVideoList()
16469
+ .pipe(takeUntil(this.ngUnsubcribe))
16470
+ .subscribe((response) => {
16471
+ const videos = response || [];
16472
+ const config = {
16473
+ allowSelectFolder: false,
16474
+ areaOfCurrentProcess: '',
16475
+ showCheckBox: true,
16476
+ allowMultipleCheck: value.allowMultipleFiles,
16477
+ onlyCheckBoxForChild: true,
16478
+ moduleId: DataType$2.document,
16479
+ openIcon: 'folder_open',
16480
+ openIconColor: '#1954A9',
16481
+ closeIcon: 'folder_filled',
16482
+ closeIconColor: '#4acaff',
16483
+ itemIcon: 'insert_drive_file',
16484
+ itemIconPath: '',
16485
+ itemIconBase64: '',
16486
+ singleSelectedNode: true,
16487
+ expandAll: true
16488
+ };
16489
+ const data = new PopupData();
16490
+ data.moduleId = 2;
16491
+ data.moduleName = this.LANG.QMSCKEDITOR.SELECT_VIDEO_FROM_ARCHIVE;
16492
+ data.treeData1 = videos.map((item) => {
16493
+ return {
16494
+ rootId: item.rootId,
16495
+ parentId: item.parentId,
16496
+ rootName: item.rootName,
16497
+ subName: item.subName,
16498
+ childId: item.childId,
16499
+ childName: item.childName,
16500
+ statusId: item.statusId,
16501
+ displayId: item.displayId,
16502
+ contentType: item.contentType,
16503
+ url: item.url
16504
+ };
16505
+ });
16506
+ data.treeData2 = [];
16507
+ data.treeConfig1 = config;
16508
+ const dialogRef = this.dialog.open(RelatedPopupComponent, {
16509
+ minWidth: '450px',
16510
+ maxWidth: '800px',
16511
+ minHeight: '620px',
16512
+ data,
16513
+ panelClass: 'qmsckeditor-browse-video-popup'
16514
+ });
16515
+ setTimeout(() => {
16516
+ const searchBox = window.document.querySelector('.qmsckeditor-browse-video-popup #qmslib_related_popup_search');
16517
+ if (searchBox) {
16518
+ searchBox.style.display = 'none';
16519
+ }
16520
+ }, 100);
16521
+ dialogRef
16522
+ .afterClosed()
16523
+ .subscribe((result) => {
16524
+ if (result) {
16525
+ const ids = result.reduce((result, item) => {
16526
+ result[item.id.toString()] = item.id;
16527
+ return result;
16528
+ }, {});
16529
+ const urls = videos.filter(i => i.childId && !!ids[i.childId.toString()]).map(i => i.url);
16530
+ const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_BROWSE_VIDEO_RESP, { detail: { urls: urls } });
16531
+ window.dispatchEvent(evt);
16532
+ }
16533
+ });
16534
+ });
16535
+ }
16339
16536
  }
16340
16537
  QMSCKEditorComponent.decorators = [
16341
16538
  { type: Component, args: [{
16342
16539
  selector: 'qms-ckeditor',
16343
- template: "<div id=\"qmsckeditor\" class=\"qmsckeditor_container\">\r\n <ckeditor class=\"qms-ckeditor\" [tagName]=\"ckTagname\" [(editor)]=\"ckEditor\" [config]=\"ckeditorConfig\"\r\n (ready)=\"onReady($event)\" [(ngModel)]=\"qmsckContentInput\" (change)=\"onChanged($event)\" (blur)=\"onBlur($event)\"\r\n [disabled]=\"isDisabled\">\r\n </ckeditor>\r\n <div class=\"sub-container\">\r\n <div class=\"\">\r\n <span>Assistive text</span>\r\n </div>\r\n <div class=\"wordcount-content\"></div>\r\n </div>\r\n</div>",
16540
+ template: "<div id=\"qmsckeditor\" class=\"qmsckeditor_container\">\r\n <ckeditor class=\"qms-ckeditor\" [tagName]=\"ckTagname\" [(editor)]=\"ckEditor\" [config]=\"ckeditorConfig\"\r\n (ready)=\"onReady($event)\" [(ngModel)]=\"qmsckContentInput\" (change)=\"onChanged($event)\" (blur)=\"onBlur($event)\"\r\n [disabled]=\"isDisabled\">\r\n </ckeditor>\r\n <div class=\"sub-container\">\r\n <div class=\"\">\r\n <span>{{LANG.QMSCKEDITOR.ASSISTIVE_TEXT}}</span>\r\n </div>\r\n <div class=\"wordcount-content\"></div>\r\n </div>\r\n</div>\r\n",
16344
16541
  providers: [
16345
16542
  QMSCKEditorFullscreenComponent,
16346
16543
  {
@@ -16356,12 +16553,14 @@ QMSCKEditorComponent.decorators = [
16356
16553
  ],
16357
16554
  encapsulation: ViewEncapsulation.None,
16358
16555
  changeDetection: ChangeDetectionStrategy.OnPush,
16359
- styles: [".mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt7{margin-top:7px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt30{margin-top:30px!important}.mt40{margin-top:40px!important}.ml2{margin-left:2px!important}.ml3{margin-left:3px!important}.ml5{margin-left:5px!important}.ml15{margin-left:15px!important}.ml10{margin-left:10px!important}.ml12{margin-left:12px!important}.ml16{margin-left:16px!important}.ml-auto{margin-left:auto!important}.ml-25{margin-left:-25px!important}.mr5{margin-right:5px!important}.mr12{margin-right:12px!important}.mr15{margin-right:15px!important}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.pt8{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt16{padding-top:16px!important}.pl15{padding-left:15px!important}.pl0{padding-left:0!important}.pr0{padding-right:0!important}.pr15{padding-right:15px!important}.fs12{font-size:12px}.fs14{font-size:14px!important}.fs16{font-size:16px!important}.fs22{font-size:22px!important}.fw500{font-weight:500!important}.italic-text{font-style:italic}.display-flex{display:flex}.qmsckeditor{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.qmsckeditor h2{font-size:20px;font-weight:400}.qmsckeditor .mat-dialog-content{padding:0}.qmsckeditor .mat-icon{color:#909497}.qmsckeditor__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;max-height:100vh;overflow-x:hidden}.qmsckeditor__cursor{cursor:pointer}.qmsckeditor__notallowed{cursor:not-allowed}.qmsckeditor.button__close,.qmsckeditor.button__done{float:right;top:-24px;right:-24px;cursor:pointer}.qmsckeditor.button__done{margin-right:20px}.qmsckeditor.button__done .mat-icon{color:#28a745;font-weight:700}.qmsckeditor.button__groups button{min-height:40px;width:100%;border-radius:4px;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px}.qmsckeditor.button__groups .save{background:#f8f9f9}.qmsckeditor.button__groups .save:hover{background:#e5e7e9}.qmsckeditor.button__groups .save:disabled{cursor:not-allowed}.qmsckeditor.button__groups .cancel{background:#f8f9f9}.qmsckeditor.button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.button__groups .cancel:disabled{cursor:not-allowed}.qmsckeditor.button__groups .delete{background:#f8f9f9}.qmsckeditor.button__groups .delete:hover{background:#e5e7e9}.qmsckeditor.button__groups .delete:disabled{cursor:not-allowed}.qmsckeditor.confirm__button__groups button{min-height:36px;border-radius:4px;width:auto;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px}.qmsckeditor.confirm__button__groups .confirm{background:#f8f9f9}.qmsckeditor.confirm__button__groups .confirm:hover{background:#e5e7e9}.qmsckeditor.confirm__button__groups .cancel{background:#f8f9f9}.qmsckeditor.confirm__button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.template-content.height{min-height:420px;max-height:520px;overflow:auto}.qmsckeditor.template-content.title{margin-left:-9px}.qmsckeditor.link__content.height{min-height:400px;max-height:520px}.qmsckeditor.card{margin-bottom:10px;min-height:60px;box-shadow:none;border:1px solid #e5e5e5}.qmsckeditor.card .title{font-weight:700}.qmsckeditor.card .content{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qmsckeditor.card .material-icons{font-size:20px}.qmsckeditor.tooltip-content.height{min-height:400px;max-height:472px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .ck-horizontal-line,.ck-content .page-break{width:100%}.ck-content hr{background:#ccc}@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}.qmsckeditor_container .qmsckeditor__minwidth{width:100%}.qmsckeditor_container .ck-editor__editable{overflow-y:auto}.qms-ckeditor .ck.ck-editor__editable{max-height:172px;min-height:172px;background-color:rgba(0,0,0,.04);font-family:Open Sans}.qms-ckeditor .ck.ck-editor__editable:not(.ck-focused,.ck-read-only):hover{background-color:rgba(0,0,0,.08);border-bottom:2px solid rgba(0,0,0,.38)}.qms-ckeditor .ck.ck-editor__editable::-webkit-scrollbar{width:12px}.qms-ckeditor .ck.ck-editor__editable::-webkit-scrollbar-track{background:transparent;background-clip:content-box}.qms-ckeditor .ck.ck-editor__editable::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-ckeditor .ck.ck-editor__editable::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms-ckeditor .ck-placeholder{font-size:1rem;font-weight:600;color:rgba(0,0,0,.6)}.qms-ckeditor .ck-disabled .ck.ck-editor__main>.ck-editor__editable,.qms-ckeditor .ck-disabled .ck.ck-toolbar{background-color:#e4e4e4;pointer-events:none}.qms-ckeditor .ck-disabled .ck-button{pointer-events:none}.qms-ckeditor .ck.ck-editor__main>.ck-editor__editable:not(.ck-focused):focus{border-radius:4px}.qms-ckeditor .ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused{border:1px solid #c4c4c4;border-bottom:2px solid #1954a9;border-radius:4px;box-shadow:none;background-color:rgba(0,0,0,.08)}.qms-ckeditor .ck.ck-toolbar{box-shadow:0 1px 3px rgba(51,51,51,.2)}.qms-ckeditor .ck.ck-sticky-panel .ck-sticky-panel__content_sticky{box-shadow:none;border-width:0}.sub-container{display:flex;justify-content:space-between;padding:0 10px;font-family:Open Sans;font-size:.75rem;font-weight:400;line-height:16px;color:rgba(0,0,0,.6)}"]
16556
+ styles: [".mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt7{margin-top:7px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt30{margin-top:30px!important}.mt40{margin-top:40px!important}.ml2{margin-left:2px!important}.ml3{margin-left:3px!important}.ml5{margin-left:5px!important}.ml15{margin-left:15px!important}.ml10{margin-left:10px!important}.ml12{margin-left:12px!important}.ml16{margin-left:16px!important}.ml-auto{margin-left:auto!important}.ml-25{margin-left:-25px!important}.mr5{margin-right:5px!important}.mr12{margin-right:12px!important}.mr15{margin-right:15px!important}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.pt8{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt16{padding-top:16px!important}.pl15{padding-left:15px!important}.pl0{padding-left:0!important}.pr0{padding-right:0!important}.pr15{padding-right:15px!important}.fs12{font-size:12px}.fs14{font-size:14px!important}.fs16{font-size:16px!important}.fs22{font-size:22px!important}.fw500{font-weight:500!important}.italic-text{font-style:italic}.display-flex{display:flex}.qmsckeditor{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.qmsckeditor h2{font-size:20px;font-weight:400}.qmsckeditor .mat-dialog-content{padding:0}.qmsckeditor .mat-icon{color:#909497}.qmsckeditor__fullscreen{overflow-y:auto;max-height:100vh;overflow-x:hidden}.qmsckeditor__cursor{cursor:pointer}.qmsckeditor__notallowed{cursor:not-allowed}.qmsckeditor.button__close,.qmsckeditor.button__done{float:right;top:-24px;right:-24px;cursor:pointer}.qmsckeditor.button__done{margin-right:20px}.qmsckeditor.button__done .mat-icon{color:#28a745;font-weight:700}.qmsckeditor.button__groups button{min-height:40px;width:100%;border-radius:4px;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px}.qmsckeditor.button__groups .save{background:#f8f9f9}.qmsckeditor.button__groups .save:hover{background:#e5e7e9}.qmsckeditor.button__groups .save:disabled{cursor:not-allowed}.qmsckeditor.button__groups .cancel{background:#f8f9f9}.qmsckeditor.button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.button__groups .cancel:disabled{cursor:not-allowed}.qmsckeditor.button__groups .delete{background:#f8f9f9}.qmsckeditor.button__groups .delete:hover{background:#e5e7e9}.qmsckeditor.button__groups .delete:disabled{cursor:not-allowed}.qmsckeditor.confirm__button__groups button{min-height:36px;border-radius:4px;width:auto;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px}.qmsckeditor.confirm__button__groups .confirm{background:#f8f9f9}.qmsckeditor.confirm__button__groups .confirm:hover{background:#e5e7e9}.qmsckeditor.confirm__button__groups .cancel{background:#f8f9f9}.qmsckeditor.confirm__button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.template-content.height{min-height:420px;max-height:520px;overflow:auto}.qmsckeditor.template-content.title{margin-left:-9px}.qmsckeditor.link__content.height{min-height:400px;max-height:520px}.qmsckeditor.card{margin-bottom:10px;min-height:60px;box-shadow:none;border:1px solid #e5e5e5}.qmsckeditor.card .title{font-weight:700}.qmsckeditor.card .content{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qmsckeditor.card .material-icons{font-size:20px}.qmsckeditor.tooltip-content.height{min-height:400px;max-height:472px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .ck-horizontal-line,.ck-content .page-break{width:100%}.ck-content hr{background:#ccc}@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}.qmsckeditor_container .qmsckeditor__minwidth{width:100%}.qmsckeditor_container .ck-editor__editable{overflow-y:auto}.qms-ckeditor .ck.ck-editor__editable{max-height:172px;min-height:172px;background-color:rgba(0,0,0,.04);font-family:Open Sans}.qms-ckeditor .ck.ck-editor__editable:not(.ck-focused,.ck-read-only):hover{background-color:rgba(0,0,0,.08);border-bottom:2px solid rgba(0,0,0,.38)}.qms-ckeditor .ck.ck-editor__editable::-webkit-scrollbar{width:12px}.qms-ckeditor .ck.ck-editor__editable::-webkit-scrollbar-track{background:transparent;background-clip:content-box}.qms-ckeditor .ck.ck-editor__editable::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-ckeditor .ck.ck-editor__editable::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms-ckeditor .ck-placeholder{font-size:1rem;font-weight:600;color:rgba(0,0,0,.6)}.qms-ckeditor .ck-disabled .ck.ck-editor__main>.ck-editor__editable,.qms-ckeditor .ck-disabled .ck.ck-toolbar{background-color:#e4e4e4;pointer-events:none}.qms-ckeditor .ck-disabled .ck-button{pointer-events:none}.qms-ckeditor .ck.ck-editor__main>.ck-editor__editable:not(.ck-focused):focus{border-radius:4px}.qms-ckeditor .ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused{border:1px solid #c4c4c4;border-bottom:2px solid #1954a9;border-radius:4px;box-shadow:none;background-color:rgba(0,0,0,.08)}.qms-ckeditor .ck.ck-toolbar{box-shadow:0 1px 3px rgba(51,51,51,.2)}.qms-ckeditor .ck.ck-sticky-panel .ck-sticky-panel__content_sticky{box-shadow:none;border-width:0}.qmsckeditor__fullscreen{position:fixed;top:0;left:0;bottom:0;right:0;overflow:auto;background:#fff}.qmsckeditor__fullscreen .qms-ckeditor{height:98%;display:block;width:100%}.qmsckeditor__fullscreen .ck.ck-editor__main{height:98%}.qmsckeditor__fullscreen .ck.ck-editor__editable{height:inherit}.sub-container{display:flex;justify-content:space-between;padding:0 10px;font-family:Open Sans;font-size:.75rem;font-weight:400;line-height:16px;color:rgba(0,0,0,.6)}"]
16360
16557
  },] }
16361
16558
  ];
16362
16559
  QMSCKEditorComponent.ctorParameters = () => [
16363
16560
  { type: MatDialog },
16561
+ { type: TranslateLibraryService },
16364
16562
  { type: QMSCKEditorGlobalService },
16563
+ { type: QMSCKEditorTreeService },
16365
16564
  { type: QMSCKEditorFullscreenComponent },
16366
16565
  { type: Renderer2 },
16367
16566
  { type: ElementRef }
@@ -16397,7 +16596,8 @@ QMSCKEditorModule.decorators = [
16397
16596
  QMSCKEditorTooltipComponent,
16398
16597
  QMSCKEditorImageMapComponent,
16399
16598
  QMSCKEditorBpmnComponent,
16400
- SaveTemplateComponent
16599
+ SaveTemplateComponent,
16600
+ QMSCKEditorAboutComponent
16401
16601
  ],
16402
16602
  imports: [
16403
16603
  CKEditorModule$1,
@@ -16423,8 +16623,9 @@ QMSCKEditorModule.decorators = [
16423
16623
  MatAutocompleteModule,
16424
16624
  ScrollingModule,
16425
16625
  HttpClientModule,
16426
- SharedModule,
16427
16626
  MatTabsModule,
16627
+ MatProgressBarModule,
16628
+ SharedModule
16428
16629
  ],
16429
16630
  providers: [],
16430
16631
  exports: [QMSCKEditorComponent],
@@ -16592,6 +16793,104 @@ class QMSDialogConfig extends MatDialogConfig {
16592
16793
  }
16593
16794
  }
16594
16795
 
16796
+ class QMSDrawerContentDirective {
16797
+ constructor(ele) {
16798
+ this.ele = ele;
16799
+ }
16800
+ ngOnInit() {
16801
+ if (this.ele) {
16802
+ this.ele.nativeElement.classList.add('qms-drawer-content');
16803
+ }
16804
+ }
16805
+ }
16806
+ QMSDrawerContentDirective.decorators = [
16807
+ { type: Directive, args: [{
16808
+ selector: '[qms-drawer-content]',
16809
+ },] }
16810
+ ];
16811
+ QMSDrawerContentDirective.ctorParameters = () => [
16812
+ { type: ElementRef }
16813
+ ];
16814
+
16815
+ class QMSDrawerHeaderActionDirective {
16816
+ constructor(ele) {
16817
+ this.ele = ele;
16818
+ }
16819
+ ngOnInit() {
16820
+ if (this.ele) {
16821
+ this.ele.nativeElement.classList.add('qms-drawer-header__action');
16822
+ }
16823
+ }
16824
+ }
16825
+ QMSDrawerHeaderActionDirective.decorators = [
16826
+ { type: Directive, args: [{
16827
+ selector: '[qms-drawer-header-action]',
16828
+ },] }
16829
+ ];
16830
+ QMSDrawerHeaderActionDirective.ctorParameters = () => [
16831
+ { type: ElementRef }
16832
+ ];
16833
+
16834
+ class QMSDrawerHeaderDirective {
16835
+ constructor(ele) {
16836
+ this.ele = ele;
16837
+ }
16838
+ ngOnInit() {
16839
+ if (this.ele) {
16840
+ this.ele.nativeElement.classList.add('qms-drawer-header');
16841
+ }
16842
+ }
16843
+ }
16844
+ QMSDrawerHeaderDirective.decorators = [
16845
+ { type: Directive, args: [{
16846
+ selector: '[qms-drawer-header]',
16847
+ },] }
16848
+ ];
16849
+ QMSDrawerHeaderDirective.ctorParameters = () => [
16850
+ { type: ElementRef }
16851
+ ];
16852
+
16853
+ class QMSDrawerDirective {
16854
+ constructor(ele) {
16855
+ this.ele = ele;
16856
+ }
16857
+ ngOnInit() {
16858
+ if (this.ele) {
16859
+ this.ele.nativeElement.classList.add('qms-drawer');
16860
+ }
16861
+ }
16862
+ }
16863
+ QMSDrawerDirective.decorators = [
16864
+ { type: Directive, args: [{
16865
+ selector: '[qms-drawer]',
16866
+ },] }
16867
+ ];
16868
+ QMSDrawerDirective.ctorParameters = () => [
16869
+ { type: ElementRef }
16870
+ ];
16871
+
16872
+ class QMSSideSheetModule {
16873
+ }
16874
+ QMSSideSheetModule.decorators = [
16875
+ { type: NgModule, args: [{
16876
+ declarations: [
16877
+ QMSDrawerDirective,
16878
+ QMSDrawerHeaderDirective,
16879
+ QMSDrawerContentDirective,
16880
+ QMSDrawerHeaderActionDirective,
16881
+ ],
16882
+ imports: [
16883
+ CommonModule
16884
+ ],
16885
+ exports: [
16886
+ QMSDrawerDirective,
16887
+ QMSDrawerHeaderDirective,
16888
+ QMSDrawerContentDirective,
16889
+ QMSDrawerHeaderActionDirective,
16890
+ ]
16891
+ },] }
16892
+ ];
16893
+
16595
16894
  class QMSTooltipModule {
16596
16895
  }
16597
16896
  QMSTooltipModule.decorators = [
@@ -17046,7 +17345,7 @@ QmsStepperComponent.decorators = [
17046
17345
  changeDetection: ChangeDetectionStrategy.OnPush,
17047
17346
  selector: 'app-qms-stepper',
17048
17347
  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>",
17049
- 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}"]
17348
+ 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{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.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;-webkit-font-smoothing:antialiased!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}"]
17050
17349
  },] }
17051
17350
  ];
17052
17351
  QmsStepperComponent.ctorParameters = () => [
@@ -17283,10 +17582,10 @@ class SelectIncludeChildrenPopUpComponent {
17283
17582
  appIconService.registerRiskIcon(iconRegistry, domSanitizer);
17284
17583
  }
17285
17584
  ngAfterViewInit() {
17585
+ this.initTree(this.checkedNodeList);
17286
17586
  if (this.editItem) {
17287
17587
  this.focusEditItem(this.editItem);
17288
17588
  }
17289
- this.initTree(this.checkedNodeList);
17290
17589
  }
17291
17590
  ngOnDestroy() {
17292
17591
  this.ngUnsubscribe.next();
@@ -17332,16 +17631,60 @@ class SelectIncludeChildrenPopUpComponent {
17332
17631
  this.selectedOptions.push(element);
17333
17632
  if (element.type === SelectOptionTypes.IncludeChildren) {
17334
17633
  this.selectedOptions = this.selectedOptions.concat(element.children);
17634
+ if (!this.includeChildren) {
17635
+ this.disabledList = [...this.disabledList, element];
17636
+ this.disabledList = [...this.disabledList, ...element.children.map(x => {
17637
+ return {
17638
+ id: x.id,
17639
+ itemName: x.itemName,
17640
+ children: [],
17641
+ parentId: x.parentId,
17642
+ type: x.type,
17643
+ noSelectedChildren: 0,
17644
+ noChildren: 0
17645
+ };
17646
+ })];
17647
+ }
17648
+ }
17649
+ else {
17650
+ if (this.includeChildren) {
17651
+ this.disabledList = [...this.disabledList, element];
17652
+ }
17335
17653
  }
17336
17654
  this.selectedData = this.mapSelectOptionToTreeNode(this.selectedOptions);
17337
17655
  });
17338
17656
  }
17339
17657
  }
17340
17658
  focusEditItem(selectedOption) {
17341
- const node = this.dataTrees.toArray()[0].getNodeByIdAndParentId(selectedOption.id, selectedOption.parentId);
17659
+ let parent;
17660
+ let parentList = [];
17661
+ parent = this.treeData.find(x => x.rootId === selectedOption.parentId);
17662
+ if (parent) {
17663
+ parentList.push({
17664
+ id: parent.rootId,
17665
+ itemName: parent.rootName,
17666
+ parentId: parent.parentId,
17667
+ type: SelectOptionTypes.IncludeChildren
17668
+ });
17669
+ parentList = this.getParentLineOfNode(parentList, parent);
17670
+ }
17671
+ let node;
17672
+ if (parentList.length > 0) {
17673
+ parentList.forEach(parent => {
17674
+ node = this.dataTrees.toArray()[0].getNodeByIdAndParentId(parent.id, parent.parentId);
17675
+ if (node) {
17676
+ this.dataTrees.toArray()[0].expandNode(node);
17677
+ const element = document.getElementById(`_${node.parentId ? node.parentId.toLowerCase() : ''}_${node.id.toLowerCase()}_${node.level}`);
17678
+ if (element) {
17679
+ element.scrollIntoView(false);
17680
+ }
17681
+ }
17682
+ });
17683
+ }
17684
+ node = this.dataTrees.toArray()[0].getNodeByIdAndParentId(selectedOption.id, selectedOption.parentId);
17342
17685
  if (node) {
17343
17686
  this.dataTrees.toArray()[0].expandNode(node);
17344
- const element = document.getElementById(`_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`);
17687
+ const element = document.getElementById(`_${node.parentId ? node.parentId.toLowerCase() : ''}_${node.id.toLowerCase()}_${node.level}`);
17345
17688
  if (element) {
17346
17689
  element.scrollIntoView(false);
17347
17690
  }
@@ -17352,7 +17695,7 @@ class SelectIncludeChildrenPopUpComponent {
17352
17695
  if (index >= 0) {
17353
17696
  if (this.checkedNodeList[index].type === SelectOptionTypes.IncludeChildren) {
17354
17697
  this.removeIncludeChildren(item);
17355
- this.refactorSelectList(item);
17698
+ this.deleteNodeFromSelectedNode(item);
17356
17699
  }
17357
17700
  else {
17358
17701
  let position = this.selectedOptions.findIndex(x => x.id === item.id && x.parentId === item.parentId);
@@ -17360,8 +17703,9 @@ class SelectIncludeChildrenPopUpComponent {
17360
17703
  this.selectedOptions.splice(position, 1);
17361
17704
  }
17362
17705
  }
17706
+ this.focusEditItem(this.checkedNodeList[index]);
17707
+ this.enableSelectedNode(this.checkedNodeList[index]);
17363
17708
  this.checkedNodeList.splice(index, 1);
17364
- this.enableSelectedNode({ id: item.id, parentId: item.parentId, itemName: item.name, type: SelectOptionTypes.IncludeChildren });
17365
17709
  this.selectedData = this.mapSelectOptionToTreeNode(this.selectedOptions);
17366
17710
  }
17367
17711
  }
@@ -17393,7 +17737,7 @@ class SelectIncludeChildrenPopUpComponent {
17393
17737
  this.checkedNodeList.push({
17394
17738
  id: item.id,
17395
17739
  itemName: item.itemName,
17396
- type: SelectOptionTypes.SelectOne,
17740
+ type: item.type,
17397
17741
  parentId: item.parentId,
17398
17742
  children: [],
17399
17743
  noChildren: 0,
@@ -17402,6 +17746,15 @@ class SelectIncludeChildrenPopUpComponent {
17402
17746
  }
17403
17747
  }
17404
17748
  this.selectedData = this.mapSelectOptionToTreeNode(this.selectedOptions);
17749
+ this.focusEditItem({
17750
+ id: item.id,
17751
+ itemName: item.itemName,
17752
+ type: item.type,
17753
+ parentId: item.parentId,
17754
+ children: [],
17755
+ noChildren: 0,
17756
+ noSelectedChildren: 0
17757
+ });
17405
17758
  }
17406
17759
  getItemIconType(item) {
17407
17760
  if (item.itemIcon && item.itemIcon.length)
@@ -17472,12 +17825,29 @@ class SelectIncludeChildrenPopUpComponent {
17472
17825
  });
17473
17826
  }
17474
17827
  removeIncludeChildren(item) {
17828
+ const index = this.checkedNodeList.findIndex(x => x.id.toLowerCase() === item.id.toLowerCase() && x.parentId.toLowerCase() === x.parentId.toLowerCase() && x.type === SelectOptionTypes.IncludeChildren);
17829
+ if (index >= 0) {
17830
+ let listChildren = this.checkedNodeList[index].children;
17831
+ const itemIndex = this.selectedOptions.findIndex(node => node.id.toLowerCase() === item.id.toLowerCase() && node.parentId.toLowerCase() === item.parentId.toLowerCase());
17832
+ if (itemIndex >= 0) {
17833
+ this.enableSelectedNode(this.checkedNodeList[index]);
17834
+ this.selectedOptions.splice(itemIndex, 1);
17835
+ }
17836
+ listChildren.forEach(x => {
17837
+ const index = this.selectedOptions.findIndex(node => node.id.toLowerCase() === x.id.toLowerCase() && node.parentId.toLowerCase() === x.parentId.toLowerCase());
17838
+ if (index >= 0) {
17839
+ this.selectedOptions.splice(index, 1);
17840
+ this.disabledList = this.disabledList.filter(node => !(x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase()));
17841
+ }
17842
+ });
17843
+ return;
17844
+ }
17475
17845
  let listChildren = [];
17476
17846
  listChildren = this.getAllChildrenNodeRecursive(listChildren, item);
17477
17847
  const itemIndex = this.selectedOptions.findIndex(node => node.id === item.id && node.parentId === item.parentId);
17478
17848
  if (itemIndex >= 0) {
17479
- this.enableSelectedNode(this.selectedOptions[itemIndex]);
17480
17849
  this.selectedOptions.splice(itemIndex, 1);
17850
+ this.disabledList = this.disabledList.filter(x => !(x.id === item.id && x.parentId === item.parentId));
17481
17851
  }
17482
17852
  listChildren.forEach(x => {
17483
17853
  const index = this.selectedOptions.findIndex(node => node.id === x.id && node.parentId === x.parentId);
@@ -17596,7 +17966,7 @@ class SelectIncludeChildrenPopUpComponent {
17596
17966
  }
17597
17967
  }
17598
17968
  this.checkedNodeList = this.checkedNodeList.filter(x => x.id !== node.id || x.parentId !== node.parentId);
17599
- this.refactorSelectList(node);
17969
+ this.deleteNodeFromSelectedNode(node);
17600
17970
  }
17601
17971
  else {
17602
17972
  const itemIndex = this.selectedOptions.findIndex(item => node.id === item.id && node.parentId === item.parentId);
@@ -17669,6 +18039,16 @@ class SelectIncludeChildrenPopUpComponent {
17669
18039
  });
17670
18040
  }
17671
18041
  refactorSelectList(node) {
18042
+ this.combineNodes({
18043
+ id: node.id,
18044
+ itemName: node.name,
18045
+ type: SelectOptionTypes.IncludeChildren,
18046
+ parentId: node.parentId
18047
+ });
18048
+ }
18049
+ deleteNodeFromSelectedNode(node) {
18050
+ let children = [];
18051
+ children = this.getAllChildrenNodeRecursive(children, node);
17672
18052
  let parent;
17673
18053
  let parentList = [];
17674
18054
  parent = this.treeData.find(x => x.rootId === node.parentId);
@@ -17681,30 +18061,23 @@ class SelectIncludeChildrenPopUpComponent {
17681
18061
  });
17682
18062
  parentList = this.getParentLineOfNode(parentList, parent);
17683
18063
  }
18064
+ let parentIndex = -1;
17684
18065
  if (parentList.length > 0) {
17685
- const selectedParentList = parentList.filter(x => this.selectedOptions
17686
- .findIndex(selectedNode => x.id === selectedNode.id && x.parentId === selectedNode.parentId) >= 0);
17687
- if (selectedParentList.length > 0) {
17688
- const highestSelectedNode = selectedParentList[selectedParentList.length - 1];
17689
- this.combineNodes(highestSelectedNode);
17690
- this.disabledList = this.disabledList.filter(x => !(x.id === highestSelectedNode.id && x.parentId === highestSelectedNode.parentId));
17691
- }
17692
- else {
17693
- this.combineNodes({
17694
- id: node.id,
17695
- itemName: node.name,
17696
- type: SelectOptionTypes.IncludeChildren,
17697
- parentId: node.parentId
17698
- });
17699
- this.disabledList = this.disabledList.filter(x => !(x.id === node.id && x.parentId === node.parentId));
17700
- }
17701
- }
17702
- else {
17703
- this.combineNodes({
17704
- id: node.id,
17705
- itemName: node.name,
17706
- type: SelectOptionTypes.IncludeChildren,
17707
- parentId: node.parentId
18066
+ parentList.forEach(parent => {
18067
+ parentIndex = this.checkedNodeList.findIndex(x => x.id.toLowerCase() === parent.id.toLowerCase() && x.parentId.toLowerCase() === parent.parentId.toLowerCase());
18068
+ if (parentIndex >= 0) {
18069
+ const index = this.checkedNodeList[parentIndex].children.findIndex(x => x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase());
18070
+ if (index >= 0) {
18071
+ this.checkedNodeList[parentIndex].children.splice(index, 1);
18072
+ }
18073
+ children.forEach(child => {
18074
+ const index = this.checkedNodeList[parentIndex].children.findIndex(x => x.id.toLowerCase() === child.id.toLowerCase() && x.parentId.toLowerCase() === child.parentId.toLowerCase());
18075
+ if (index >= 0) {
18076
+ this.checkedNodeList[parentIndex].children.splice(index, 1);
18077
+ }
18078
+ });
18079
+ this.checkedNodeList[parentIndex].noSelectedChildren = this.checkedNodeList[parentIndex].children.length;
18080
+ }
17708
18081
  });
17709
18082
  }
17710
18083
  }
@@ -17748,7 +18121,7 @@ class SelectIncludeChildrenPopUpComponent {
17748
18121
  this.checkedNodeList[selectedNodeIndex].children = nodeList;
17749
18122
  this.checkedNodeList[selectedNodeIndex].noChildren = children.length;
17750
18123
  this.checkedNodeList[selectedNodeIndex].noSelectedChildren = nodeList.length;
17751
- this.checkedNodeList[selectedNodeIndex].type = children.length === 0 ? SelectOptionTypes.SelectOne : SelectOptionTypes.IncludeChildren;
18124
+ this.checkedNodeList[selectedNodeIndex].type = SelectOptionTypes.IncludeChildren;
17752
18125
  }
17753
18126
  }
17754
18127
  getParentLineOfNode(listParent, node) {
@@ -17772,7 +18145,7 @@ class SelectIncludeChildrenPopUpComponent {
17772
18145
  return {
17773
18146
  id: x.id,
17774
18147
  name: x.itemName,
17775
- parentId: node.id,
18148
+ parentId: x.parentId,
17776
18149
  level: 0,
17777
18150
  expandable: true,
17778
18151
  hasChild: true,
@@ -17804,18 +18177,11 @@ class SelectIncludeChildrenPopUpComponent {
17804
18177
  }
17805
18178
  }
17806
18179
  enableSelectedNode(node) {
17807
- let children = [];
17808
- children = this.getAllChildrenNodeRecursive(children, {
17809
- id: node.id,
17810
- name: node.itemName,
17811
- parentId: node.parentId,
17812
- level: 0,
17813
- expandable: true,
17814
- hasChild: true,
17815
- disabled: false
17816
- });
17817
- this.disabledList = this.disabledList.filter(x => children.filter(child => (x.id === child.id && x.parentId === child.parentId)).length === 0);
17818
18180
  this.disabledList = this.disabledList.filter(x => !(x.id === node.id && x.parentId === node.parentId));
18181
+ if (node.type === SelectOptionTypes.IncludeChildren) {
18182
+ let children = node.children;
18183
+ this.disabledList = this.disabledList.filter(x => children.filter(child => (x.id === child.id && x.parentId === child.parentId)).length === 0);
18184
+ }
17819
18185
  }
17820
18186
  }
17821
18187
  SelectIncludeChildrenPopUpComponent.decorators = [
@@ -18196,9 +18562,56 @@ class SelectOneDialog {
18196
18562
  children: [],
18197
18563
  parentId: node.parentId
18198
18564
  };
18199
- this.dataTrees.toArray()[0].todoFolderSelection([treeNode]);
18565
+ setTimeout(() => {
18566
+ this.dataTrees.toArray()[0].todoFolderSelection([treeNode]);
18567
+ this.expandAndScrollToNode(treeNode, node);
18568
+ }, 500);
18200
18569
  return;
18201
18570
  }
18571
+ expandAndScrollToNode(treeNode, node) {
18572
+ let parent;
18573
+ let parentList = [];
18574
+ parent = this.treeData.find(x => x.rootId === node.parentId);
18575
+ if (parent) {
18576
+ parentList.push({
18577
+ id: parent.rootId,
18578
+ itemName: parent.rootName,
18579
+ parentId: parent.parentId
18580
+ });
18581
+ parentList = this.getParentLineOfNode(parentList, parent);
18582
+ }
18583
+ if (parentList.length) {
18584
+ parentList.reverse().forEach(x => {
18585
+ this.focusEditItem(x);
18586
+ });
18587
+ }
18588
+ else {
18589
+ this.focusEditItem(treeNode);
18590
+ }
18591
+ }
18592
+ getParentLineOfNode(listParent, node) {
18593
+ let parent;
18594
+ parent = this.treeData.find(x => x.rootId === node.parentId);
18595
+ if (parent) {
18596
+ listParent = [...listParent, {
18597
+ id: parent.rootId,
18598
+ itemName: parent.rootName,
18599
+ parentId: parent.parentId
18600
+ }];
18601
+ this.getParentLineOfNode(listParent, parent);
18602
+ }
18603
+ return listParent;
18604
+ }
18605
+ focusEditItem(selectedOption) {
18606
+ const node = this.dataTrees.toArray()[0].getNodeByIdAndParentId(selectedOption.id, selectedOption.parentId);
18607
+ if (node) {
18608
+ this.dataTrees.toArray()[0].expandNode(node);
18609
+ const element = document.getElementById(`_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`);
18610
+ if (element) {
18611
+ element.scrollIntoView(false);
18612
+ }
18613
+ }
18614
+ }
18202
18615
  onCloseClick() {
18203
18616
  this.selectedFolder = null;
18204
18617
  this.dialogRef.close();
@@ -18322,7 +18735,7 @@ class SelectOneDialog {
18322
18735
  SelectOneDialog.decorators = [
18323
18736
  { type: Component, args: [{
18324
18737
  selector: 'qms-select-one',
18325
- template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <div class=\"search__module-result\" *ngIf=\"filteredOptions.length\">\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions()\"\r\n [value]=\"option\"\r\n (click)=\"selectItemSearched(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar col-12 qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData\"\r\n [treeConfig]=\"treeConfig\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"false\"\r\n [expandToChildNode]=\"expandToChildNode\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon (click)=\"removeCheckedNodeList()\">cancel</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
18738
+ template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <div class=\"search__module-result\" *ngIf=\"filteredOptions.length\">\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions()\"\r\n [value]=\"option\"\r\n (click)=\"selectItemSearched(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar col-12 qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData\"\r\n [treeConfig]=\"treeConfig\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"false\"\r\n [expandToChildNode]=\"expandToChildNode\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n\r\n <!-- <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon (click)=\"removeCheckedNodeList()\">cancel</mat-icon>\r\n </button>\r\n </div>\r\n </div> -->\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
18326
18739
  encapsulation: ViewEncapsulation.None,
18327
18740
  styles: [".qms-scrollbar::-webkit-scrollbar{width:12px}.qms-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms-scrollbar.none-scroll-bg::-webkit-scrollbar-track{background:transparent;background-clip:content-box}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:#fff;padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:#9e360f;margin-left:10px}.qms__danger .yellow{background-color:#e4cf53;margin-left:10px;color:#323232}.qms__danger .green{background-color:#00804c;margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:#f8f9f9}.confirm__button__groups .confirm:hover{background:#001983;color:#fff}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:#f8f9f9}.confirm__button__groups .cancel:hover{background:#001983;color:#fff}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:#eee}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel-tree .mat-expansion-panel-body{padding:0 12px 12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;margin-top:12px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}.qmslib__related__popup__container .panel__item .related__item__inline{max-width:100%}.qmslib__related__popup__container .panel__item .related__item__content{height:32px;line-height:32px;background-color:#e5e5e5;max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qmslib__related__popup__container .panel__item .related__item__content .mat-icon{color:#8e8e8e;font-size:24px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name{display:inline-block;min-width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}cdk-virtual-scroll-viewport{overflow-x:hidden}cdk-virtual-scroll-viewport .search__module-result{margin:1.5rem;padding:0 0 .5rem}cdk-virtual-scroll-viewport .search__module-result .search__module-title{font-size:14px;font-weight:600}cdk-virtual-scroll-viewport .search__module-result .search__option{height:auto;line-height:normal;padding:8px 0;border-bottom:1px solid #e0e0e0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item.mat-2-line.image-item{height:auto}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content{margin:0;border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square{width:2.5rem;height:100%;background:transparent;align-self:center;margin-right:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square img{width:24px;height:24px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .material-icons-outlined.leading-icon,cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content mat-icon.leading-icon{padding:4px 0 4px 4px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .subtitle{font-weight:400}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption{overflow:hidden;line-height:normal;white-space:normal;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0;margin:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption span.search__result__parent-name{display:inline-block;width:auto;width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .default-subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .search__description-icon{margin-right:0;width:12px;height:12px;font-size:12px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .qms-list-text{border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .breadcrumb-containe .qms-breadcrumb-item .mat-icon{font-size:16px!important;padding-bottom:1px}cdk-virtual-scroll-viewport .search__module-result svg{display:block}#qmslib_related_popup_header_001{margin-bottom:20px;padding:0;font-weight:600;font-family:Raleway}.padding-5{padding:5px}.mat-autocomplete_related-viewport{height:100%;max-height:100%!important}.mat-autocomplete_related-viewport .cdk-virtual-scroll-content-wrapper{width:100%}.mat-autocomplete_related-viewport .related-viewport{min-height:10.25rem}"]
18328
18741
  },] }
@@ -18733,12 +19146,15 @@ class NewTreeComponent {
18733
19146
  }
18734
19147
  checkDisabledList() {
18735
19148
  // Disable List
19149
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
19150
+ this.treeControl.dataNodes[i].disabled = false;
19151
+ }
18736
19152
  if (this.disabledList.length) {
18737
19153
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18738
19154
  this.disabledList.forEach(x => {
18739
19155
  var _a;
18740
- if (x.id === this.treeControl.dataNodes[i].id
18741
- && (!x.parentId || x.parentId === ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.parentId))) {
19156
+ if (x.id.toLowerCase() === this.treeControl.dataNodes[i].id.toLowerCase()
19157
+ && (!x.parentId || x.parentId.toLowerCase() === ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.parentId.toLowerCase()))) {
18742
19158
  this.treeControl.dataNodes[i].disabled = true;
18743
19159
  }
18744
19160
  });
@@ -19409,7 +19825,7 @@ class SelectProcessDocumentPopupComponent {
19409
19825
  });
19410
19826
  this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
19411
19827
  if (res && res.length) {
19412
- this.filteredOptions = res;
19828
+ this.filteredOptions = this.toRelatedOptions(res);
19413
19829
  }
19414
19830
  });
19415
19831
  this.globalService.splitViewValue.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
@@ -19501,6 +19917,11 @@ class SelectProcessDocumentPopupComponent {
19501
19917
  this.searchOrder = this.getSearchOrder();
19502
19918
  }
19503
19919
  ngAfterViewChecked() {
19920
+ this.cdRef.detectChanges();
19921
+ if (this.filteredOptions && this.filteredOptions.length) {
19922
+ // this.autoComplete.openPanel();
19923
+ this.setResultHeight();
19924
+ }
19504
19925
  }
19505
19926
  removeCheckedNodeList(item) {
19506
19927
  this.selectedData = [];
@@ -19602,136 +20023,36 @@ class SelectProcessDocumentPopupComponent {
19602
20023
  this.selectedNode = [];
19603
20024
  if (this.treeConfig1.showCheckBox) {
19604
20025
  index = this.checkedNodeList.findIndex(x => {
19605
- return x.id === item.id && x.parentId === item.parentId;
20026
+ return x.id.toLowerCase() === item.id.toLowerCase() && x.parentId.toLowerCase() === item.parentId.toLowerCase() && x.itemType === item.itemType;
19606
20027
  });
19607
20028
  }
19608
20029
  if (index < 0) {
19609
- let position = -1;
19610
- let node;
19611
- let typeId;
19612
- if (item.itemType === this.dataType.document) {
20030
+ if (item.itemType === this.dataType.document || item.itemType === this.dataType.folder) {
19613
20031
  // document
19614
20032
  const isExistInDisabled = this.disabledList2.findIndex(x => {
19615
- return x.id && x.id.toLowerCase() === item.id.toLowerCase();
19616
- });
19617
- if (isExistInDisabled >= 0) {
20033
+ var _a;
20034
+ return ((_a = x.id) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase() && x.itemType === item.itemType);
20035
+ }) >= 0;
20036
+ if (isExistInDisabled) {
19618
20037
  return;
19619
20038
  }
19620
- position = this.treeData2.findIndex(x => {
19621
- return x.id === item.id && x.parentId === item.parentId && !x.expandable;
19622
- });
19623
- if (position >= 0) {
19624
- this.addToChecklistNodeAndSelectedData(item);
19625
- node = this.treeData2[position];
19626
- typeId = this.dataType.document;
19627
- const treeNode = {
19628
- id: node.childId,
19629
- name: node.childName,
19630
- children: [],
19631
- parentId: node.rootId,
19632
- expandable: false
19633
- };
19634
- this.dataTrees.toArray()[1].todoItemSelectionProcessDocument([treeNode]);
19635
- }
19636
- else {
19637
- this.addNodeToTree(item);
19638
- this.addToChecklistNodeAndSelectedData(item);
19639
- setTimeout(() => {
19640
- const treeNode = {
19641
- id: item.id,
19642
- name: item.itemName,
19643
- children: [],
19644
- parentId: item.parentId,
19645
- expandable: false
19646
- };
19647
- this.dataTrees.toArray()[1].todoItemSelectionProcessDocument([treeNode]);
19648
- }, 500);
19649
- }
19650
- }
19651
- else if (item.itemType === this.dataType.folder) {
19652
- position = this.treeData2.findIndex(x => {
19653
- return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase());
19654
- });
19655
- typeId = item.itemType;
19656
- if (position >= 0) {
19657
- node = this.treeData2[position];
19658
- const treeNode = {
19659
- id: node.id,
19660
- name: node.name,
19661
- children: [],
19662
- parentId: node.parentId,
19663
- expandable: true,
19664
- };
19665
- this.dataTrees.toArray()[1].todoFolderSelection([treeNode]);
19666
- }
19667
- else {
19668
- this.addNodeToTree(item);
19669
- this.addToChecklistNodeAndSelectedData(item);
19670
- }
19671
- return;
19672
- }
19673
- else if (item.itemType === this.dataType.area) {
19674
- position = this.treeData1.findIndex(x => {
19675
- return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase()) && x.expandable;
19676
- });
19677
- typeId = item.itemType;
19678
- if (position >= 0) {
19679
- node = this.treeData1[position];
19680
- const treeNode = {
19681
- id: node.id,
19682
- name: node.name,
19683
- children: [],
19684
- parentId: node.parentId,
19685
- expandable: true
19686
- };
19687
- this.dataTrees.toArray()[0].todoFolderSelection([treeNode]);
19688
- }
19689
- else {
19690
- this.addNodeToTree(item);
19691
- this.addToChecklistNodeAndSelectedData(item);
19692
- }
19693
- return;
20039
+ this.addToChecklistNodeAndSelectedData(item);
19694
20040
  }
19695
- else {
20041
+ else if (item.itemType === this.dataType.area || item.itemType === this.dataType.process) {
19696
20042
  const isExistInDisabled = this.disabledList.findIndex(x => {
19697
- return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase());
19698
- });
19699
- if (isExistInDisabled >= 0) {
20043
+ var _a;
20044
+ return ((_a = x.id) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase() && x.itemType === item.itemType);
20045
+ }) >= 0;
20046
+ if (isExistInDisabled) {
19700
20047
  return;
19701
20048
  }
19702
- position = this.treeData1.findIndex(x => {
19703
- return x.id.toLowerCase() === item.id.toLowerCase() && x.parentId.toLowerCase() === item.parentId.toLowerCase() && !x.expandable;
19704
- });
19705
- if (position >= 0) {
19706
- node = this.treeData1[position];
19707
- typeId = this.itemType;
19708
- const treeNode = {
19709
- id: node.childId,
19710
- name: node.childName,
19711
- children: [],
19712
- parentId: node.rootId,
19713
- expandable: false
19714
- };
19715
- this.addToChecklistNodeAndSelectedData(item);
19716
- this.dataTrees.toArray()[0].todoItemSelectionProcessDocument([treeNode]);
19717
- }
19718
- else {
19719
- this.addNodeToTree(item);
19720
- this.addToChecklistNodeAndSelectedData(item);
19721
- setTimeout(() => {
19722
- const treeNode = {
19723
- id: item.id,
19724
- name: item.itemName,
19725
- children: [],
19726
- parentId: item.parentId,
19727
- expandable: false
19728
- };
19729
- this.dataTrees.toArray()[0].todoItemSelectionProcessDocument([treeNode]);
19730
- }, 500);
19731
- }
20049
+ this.addToChecklistNodeAndSelectedData(item);
19732
20050
  }
19733
20051
  }
19734
20052
  }
20053
+ displayWhenSelectRelatedOption($event) {
20054
+ return '';
20055
+ }
19735
20056
  addNodeToTree(item) {
19736
20057
  let newNodeDocs = new NewTreeModel();
19737
20058
  newNodeDocs.id = item.id;
@@ -19772,30 +20093,34 @@ class SelectProcessDocumentPopupComponent {
19772
20093
  (!newNodeDocs.parentId || x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) && x.expandable === newNodeDocs.expandable);
19773
20094
  if (index < 0) {
19774
20095
  if (item.itemType == DataType$1.folder || item.itemType == DataType$1.document) {
19775
- this.documentCheckedList.push({
19776
- id: newNodeDocs.id,
19777
- name: newNodeDocs.name,
19778
- itemType: item.itemType,
19779
- parentId: newNodeDocs.parentId,
19780
- levelType: newNodeDocs.levelType,
19781
- level: 0,
19782
- disabled: false,
19783
- expandable: newNodeDocs.expandable,
19784
- hasChild: newNodeDocs.expandable
19785
- });
20096
+ if (this.documentCheckedList.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() && x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) < 0) {
20097
+ this.documentCheckedList.push({
20098
+ id: newNodeDocs.id,
20099
+ name: newNodeDocs.name,
20100
+ itemType: item.itemType,
20101
+ parentId: newNodeDocs.parentId,
20102
+ levelType: newNodeDocs.levelType,
20103
+ level: 0,
20104
+ disabled: false,
20105
+ expandable: newNodeDocs.expandable,
20106
+ hasChild: newNodeDocs.expandable
20107
+ });
20108
+ }
19786
20109
  }
19787
20110
  else {
19788
- this.commonCheckedList.push({
19789
- id: newNodeDocs.id,
19790
- name: newNodeDocs.name,
19791
- itemType: item.itemType,
19792
- parentId: newNodeDocs.parentId,
19793
- levelType: newNodeDocs.levelType,
19794
- level: 0,
19795
- disabled: false,
19796
- expandable: newNodeDocs.expandable,
19797
- hasChild: newNodeDocs.expandable
19798
- });
20111
+ if (this.commonCheckedList.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() && x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) < 0) {
20112
+ this.commonCheckedList.push({
20113
+ id: newNodeDocs.id,
20114
+ name: newNodeDocs.name,
20115
+ itemType: item.itemType,
20116
+ parentId: newNodeDocs.parentId,
20117
+ levelType: newNodeDocs.levelType,
20118
+ level: 0,
20119
+ disabled: false,
20120
+ expandable: newNodeDocs.expandable,
20121
+ hasChild: newNodeDocs.expandable
20122
+ });
20123
+ }
19799
20124
  }
19800
20125
  this.checkedNodeList.push({
19801
20126
  moduleId: this.moduleId,
@@ -19874,6 +20199,7 @@ class SelectProcessDocumentPopupComponent {
19874
20199
  level: 0,
19875
20200
  disabled: false,
19876
20201
  hasChild: item.itemType == DataType$1.area || item.itemType == DataType$1.folder,
20202
+ itemType: item.itemType
19877
20203
  });
19878
20204
  }
19879
20205
  setTypeProcess(expand) {
@@ -20038,7 +20364,7 @@ class SelectProcessDocumentPopupComponent {
20038
20364
  return;
20039
20365
  }
20040
20366
  const index = this.checkedNodeList.findIndex(x => x.id.toLowerCase() === node.id.toLowerCase()
20041
- && (!node.parentId || x.parentId.toLowerCase() === node.parentId.toLowerCase()) && x.itemType == node.itemType);
20367
+ && (!node.parentId || x.parentId.toLowerCase() === node.parentId.toLowerCase()) && x.itemType === node.itemType);
20042
20368
  if (index >= 0) {
20043
20369
  this.removeCheckedNodeList({
20044
20370
  id: node.id,
@@ -20111,13 +20437,24 @@ class SelectProcessDocumentPopupComponent {
20111
20437
  this.onSelectFolderItem.emit(item);
20112
20438
  }
20113
20439
  }
20440
+ hasSelected(related) {
20441
+ const arrDisabledList = this.disabledList.concat(this.disabledList2);
20442
+ return arrDisabledList.some(node => node.id.toUpperCase() === related.id.toUpperCase());
20443
+ }
20444
+ toRelatedOptions(relateds) {
20445
+ const results = [];
20446
+ for (const related of relateds) {
20447
+ results.push(Object.assign(Object.assign({}, related), { disabled: this.hasSelected(related) }));
20448
+ }
20449
+ return results;
20450
+ }
20114
20451
  }
20115
20452
  SelectProcessDocumentPopupComponent.decorators = [
20116
20453
  { type: Component, args: [{
20117
20454
  selector: 'qms-select-process-document',
20118
- 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 ",
20455
+ 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 *ngIf=\"filteredOptions.length\"\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 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 ",
20119
20456
  encapsulation: ViewEncapsulation.None,
20120
- 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}"]
20457
+ 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:300px}"]
20121
20458
  },] }
20122
20459
  ];
20123
20460
  SelectProcessDocumentPopupComponent.ctorParameters = () => [
@@ -20240,9 +20577,10 @@ class QMSNavigationDrawerComponent {
20240
20577
  }
20241
20578
  });
20242
20579
  }
20243
- onClickNode(nodeId) {
20244
- this.activeNode = nodeId;
20245
- this.onClickNodeEvent.emit(nodeId);
20580
+ onClickNode(node) {
20581
+ this.onClickToggleNode(node);
20582
+ this.activeNode = node.id;
20583
+ this.onClickNodeEvent.emit(node.id);
20246
20584
  }
20247
20585
  onOver(node) {
20248
20586
  this.hoverNode = node;
@@ -20498,8 +20836,8 @@ class QMSNavigationDrawerComponent {
20498
20836
  QMSNavigationDrawerComponent.decorators = [
20499
20837
  { type: Component, args: [{
20500
20838
  selector: 'app-qms-navigation-drawer',
20501
- 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\" (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), 'active': activeNode == node.id}\">\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\">\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\" (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), 'active': activeNode == node.id}\">\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\">\r\n add\r\n </mat-icon>\r\n </button>\r\n </div>\r\n </mat-tree-node>\r\n</mat-tree>",
20502
- 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.active{background-color:#f2f7fd}::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}::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!important}::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}"]
20839
+ template: "\r\n<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\" (mouseover)=\"onOver(node)\" matTreeNodePadding matTreeNodePaddingIndent=\"34\"\r\n cdkDrag [cdkDragData]=\"node\" (mouseenter)=\"dragHover(node)\" (mouseleave)=\"dragHoverEnd()\"\r\n (cdkDragStarted)=\"dragStart()\" (cdkDragReleased)=\"dragEnd()\"\r\n [ngClass]=\"{'expand-node' : treeControl.isExpanded(node), 'collapse-node': !treeControl.isExpanded(node), 'active': activeNode == node.id}\">\r\n <div *ngIf=\"!node.isReadOnly\" (click)=\"onClickNode(node)\" class=\"tree-content\">\r\n <button tabindex=\"-1\" qms-btn-outlined disabled class=\"border-0 bg-transparent\">\r\n <img class=\"img-icon\" [src]=\"faIconPath\" alt=\"\" />\r\n </button>\r\n <div class=\"span-text\">{{ node.name }}</div>\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 && isHover)}\"\r\n qms-tool-tip=\"{{!node.favorite ? addFavoriteTooltip : deleteFavoriteTooltip}}\" mode=\"dark\" position=\"bottom\"\r\n qms-btn-icon>\r\n <mat-icon class=\"mat-icon-rtl-mirror blur-icon\" [class.favorite]=\"true\"\r\n [class.not-favorite]=\"!node.favorite && node.id === hoverNode.id && isHover\">\r\n {{node.favorite && node.id === hoverNode.id && isHover ? 'star_rate_outline' : ''}}\r\n {{!node.favorite && node.id === hoverNode.id && isHover ? 'star_border' : ''}}\r\n </mat-icon>\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\" *ngIf=\"node.id === hoverNode.id && isHover\"\r\n qms-tool-tip=\"{{addNodeTooltip}}\" (click)=\"addNewNode(node.id, $event)\" mode=\"dark\" position=\"bottom\" qms-btn-icon>\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\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\" (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]=\"\r\n {'expand-node' : treeControl.isExpanded(node), 'collapse-node': !treeControl.isExpanded(node), 'active': activeNode == node.id}\">\r\n <div *ngIf=\"!node.isReadOnly\" matTreeNodeToggle (click)=\"onClickNode(node)\" class=\"tree-content\"\r\n (keydown)=\"onKeyDownNode($event, node)\">\r\n <button tabindex=\"-1\" class=\"button-icon collapse-expand-icon\" qms-btn-icon [attr.aria-label]=\"'toggle ' + node.name\">\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 <div class=\"span-text\">{{ node.name }}</div>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\"\r\n qms-tool-tip=\"{{!node.favorite ? addFavoriteTooltip : deleteFavoriteTooltip}}\"\r\n *ngIf=\"showFavoriteIcon && (node.id === hoverNode.id || node.favorite)\"\r\n (click)=\"addFavoriteNode(node.id, $event)\" [ngClass]=\"{'btn-favorite': (node.id === hoverNode.id && isHover)}\"\r\n (mouseenter)=\"setHoverFavorite(node.id)\" (mouseleave)=\"setHoverFavorite(null)\" mode=\"dark\" position=\"below\"\r\n qms-btn-icon>\r\n <mat-icon class=\"mat-icon-rtl-mirror blur-icon\" [class.favorite]=\"true\"\r\n [class.not-favorite]=\"!node.favorite && node.id === hoverNode.id && isHover\">\r\n {{node.favorite && node.id === hoverNode.id && isHover ? 'star_rate_outline' : ''}}\r\n {{!node.favorite && node.id === hoverNode.id && isHover ? 'star_border' : ''}}\r\n </mat-icon>\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\" *ngIf=\"node.id === hoverNode.id && isHover\"\r\n qms-tool-tip=\"{{addNodeTooltip}}\" mode=\"dark\" position=\"bottom\" (click)=\"addNewNode(node.id, $event)\" qms-btn-icon>\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n add\r\n </mat-icon>\r\n </button>\r\n </div>\r\n </mat-tree-node>\r\n</mat-tree>\r\n",
20840
+ 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.active{background-color:#f2f7fd;color:#1954a9!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.active img{filter:opacity(.5) drop-shadow(0 0 0 #1954A9)}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.active:hover{background-color:#e5eefb!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content{width:100%;position:relative;cursor:pointer;align-items:center}::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: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}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.expand-node:hover{background-color:#e5eefb!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{display:flex}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .button-icon{width:40px;height:40px;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;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%;color:rgba(0,0,0,.6)}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .favorite{color:#b13514!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .not-favorite{color:rgba(0,0,0,.6)!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .btn-favorite{right:6px;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:7px;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}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node:hover .span-text{max-width:calc(100% - 96px)}"]
20503
20841
  },] }
20504
20842
  ];
20505
20843
  QMSNavigationDrawerComponent.ctorParameters = () => [];
@@ -20533,11 +20871,11 @@ QMSNavigationDrawerModule.decorators = [
20533
20871
  CommonModule,
20534
20872
  MatIconModule,
20535
20873
  MatToolbarModule,
20536
- MatButtonModule,
20537
20874
  QMSButtonModule,
20538
20875
  MatTooltipModule,
20539
20876
  DragDropModule,
20540
- MatTreeModule
20877
+ MatTreeModule,
20878
+ QmsAngularModule
20541
20879
  ],
20542
20880
  exports: [
20543
20881
  QMSNavigationDrawerComponent
@@ -20699,11 +21037,11 @@ class QMSPaginatorComponent {
20699
21037
  QMSPaginatorComponent.decorators = [
20700
21038
  { type: Component, args: [{
20701
21039
  selector: 'qms-paginator',
20702
- template: "<div class=\"qms-paginator-outer-container\" [class.size-small]='size == sizeSmall'>\r\n <div class=\"mat-paginator-container\" *ngIf='size != sizeMobile'>\r\n <div class=\"qms-total-result\">\r\n <span>Resultater: {{length}}</span>\r\n </div>\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeSmall'>\r\n <div class=\"qms-pagesize-label\">Rader per side:</div>\r\n <mat-form-field\r\n qms-form\r\n qms-select-input\r\n class=\"qms-form-page-size\"\r\n appearance=\"fill\">\r\n <mat-select\r\n panelClass=\"qms-select-panel\"\r\n [value]=\"pageSize\"\r\n (selectionChange)=\"_changePageSize($event.value)\"\r\n qms-select>\r\n <mat-option *ngFor=\"let item of pageSizeOptions\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeMedium && size != sizeSmall'>\r\n <div class=\"qms-pagesize-label \">Hopp til side:</div>\r\n\r\n <mat-form-field\r\n qms-form\r\n qms-select-input\r\n class=\"qms-form-page-size\"\r\n appearance=\"fill\">\r\n <mat-select\r\n panelClass=\"qms-select-panel\"\r\n [value]=\"pageIndex\"\r\n (selectionChange)=\"_changePageNumber($event.value)\"\r\n qms-select>\r\n <mat-option *ngFor=\"let item of numberOfPages\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field> \r\n </div>\r\n <div class=\"qms-paginator-range-actions\">\r\n <button qms-btn-icon color=\"light\" (click)='previousPage()' [disabled]='minPage == pageIndex'>\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n <ng-container *ngFor='let item of displayNumberOfPages' >\r\n <span *ngIf='item == \"...\"' class=\"qms-3d\">{{item}}</span>\r\n <button *ngIf='item != \"...\"' qms-btn-icon color=\"light\" active=\"true\" \r\n [class.selected]='pageIndex == item' [disabled]='pageIndex == item'\r\n (click)='changePage(item)'>\r\n {{item}}\r\n </button>\r\n </ng-container>\r\n \r\n <button qms-btn-icon color=\"light\" (click)='nextPage()' [disabled]='maxpage == pageIndex'>\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mat-paginator-container-mobile\" *ngIf='size == sizeMobile'>\r\n <div class=\"mat-paginator-container\" *ngIf='size == sizeMobile'>\r\n <div class=\"qms-paginator-range-actions\">\r\n <button qms-btn-icon color=\"light\" (click)='previousPage()' [disabled]='minPage == pageIndex'>\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n <ng-container *ngFor='let item of displayNumberOfPages' >\r\n <span *ngIf='item == \"...\"' class=\"qms-3d\">{{item}}</span>\r\n <button *ngIf='item != \"...\"' qms-btn-icon color=\"light\" active=\"true\" \r\n [class.selected]='pageIndex == item' [disabled]='pageIndex == item'\r\n (click)='changePage(item)'>\r\n {{item}}\r\n </button>\r\n </ng-container>\r\n \r\n <button qms-btn-icon color=\"light\" (click)='nextPage()' [disabled]='maxpage == pageIndex'>\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"qms-total-result\">\r\n <span>Resultater: {{length}}</span>\r\n </div>\r\n <div style=\"display: flex;\">\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeSmall'>\r\n <div class=\"qms-pagesize-label\">Rader per side:</div>\r\n <mat-form-field\r\n qms-form\r\n qms-select-input\r\n class=\"qms-form-page-size\"\r\n appearance=\"fill\">\r\n <mat-select\r\n panelClass=\"qms-select-panel\"\r\n [value]=\"pageSize\"\r\n (selectionChange)=\"_changePageSize($event.value)\"\r\n qms-select>\r\n <mat-option *ngFor=\"let item of pageSizeOptions\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeMedium && size != sizeSmall'>\r\n <div class=\"qms-pagesize-label \">Hopp til side:</div>\r\n <mat-form-field\r\n qms-form\r\n qms-select-input\r\n class=\"qms-form-page-size\"\r\n appearance=\"fill\">\r\n <mat-select\r\n panelClass=\"qms-select-panel\"\r\n [value]=\"pageIndex\"\r\n (selectionChange)=\"_changePageNumber($event.value)\"\r\n qms-select>\r\n <mat-option *ngFor=\"let item of numberOfPages\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field> \r\n </div>\r\n </div>\r\n \r\n </div>\r\n \r\n</div>",
21040
+ template: "<div class=\"qms-paginator-outer-container\" [class.size-small]='size == sizeSmall'>\r\n <div class=\"mat-paginator-container\" *ngIf='size != sizeMobile'>\r\n <div class=\"qms-total-result\">\r\n <span>Resultater: {{length}}</span>\r\n </div>\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeSmall'>\r\n <div class=\"qms-pagesize-label\">Rader per side:</div>\r\n <mat-form-field\r\n qms-form\r\n qms-select-input\r\n class=\"qms-form-page-size\"\r\n appearance=\"fill\">\r\n <mat-select\r\n panelClass=\"qms-select-panel\"\r\n [value]=\"pageSize\"\r\n (selectionChange)=\"_changePageSize($event.value)\"\r\n qms-select>\r\n <mat-option *ngFor=\"let item of pageSizeOptions\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeMedium && size != sizeSmall'>\r\n <div class=\"qms-pagesize-label \">Hopp til side:</div>\r\n\r\n <mat-form-field\r\n qms-form\r\n qms-select-input\r\n class=\"qms-form-page-size\"\r\n appearance=\"fill\">\r\n <mat-select\r\n panelClass=\"qms-select-panel\"\r\n [value]=\"pageIndex\"\r\n (selectionChange)=\"_changePageNumber($event.value)\"\r\n qms-select>\r\n <mat-option *ngFor=\"let item of numberOfPages\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field> \r\n </div>\r\n <div class=\"qms-paginator-range-actions\">\r\n <button qms-btn-icon color=\"light\" (click)='previousPage()' [disabled]='minPage == pageIndex'>\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n <ng-container *ngFor='let item of displayNumberOfPages' >\r\n <span *ngIf='item == \"...\"' class=\"qms-3d\">{{item}}</span>\r\n <button *ngIf='item != \"...\"' qms-btn-icon color=\"light\" \r\n [class.selected]='pageIndex == item' [disabled]='pageIndex == item'\r\n (click)='changePage(item)'>\r\n {{item}}\r\n </button>\r\n </ng-container>\r\n \r\n <button qms-btn-icon color=\"light\" (click)='nextPage()' [disabled]='maxpage == pageIndex'>\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mat-paginator-container-mobile\" *ngIf='size == sizeMobile'>\r\n <div class=\"mat-paginator-container\" *ngIf='size == sizeMobile'>\r\n <div class=\"qms-paginator-range-actions\">\r\n <button qms-btn-icon color=\"light\" (click)='previousPage()' [disabled]='minPage == pageIndex'>\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n <ng-container *ngFor='let item of displayNumberOfPages' >\r\n <span *ngIf='item == \"...\"' class=\"qms-3d\">{{item}}</span>\r\n <button *ngIf='item != \"...\"' qms-btn-icon color=\"light\" \r\n [class.selected]='pageIndex == item' [disabled]='pageIndex == item'\r\n (click)='changePage(item)'>\r\n {{item}}\r\n </button>\r\n </ng-container>\r\n \r\n <button qms-btn-icon color=\"light\" (click)='nextPage()' [disabled]='maxpage == pageIndex'>\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"qms-total-result\">\r\n <span>Resultater: {{length}}</span>\r\n </div>\r\n <div style=\"display: flex;\">\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeSmall'>\r\n <div class=\"qms-pagesize-label\">Rader per side:</div>\r\n <mat-form-field\r\n qms-form\r\n qms-select-input\r\n class=\"qms-form-page-size\"\r\n appearance=\"fill\">\r\n <mat-select\r\n panelClass=\"qms-select-panel\"\r\n [value]=\"pageSize\"\r\n (selectionChange)=\"_changePageSize($event.value)\"\r\n qms-select>\r\n <mat-option *ngFor=\"let item of pageSizeOptions\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeMedium && size != sizeSmall'>\r\n <div class=\"qms-pagesize-label \">Hopp til side:</div>\r\n <mat-form-field\r\n qms-form\r\n qms-select-input\r\n class=\"qms-form-page-size\"\r\n appearance=\"fill\">\r\n <mat-select\r\n panelClass=\"qms-select-panel\"\r\n [value]=\"pageIndex\"\r\n (selectionChange)=\"_changePageNumber($event.value)\"\r\n qms-select>\r\n <mat-option *ngFor=\"let item of numberOfPages\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field> \r\n </div>\r\n </div>\r\n \r\n </div>\r\n \r\n</div>",
20703
21041
  host: {
20704
21042
  'class': 'qms-paginator'
20705
21043
  },
20706
- styles: ["::ng-deep .qms-paginator{display:block}::ng-deep .qms-paginator .qms-paginator-outer-container{display:flex}::ng-deep .qms-paginator .mat-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap-reverse;width:100%}::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{margin-right:24px;margin-bottom:15px}::ng-deep .qms-paginator .mat-paginator-container .qms-total-result span{font-weight:400;font-size:14px;line-height:22px;color:rgba(0,0,0,.6)}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size{margin-right:24px;display:flex;align-items:baseline}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-pagesize-label{font-weight:400;font-size:14px;line-height:22px;color:#323232;font-family:Open Sans;font-style:normal;margin-right:8px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-form-page-size .mat-form-field-flex{width:80px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .jump-page .mat-form-field-wrapper .mat-form-field-flex{width:55px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .mat-form-field-flex{height:40px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .mat-form-field-flex .mat-form-field-infix{padding-top:7px;border-top:0;padding-bottom:0}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions{display:flex;align-items:center;margin-bottom:15px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions .selected{background-color:#e5eefb;color:#1954a9}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions .qms-3d{font-weight:600;font-size:14px;line-height:22px;color:#323232}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-total-result{margin-bottom:16px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-total-result span{font-family:Open Sans;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:rgba(0,0,0,.6)}::ng-deep .qms-paginator .mat-paginator-container-mobile .mat-paginator-container{justify-content:flex-start}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size{margin-right:24px;display:flex;align-items:baseline}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-pagesize-label{font-weight:400;font-size:12px;line-height:22px;color:#323232;font-family:Open Sans;font-style:normal;margin-right:8px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-form-page-size .mat-form-field-flex{width:80px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .jump-page .mat-form-field-wrapper .mat-form-field-flex{width:55px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .mat-form-field-flex{height:40px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .mat-form-field-flex .mat-form-field-infix{padding-top:7px;border-top:0;padding-bottom:0}::ng-deep .qms-paginator .size-small .mat-paginator-container{justify-content:flex-start}"]
21044
+ styles: ["::ng-deep .qms-paginator{display:block}::ng-deep .qms-paginator .qms-paginator-outer-container{display:flex}::ng-deep .qms-paginator .mat-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap-reverse;width:100%}::ng-deep .qms-paginator .mat-paginator-container .mat-select .mat-select-arrow{margin-top:17.5px}::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{margin-right:24px;margin-bottom:15px}::ng-deep .qms-paginator .mat-paginator-container .qms-total-result span{font-weight:400;font-size:14px;line-height:22px;color:rgba(0,0,0,.6)}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size{margin-right:24px;display:flex;align-items:baseline}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-pagesize-label{font-weight:400;font-size:14px;line-height:22px;color:#323232;font-family:Open Sans;font-style:normal;margin-right:8px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-form-page-size .mat-form-field-flex{width:80px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .jump-page .mat-form-field-wrapper .mat-form-field-flex{width:55px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .mat-form-field-flex{height:40px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .mat-form-field-flex .mat-form-field-infix{padding-top:7px;border-top:0;padding-bottom:0}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions{display:flex;align-items:center;margin-bottom:15px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions .selected{background-color:#e5eefb;color:#1954a9}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions .qms-3d{font-weight:600;font-size:14px;line-height:22px;color:#323232}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions button:not(.qms-btn-disabled) .qms-btn-icon-wrapper{color:#323232}::ng-deep .qms-paginator .mat-paginator-container-mobile .mat-select .mat-select-arrow{margin-top:17.5px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-total-result{margin-bottom:16px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-total-result span{font-family:Open Sans;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:rgba(0,0,0,.6)}::ng-deep .qms-paginator .mat-paginator-container-mobile .mat-paginator-container{justify-content:flex-start}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size{margin-right:24px;display:flex;align-items:baseline}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-pagesize-label{font-weight:400;font-size:12px;line-height:22px;color:#323232;font-family:Open Sans;font-style:normal;margin-right:8px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-form-page-size .mat-form-field-flex{width:80px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .jump-page .mat-form-field-wrapper .mat-form-field-flex{width:55px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .mat-form-field-flex{height:40px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .mat-form-field-flex .mat-form-field-infix{padding-top:7px;border-top:0;padding-bottom:0}::ng-deep .qms-paginator .size-small .mat-paginator-container{justify-content:flex-start}"]
20707
21045
  },] }
20708
21046
  ];
20709
21047
  QMSPaginatorComponent.ctorParameters = () => [];
@@ -20748,5 +21086,5 @@ QmsPaginatorModule.decorators = [
20748
21086
  * Generated bundle index. Do not edit.
20749
21087
  */
20750
21088
 
20751
- 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, PaginationSize, 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, QMSCKEditorFlowchart, QMSCKEditorFlowchartService, QMSCKEditorFullscreenComponent, QMSCKEditorGlobalService, QMSCKEditorInjector, QMSCKEditorLinkAnchorDocument, QMSCKEditorLinkComponent, QMSCKEditorLinkService, QMSCKEditorLoadTemplateComponent, QMSCKEditorModule, QMSCKEditorPlugin, QMSCKEditorRelatedComponent, QMSCKEditorRelation, QMSCKEditorSaveAsTemplate, 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, QMSPaginatorComponent, 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, QmsPaginatorModule, QmsReportContentPortraitComponent, QmsReportCoverPortraitComponent, QmsReportModule, QmsStatusDropdownComponent, QmsStatusDropdownModule, QmsStatusDropdownOption, QmsStatusDropdownType, QmsStepperComponent, QmsStepperModule, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON, RelatedConst, RelatedContentComponent, RelatedItemType, RelatedListComponent, RelatedPopupComponent, Result, RiskAnalysis, RiskAnalysisComponent, RiskDanger, RiskListComponent, RiskResult, RiskResultComponent, SaveTemplateComponent, ScrollToSelectedDirective, 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, QMSCKEditorBpmnData as ɵi };
21089
+ 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, PaginationSize, 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, QMSCKEditorFlowchart, QMSCKEditorFlowchartService, QMSCKEditorFullscreenComponent, QMSCKEditorGlobalService, QMSCKEditorInjector, QMSCKEditorLinkAnchorDocument, QMSCKEditorLinkComponent, QMSCKEditorLinkService, QMSCKEditorLoadTemplateComponent, QMSCKEditorModule, QMSCKEditorPlugin, QMSCKEditorRelatedComponent, QMSCKEditorRelation, QMSCKEditorSaveAsTemplate, 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, QMSPaginatorComponent, QMSProcessDocumentItem, QMSRangeSliderDirective, QMSRangeSliderLockUpDirective, QMSRangeSliderModule, QMSRelatedGlobalService, QMSRelatedModule, QMSRichText, QMSRichTextModule, QMSRowDetailDirective, QMSScrolableAttachmentListDirective, QMSScrollbarDirective, QMSSearchFieldDirective, QMSSelectGlobalService, QMSSelectIncludeChildrenModule, QMSSelectOneGlobalService, QMSSelectOneModule, QMSSelectProcessDocumentGlobalService, QMSSelectProcessDocumentModule, QMSSideSheetModule, QMSSnackbarConfig, QMSSuffixDirective, QMSSuffixFieldDirective, QMSTabGroupAdvancedDirective, QMSTabGroupDirective, QMSTabLabelDirective, QMSTabModule, QMSTableAction, QMSTableActionBlock, QMSTableChildrenDirective, QMSTableDirective, QMSTableModule, QMSTableRowDirective, 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, QmsPaginatorModule, QmsReportContentPortraitComponent, QmsReportCoverPortraitComponent, QmsReportModule, QmsStatusDropdownComponent, QmsStatusDropdownModule, QmsStatusDropdownOption, QmsStatusDropdownType, QmsStepperComponent, QmsStepperModule, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON, RelatedConst, RelatedContentComponent, RelatedItemType, RelatedListComponent, RelatedPopupComponent, Result, RiskAnalysis, RiskAnalysisComponent, RiskDanger, RiskListComponent, RiskResult, RiskResultComponent, SaveTemplateComponent, ScrollToSelectedDirective, 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, QMSCKEditorTreeService as ɵb, QMSCKEditorTemplateComponent as ɵc, LinkAttachmentComponent as ɵd, QMSCKEditorTooltipComponent as ɵe, QMSCKEditorTooltip as ɵf, QMSCKEditorImageMapComponent as ɵg, QMSCKEditorImageMap as ɵh, QMSCKEditorUploadService as ɵi, QMSCKEditorBpmnData as ɵj, QMSCKEditorAboutComponent as ɵk };
20752
21090
  //# sourceMappingURL=qms-angular.js.map