qms-angular 1.0.70 → 1.0.74

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 (250) hide show
  1. package/bundles/qms-angular.umd.js +2010 -606
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/button/button.js +2 -2
  4. package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.js +5 -3
  5. package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.module.js +4 -4
  6. package/esm2015/lib/components/qms-paginator/index.js +2 -0
  7. package/esm2015/lib/components/qms-paginator/public_api.js +3 -0
  8. package/esm2015/lib/components/qms-paginator/qms-paginator.component.js +173 -0
  9. package/esm2015/lib/components/qms-paginator/qms-paginator.module.js +34 -0
  10. package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.component.js +2 -2
  11. package/esm2015/lib/components/range-slider/directives/range-slider-lockup.directive.js +20 -0
  12. package/esm2015/lib/components/range-slider/directives/range-slider.directive.js +34 -0
  13. package/esm2015/lib/components/range-slider/index.js +2 -0
  14. package/esm2015/lib/components/range-slider/public-api.js +4 -0
  15. package/esm2015/lib/components/range-slider/range-slider.module.js +22 -0
  16. package/esm2015/lib/components/related/popup/related-popup.component.js +1 -1
  17. package/esm2015/lib/components/select-include-children/select-include-children.component.js +112 -45
  18. package/esm2015/lib/components/select-one/select-one.component.js +50 -3
  19. package/esm2015/lib/components/side-sheet/directives/drawer-content.directive.js +20 -0
  20. package/esm2015/lib/components/side-sheet/directives/drawer-header-action.directive.js +20 -0
  21. package/esm2015/lib/components/side-sheet/directives/drawer-header.directive.js +20 -0
  22. package/esm2015/lib/components/side-sheet/directives/drawer.directive.js +20 -0
  23. package/esm2015/lib/components/side-sheet/index.js +2 -0
  24. package/esm2015/lib/components/side-sheet/public-api.js +6 -0
  25. package/esm2015/lib/components/side-sheet/side-sheet.module.js +28 -0
  26. package/esm2015/lib/components/tree/tree.component.js +15 -19
  27. package/esm2015/lib/components/treeNew/tree.component.js +6 -3
  28. package/esm2015/lib/directives/table/table-row.directive.js +42 -0
  29. package/esm2015/lib/directives/table/table.directive.js +13 -60
  30. package/esm2015/lib/model/en.js +38 -3
  31. package/esm2015/lib/model/no.js +37 -2
  32. package/esm2015/lib/qms-angular.module.js +5 -24
  33. package/esm2015/lib/qms-ckeditor-components/common/bpmn/inspector.function.js +68 -16
  34. package/esm2015/lib/qms-ckeditor-components/common/classes/qmsUploadAdapter.js +89 -0
  35. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.js +7 -1
  36. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.js +10 -1
  37. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorLink.constant.js +7 -0
  38. package/esm2015/lib/qms-ckeditor-components/common/enums/document-type.enum.js +2 -1
  39. package/esm2015/lib/qms-ckeditor-components/common/enums/shape-flow-chart-connection-type.js +8 -0
  40. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.js +1 -1
  41. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart-template.model.js +9 -0
  42. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart.model.js +9 -0
  43. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-save-as-template.model.js +3 -0
  44. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-video-tree.model.js +4 -0
  45. package/esm2015/lib/qms-ckeditor-components/common/models/wproofreader-config.model.js +6 -0
  46. package/esm2015/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.js +1 -1
  47. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.js +38 -0
  48. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.js +564 -34
  49. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.js +46 -18
  50. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component.js +1 -46
  51. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +9 -8
  52. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.js +1 -1
  53. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +5 -2
  54. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.js +1 -1
  55. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.js +1 -1
  56. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.js +1 -1
  57. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.js +4 -5
  58. package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-bpmn-data.model.js +8 -0
  59. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +184 -28
  60. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +8 -2
  61. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.js +58 -20
  62. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-flowchart.service.js +26 -0
  63. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.js +4 -1
  64. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-upload.service.js +20 -0
  65. package/esm2015/public-api.js +10 -7
  66. package/esm2015/qms-angular.js +12 -8
  67. package/fesm2015/qms-angular.js +1900 -572
  68. package/fesm2015/qms-angular.js.map +1 -1
  69. package/lib/components/button/button.d.ts +1 -1
  70. package/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.d.ts +1 -0
  71. package/lib/components/qms-paginator/index.d.ts +1 -0
  72. package/lib/components/qms-paginator/public_api.d.ts +2 -0
  73. package/lib/components/qms-paginator/qms-paginator.component.d.ts +51 -0
  74. package/lib/components/qms-paginator/qms-paginator.module.d.ts +2 -0
  75. package/lib/{directives/range-slider → components/range-slider/directives}/range-slider-lockup.directive.d.ts +0 -0
  76. package/lib/{directives/range-slider → components/range-slider/directives}/range-slider.directive.d.ts +0 -0
  77. package/lib/components/range-slider/index.d.ts +1 -0
  78. package/lib/components/range-slider/public-api.d.ts +3 -0
  79. package/lib/components/range-slider/range-slider.module.d.ts +2 -0
  80. package/lib/components/select-include-children/select-include-children.component.d.ts +2 -1
  81. package/lib/components/select-one/select-one.component.d.ts +4 -0
  82. package/lib/{directives/side-sheet → components/side-sheet/directives}/drawer-content.directive.d.ts +0 -0
  83. package/lib/{directives/side-sheet → components/side-sheet/directives}/drawer-header-action.directive.d.ts +0 -0
  84. package/lib/{directives/side-sheet → components/side-sheet/directives}/drawer-header.directive.d.ts +0 -0
  85. package/lib/{directives/side-sheet → components/side-sheet/directives}/drawer.directive.d.ts +0 -0
  86. package/lib/components/side-sheet/index.d.ts +1 -0
  87. package/lib/components/side-sheet/public-api.d.ts +5 -0
  88. package/lib/components/side-sheet/side-sheet.module.d.ts +2 -0
  89. package/lib/directives/table/table-row.directive.d.ts +13 -0
  90. package/lib/directives/table/table.directive.d.ts +1 -11
  91. package/lib/model/en.d.ts +35 -0
  92. package/lib/model/no.d.ts +35 -0
  93. package/lib/qms-ckeditor-components/common/bpmn/inspector.function.d.ts +28 -0
  94. package/lib/qms-ckeditor-components/common/classes/qmsUploadAdapter.d.ts +18 -0
  95. package/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.d.ts +6 -0
  96. package/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.d.ts +9 -0
  97. package/lib/qms-ckeditor-components/common/constants/ckeditorLink.constant.d.ts +6 -0
  98. package/lib/qms-ckeditor-components/common/enums/document-type.enum.d.ts +1 -0
  99. package/lib/qms-ckeditor-components/common/enums/shape-flow-chart-connection-type.d.ts +6 -0
  100. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.d.ts +5 -0
  101. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart-template.model.d.ts +7 -0
  102. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart.model.d.ts +7 -0
  103. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-save-as-template.model.d.ts +5 -0
  104. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-video-tree.model.d.ts +5 -0
  105. package/lib/qms-ckeditor-components/common/models/wproofreader-config.model.d.ts +25 -0
  106. package/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.d.ts +15 -0
  107. package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.d.ts +88 -4
  108. package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.d.ts +8 -2
  109. package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.d.ts +2 -1
  110. package/lib/qms-ckeditor-components/models/qms-ckeditor-bpmn-data.model.d.ts +7 -0
  111. package/lib/qms-ckeditor-components/qms-ckeditor.component.d.ts +17 -5
  112. package/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.d.ts +1 -0
  113. package/lib/qms-ckeditor-components/services/qms-ckeditor-flowchart.service.d.ts +10 -0
  114. package/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.d.ts +2 -0
  115. package/lib/qms-ckeditor-components/services/qms-ckeditor-upload.service.d.ts +5 -0
  116. package/lib.theme.scss +1 -0
  117. package/package.json +1 -1
  118. package/public-api.d.ts +6 -6
  119. package/qms-angular.d.ts +11 -7
  120. package/qms-angular.metadata.json +1 -1
  121. package/src/assets/images/ckeditor5.svg +1 -0
  122. package/src/assets/jointjs/js/rappid.js +55919 -55836
  123. package/src/assets/jointjs/scss/bpmn.scss +2 -1
  124. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +1 -1
  125. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
  126. package/src/assets/qms-ckeditor-plugin/build/translations/az.js +1 -1
  127. package/src/assets/qms-ckeditor-plugin/build/translations/cs.js +1 -1
  128. package/src/assets/qms-ckeditor-plugin/build/translations/da.js +1 -1
  129. package/src/assets/qms-ckeditor-plugin/build/translations/de-ch.js +1 -1
  130. package/src/assets/qms-ckeditor-plugin/build/translations/de.js +1 -1
  131. package/src/assets/qms-ckeditor-plugin/build/translations/en-au.js +1 -1
  132. package/src/assets/qms-ckeditor-plugin/build/translations/es.js +1 -1
  133. package/src/assets/qms-ckeditor-plugin/build/translations/et.js +1 -1
  134. package/src/assets/qms-ckeditor-plugin/build/translations/fa.js +1 -1
  135. package/src/assets/qms-ckeditor-plugin/build/translations/fr.js +1 -1
  136. package/src/assets/qms-ckeditor-plugin/build/translations/gl.js +1 -1
  137. package/src/assets/qms-ckeditor-plugin/build/translations/he.js +1 -1
  138. package/src/assets/qms-ckeditor-plugin/build/translations/hi.js +1 -1
  139. package/src/assets/qms-ckeditor-plugin/build/translations/hr.js +1 -1
  140. package/src/assets/qms-ckeditor-plugin/build/translations/hu.js +1 -1
  141. package/src/assets/qms-ckeditor-plugin/build/translations/id.js +1 -1
  142. package/src/assets/qms-ckeditor-plugin/build/translations/it.js +1 -1
  143. package/src/assets/qms-ckeditor-plugin/build/translations/ja.js +1 -1
  144. package/src/assets/qms-ckeditor-plugin/build/translations/ko.js +1 -1
  145. package/src/assets/qms-ckeditor-plugin/build/translations/ku.js +1 -1
  146. package/src/assets/qms-ckeditor-plugin/build/translations/lv.js +1 -1
  147. package/src/assets/qms-ckeditor-plugin/build/translations/nl.js +1 -1
  148. package/src/assets/qms-ckeditor-plugin/build/translations/no.js +1 -1
  149. package/src/assets/qms-ckeditor-plugin/build/translations/pl.js +1 -1
  150. package/src/assets/qms-ckeditor-plugin/build/translations/pt-br.js +1 -1
  151. package/src/assets/qms-ckeditor-plugin/build/translations/ru.js +1 -1
  152. package/src/assets/qms-ckeditor-plugin/build/translations/sk.js +1 -1
  153. package/src/assets/qms-ckeditor-plugin/build/translations/sl.js +1 -1
  154. package/src/assets/qms-ckeditor-plugin/build/translations/sr-latn.js +1 -1
  155. package/src/assets/qms-ckeditor-plugin/build/translations/sr.js +1 -1
  156. package/src/assets/qms-ckeditor-plugin/build/translations/th.js +1 -1
  157. package/src/assets/qms-ckeditor-plugin/build/translations/tk.js +1 -1
  158. package/src/assets/qms-ckeditor-plugin/build/translations/tr.js +1 -1
  159. package/src/assets/qms-ckeditor-plugin/build/translations/uk.js +1 -1
  160. package/src/assets/qms-ckeditor-plugin/build/translations/vi.js +1 -1
  161. package/src/assets/qms-ckeditor-plugin/build/translations/zh-cn.js +1 -1
  162. package/src/assets/qms-ckeditor-plugin/build/translations/zh.js +1 -1
  163. package/src/assets/qms-ckeditor-plugin/package-lock.json +23 -0
  164. package/src/assets/qms-ckeditor-plugin/package.json +2 -0
  165. package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +18 -4
  166. package/src/assets/qms-ckeditor-plugin/src/plugins/aboutckeditor/aboutckeditor.js +28 -0
  167. package/src/assets/qms-ckeditor-plugin/src/plugins/bpmn/bpmndialogcommand.js +74 -0
  168. package/src/assets/qms-ckeditor-plugin/src/plugins/bpmn/qmsCKEditorBpmnPlugin.js +6 -44
  169. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/contexts.json +3 -0
  170. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/de.po +21 -0
  171. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/en.po +21 -0
  172. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/gl.po +21 -0
  173. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/hu.po +21 -0
  174. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/it.po +21 -0
  175. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/ru.po +21 -0
  176. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/zh.po +21 -0
  177. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/src/index.js +10 -0
  178. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/src/sourceediting.js +386 -0
  179. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/src/utils/formathtml.js +142 -0
  180. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/theme/icons/source-editing.svg +1 -0
  181. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/theme/sourceediting.css +48 -0
  182. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorConstant.js +11 -1
  183. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorService.js +21 -0
  184. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorUtil.js +29 -7
  185. package/src/assets/qms-ckeditor-plugin/src/plugins/fullscreen/qmsCKEditorFullscreenPlugin.js +22 -15
  186. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/converters.js +93 -92
  187. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemap.js +4 -4
  188. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapcommand.js +93 -0
  189. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapdialogcommand.js +59 -0
  190. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapediting.js +92 -87
  191. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapui.js +13 -14
  192. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/resizeimagemapcommand.js +25 -24
  193. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/utils.js +40 -49
  194. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkcommand.js +131 -176
  195. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkdialogcommand.js +88 -0
  196. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkediting.js +2 -0
  197. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkui.js +41 -32
  198. package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontents.js +14 -0
  199. package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontentscommand.js +87 -0
  200. package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontentsediting.js +59 -0
  201. package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontentsui.js +35 -0
  202. package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/utils.js +62 -0
  203. package/src/assets/qms-ckeditor-plugin/src/plugins/template/loadtemplatedialogcommand.js +14 -0
  204. package/src/assets/qms-ckeditor-plugin/src/plugins/template/qmsCKEditorLoadTemplatePlugin.js +10 -12
  205. package/src/assets/qms-ckeditor-plugin/src/plugins/template/qmsCKEdtiorTemplatePlugin.js +10 -7
  206. package/src/assets/qms-ckeditor-plugin/src/plugins/template/templatedialogcommand.js +9 -0
  207. package/src/assets/qms-ckeditor-plugin/src/plugins/timestamp/timestamp.js +15 -18
  208. package/src/assets/qms-ckeditor-plugin/src/plugins/timestamp/timestampcommand.js +17 -0
  209. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/removetooltipcommand.js +42 -26
  210. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltip.js +3 -3
  211. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipcommand.js +75 -0
  212. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipdialogcommand.js +68 -0
  213. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipediting.js +206 -131
  214. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipui.js +424 -136
  215. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/ui/actionsview.js +67 -12
  216. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/utils.js +17 -55
  217. package/src/assets/qms-ckeditor-plugin/src/plugins/video/autovideo.js +1 -5
  218. package/src/assets/qms-ckeditor-plugin/src/plugins/video/video/videoediting.js +5 -2
  219. package/src/assets/qms-ckeditor-plugin/src/plugins/video/videoupload/browsevideodialogcommand.js +25 -0
  220. package/src/assets/qms-ckeditor-plugin/src/plugins/video/videoupload/uploadvideocommand.js +3 -16
  221. package/src/assets/qms-ckeditor-plugin/src/plugins/video/videoupload/videouploadediting.js +4 -0
  222. package/src/assets/qms-ckeditor-plugin/src/plugins/video/videoupload/videouploadui.js +12 -23
  223. package/src/assets/qms-ckeditor-plugin/src/themes/icons/fullscreen_exit.svg +1 -0
  224. package/src/assets/qms-ckeditor-plugin/src/themes/icons/information.svg +1 -50
  225. package/src/assets/qms-ckeditor-plugin/src/themes/icons/table-excel.svg +44 -0
  226. package/src/assets/qms-ckeditor-plugin/src/themes/icons/timestamp.svg +1 -1
  227. package/src/assets/qms-ckeditor-plugin/src/themes/icons/tooltip.svg +1 -0
  228. package/src/assets/qms-ckeditor-plugin/src/themes/styles/heading.css +54 -0
  229. package/src/assets/qms-ckeditor-plugin/src/themes/styles/tooltip.css +11 -53
  230. package/src/lib/components/button/button-icon.scss +5 -1
  231. package/src/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.scss +36 -22
  232. package/src/lib/components/qms-paginator/qms-paginator.component.scss +143 -0
  233. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.scss +16 -0
  234. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.scss +69 -17
  235. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.scss +26 -23
  236. package/src/lib/qms-ckeditor-components/qms-ckeditor.component.scss +24 -0
  237. package/src/lib/qms-ckeditor-components/styles/_modules.scss +9 -1
  238. package/src/themes/core/_range-slider.scss +61 -42
  239. package/src/themes/core/_side-sheet.scss +2 -2
  240. package/src/themes/core/_table.scss +158 -37
  241. package/esm2015/lib/directives/range-slider/range-slider-lockup.directive.js +0 -20
  242. package/esm2015/lib/directives/range-slider/range-slider.directive.js +0 -36
  243. package/esm2015/lib/directives/side-sheet/drawer-content.directive.js +0 -20
  244. package/esm2015/lib/directives/side-sheet/drawer-header-action.directive.js +0 -20
  245. package/esm2015/lib/directives/side-sheet/drawer-header.directive.js +0 -20
  246. package/esm2015/lib/directives/side-sheet/drawer.directive.js +0 -20
  247. package/esm2015/lib/qms-ckeditor-components/common/classes/uploadAdapter.js +0 -26
  248. package/lib/qms-ckeditor-components/common/classes/uploadAdapter.d.ts +0 -5
  249. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/insertimagemapcommand.js +0 -128
  250. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/inserttooltipcommand.js +0 -88
@@ -19,7 +19,7 @@ import { MatButtonModule } from '@angular/material/button';
19
19
  import { mixinDisableRipple, mixinDisabled, MatCommonModule, setLines, MatOptionModule } from '@angular/material/core';
20
20
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
21
21
  import { FocusMonitor } from '@angular/cdk/a11y';
22
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
22
+ import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
23
23
  import { SelectionModel } from '@angular/cdk/collections';
24
24
  import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
25
25
  import * as moment from 'moment';
@@ -40,7 +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';
45
+ import { MatTabsModule } from '@angular/material/tabs';
46
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
44
47
  import { MatBadgeModule } from '@angular/material/badge';
45
48
  import { MatToolbarModule } from '@angular/material/toolbar';
46
49
  import { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';
@@ -113,6 +116,8 @@ const en = {
113
116
  "DOCUMENTS_IN": "Documents in"
114
117
  },
115
118
  "QMSCKEDITOR": {
119
+ "ID": "ID",
120
+ "INFORMATION": "Information",
116
121
  "REMOVE_MAP": "Remove Map",
117
122
  "IMAGE_MAP_PROPERTIES": "Image Map Properties",
118
123
  "INSERT_TOOLTIP": "Insert a tooltip",
@@ -165,7 +170,7 @@ const en = {
165
170
  "EMAIL_BODY": "Body",
166
171
  "ANCHOR_ATTACHMENT": "Attachments",
167
172
  "ANCHOR_RELATED_DOCUMENT": "Related document",
168
- "ADD_DOCUMENT_PROCESS": "Add document/ process",
173
+ "ADD_DOCUMENT_PROCESS": "Add document / process",
169
174
  "ADD_DOCUMENT": "Add document",
170
175
  "ADD": "Add",
171
176
  "PROCESSES": "Processes",
@@ -183,7 +188,26 @@ const en = {
183
188
  "RECTANGLE_DRAW": "Hold down SHIFT for square mode",
184
189
  "SQUARE_DRAW": "Release SHIFT for rectangle mode",
185
190
  "INVALID_URL": "Invalid URL",
186
- "REQUIRED_URL": "URL is required"
191
+ "REQUIRED_URL": "URL is required",
192
+ "CLOSE": "Close",
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 ©"
187
211
  },
188
212
  "BPMN": {
189
213
  "DEFAULT": "Default",
@@ -314,6 +338,20 @@ const en = {
314
338
  "TEMPLATE_NAME": "Template name",
315
339
  "TEMPLATE_INFO": "Please input template name",
316
340
  "SELECT_TEMPLATE_INFORMATION": "You must select a template before you do this action.",
341
+ "CONNECTION": "Connection",
342
+ "PROPERTIES": "Properties",
343
+ "BUSINESS_PROCESS_MODEL_AND_NOTATION": "Business Process Model and Notation",
344
+ "CONNECTED_ATTACHMENT": "Connected attachment",
345
+ "CONNECTED_DOCUMENT_OR_PROCESS": "Connected document / process",
346
+ "DELETE_ATTACHMENT": "Delete attachment",
347
+ "DELETE_DOCUMENT_OR_PROCESS": "Delete document / process",
348
+ "CHOOSE_ANCHOR_IN_TEXT_OPTIONAL": "Choose anchor in in text (optional)",
349
+ "RELOAD_ANCHORS": "Reload Anchors",
350
+ "RESET_TO_ORIGINAL": "Reset to original",
351
+ "AUTO_LAYOUT_GRAPH": "Auto-layout Graph",
352
+ "FULLSCREEN": "Fullscreen",
353
+ "FLOWCHART": "Flowchart",
354
+ "HANDBOOK": "Handbook",
317
355
  },
318
356
  "QMSCKEDITOR_MESSAGE": {
319
357
  "CONFIRM_DELETE_TEMPLATE": "Are you sure you want to delete this template?",
@@ -375,6 +413,8 @@ const no = {
375
413
  "DOCUMENTS_IN": "Dokumenter i"
376
414
  },
377
415
  "QMSCKEDITOR": {
416
+ "ID": "ID",
417
+ "INFORMATION": "Informasjon",
378
418
  "REMOVE_MAP": "Fjern kartet",
379
419
  "IMAGE_MAP_PROPERTIES": "Bilde Kart Egenskaper",
380
420
  "INSERT_TOOLTIP": "Sett inn et verktøytips",
@@ -445,7 +485,26 @@ const no = {
445
485
  "RECTANGLE_DRAW": "Hold nede SKIFT for kvadratisk modus",
446
486
  "SQUARE_DRAW": "Slipp SKIFT for rektangelmodus",
447
487
  "INVALID_URL": "Ugyldig URL",
448
- "REQUIRED_URL": "URL er påkrevd"
488
+ "REQUIRED_URL": "URL er påkrevd",
489
+ "CLOSE": "Close",
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 ©"
449
508
  },
450
509
  "BPMN": {
451
510
  "DEFAULT": "Standard",
@@ -576,6 +635,20 @@ const no = {
576
635
  "TEMPLATE_NAME": "Malnavn",
577
636
  "TEMPLATE_INFO": "Vennligst skriv inn malnavn",
578
637
  "SELECT_TEMPLATE_INFORMATION": "Du må velge en malen før du utfører denne handlingen.",
638
+ "CONNECTION": "Forbindelse",
639
+ "PROPERTIES": "Egenskaper",
640
+ "BUSINESS_PROCESS_MODEL_AND_NOTATION": "Forretningsprosessmodell og notasjon",
641
+ "CONNECTED_ATTACHMENT": "Tilkoblet vedlegg",
642
+ "CONNECTED_DOCUMENT_OR_PROCESS": "Koblet dokumentet / prosessen",
643
+ "DELETE_ATTACHMENT": "Slett vedlegg",
644
+ "DELETE_DOCUMENT_OR_PROCESS": "Slett dokumentet / prosessen",
645
+ "CHOOSE_ANCHOR_IN_TEXT_OPTIONAL": "Velg anker i tekst (valgfritt)",
646
+ "RELOAD_ANCHORS": "Last ankere på nytt",
647
+ "RESET_TO_ORIGINAL": "Forkast endringer",
648
+ "AUTO_LAYOUT_GRAPH": "Auto-layout Graf",
649
+ "FULLSCREEN": "Fullskjermvisning",
650
+ "FLOWCHART": "Flytskjema",
651
+ "HANDBOOK": "eHåndbok",
579
652
  },
580
653
  "QMSCKEDITOR_MESSAGE": {
581
654
  "CONFIRM_DELETE_TEMPLATE": "Er du sikker på at du vil slette denne malen?",
@@ -1591,60 +1664,6 @@ MarginDirective.propDecorators = {
1591
1664
  value: [{ type: Input }]
1592
1665
  };
1593
1666
 
1594
- class QMSRangeSliderLockUpDirective {
1595
- constructor(ele) {
1596
- this.ele = ele;
1597
- }
1598
- ngOnInit() {
1599
- if (this.ele) {
1600
- this.ele.nativeElement.classList.add('qms-range-slider-lockup');
1601
- }
1602
- }
1603
- }
1604
- QMSRangeSliderLockUpDirective.decorators = [
1605
- { type: Directive, args: [{
1606
- selector: 'mat-slider[qms-range-slider-lockup]',
1607
- },] }
1608
- ];
1609
- QMSRangeSliderLockUpDirective.ctorParameters = () => [
1610
- { type: ElementRef }
1611
- ];
1612
-
1613
- class QMSRangeSliderDirective {
1614
- constructor(ele) {
1615
- this.ele = ele;
1616
- }
1617
- ngOnInit() {
1618
- if (this.ele) {
1619
- this.ele.nativeElement.classList.add('qms-range-slider');
1620
- }
1621
- }
1622
- onMouseUp() {
1623
- clearTimeout(this.timerId);
1624
- this.timerId = setTimeout(() => {
1625
- this.ele.nativeElement.classList.remove('qms-range-slider-active');
1626
- this.ele.nativeElement.classList.remove('mat-slider-thumb-start');
1627
- }, 500);
1628
- }
1629
- onMouseDown() {
1630
- clearTimeout(this.timerId);
1631
- this.ele.nativeElement.classList.add('qms-range-slider-active');
1632
- this.ele.nativeElement.classList.add('mat-slider-thumb-start');
1633
- }
1634
- }
1635
- QMSRangeSliderDirective.decorators = [
1636
- { type: Directive, args: [{
1637
- selector: 'mat-slider[qms-range-slider]',
1638
- },] }
1639
- ];
1640
- QMSRangeSliderDirective.ctorParameters = () => [
1641
- { type: ElementRef }
1642
- ];
1643
- QMSRangeSliderDirective.propDecorators = {
1644
- onMouseUp: [{ type: HostListener, args: ['mouseup', [],] }],
1645
- onMouseDown: [{ type: HostListener, args: ['mousedown', [],] }]
1646
- };
1647
-
1648
1667
  class ScrollToSelectedDirective {
1649
1668
  constructor(el, renderer) {
1650
1669
  this.el = el;
@@ -1758,82 +1777,6 @@ QMSSearchFieldDirective.propDecorators = {
1758
1777
  isLoading: [{ type: Input }]
1759
1778
  };
1760
1779
 
1761
- class QMSDrawerContentDirective {
1762
- constructor(ele) {
1763
- this.ele = ele;
1764
- }
1765
- ngOnInit() {
1766
- if (this.ele) {
1767
- this.ele.nativeElement.classList.add('qms-drawer-content');
1768
- }
1769
- }
1770
- }
1771
- QMSDrawerContentDirective.decorators = [
1772
- { type: Directive, args: [{
1773
- selector: '[qms-drawer-content]',
1774
- },] }
1775
- ];
1776
- QMSDrawerContentDirective.ctorParameters = () => [
1777
- { type: ElementRef }
1778
- ];
1779
-
1780
- class QMSDrawerHeaderActionDirective {
1781
- constructor(ele) {
1782
- this.ele = ele;
1783
- }
1784
- ngOnInit() {
1785
- if (this.ele) {
1786
- this.ele.nativeElement.classList.add('qms-drawer-header__action');
1787
- }
1788
- }
1789
- }
1790
- QMSDrawerHeaderActionDirective.decorators = [
1791
- { type: Directive, args: [{
1792
- selector: '[qms-drawer-header-action]',
1793
- },] }
1794
- ];
1795
- QMSDrawerHeaderActionDirective.ctorParameters = () => [
1796
- { type: ElementRef }
1797
- ];
1798
-
1799
- class QMSDrawerHeaderDirective {
1800
- constructor(ele) {
1801
- this.ele = ele;
1802
- }
1803
- ngOnInit() {
1804
- if (this.ele) {
1805
- this.ele.nativeElement.classList.add('qms-drawer-header');
1806
- }
1807
- }
1808
- }
1809
- QMSDrawerHeaderDirective.decorators = [
1810
- { type: Directive, args: [{
1811
- selector: '[qms-drawer-header]',
1812
- },] }
1813
- ];
1814
- QMSDrawerHeaderDirective.ctorParameters = () => [
1815
- { type: ElementRef }
1816
- ];
1817
-
1818
- class QMSDrawerDirective {
1819
- constructor(ele) {
1820
- this.ele = ele;
1821
- }
1822
- ngOnInit() {
1823
- if (this.ele) {
1824
- this.ele.nativeElement.classList.add('qms-drawer');
1825
- }
1826
- }
1827
- }
1828
- QMSDrawerDirective.decorators = [
1829
- { type: Directive, args: [{
1830
- selector: '[qms-drawer]',
1831
- },] }
1832
- ];
1833
- QMSDrawerDirective.ctorParameters = () => [
1834
- { type: ElementRef }
1835
- ];
1836
-
1837
1780
  class QMSTextBlockLine {
1838
1781
  constructor(elRef, renderer) {
1839
1782
  this.elRef = elRef;
@@ -2614,7 +2557,7 @@ QMSButtonIcon.decorators = [
2614
2557
  inputs: ['disabled', 'color', 'active'],
2615
2558
  encapsulation: ViewEncapsulation.None,
2616
2559
  changeDetection: ChangeDetectionStrategy.OnPush,
2617
- styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.qms-btn{height:36px;line-height:34px;padding:0 10px;background-color:#1954a9;color:#fff}.qms-btn:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn.qms-primary{background-color:#1954a9;color:#fff}.qms-btn.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn.qms-primary:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn.qms-primary:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn.qms-secondary{background-color:#9e360f;color:#fff}.qms-btn.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn.qms-secondary:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn.qms-secondary:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-lg{height:48px;line-height:38px;padding:4px 14px;background-color:#1954a9;color:#fff}.qms-btn-lg:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-lg:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-lg:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-lg.qms-primary{background-color:#1954a9;color:#fff}.qms-btn-lg.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-lg.qms-primary:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-lg.qms-primary:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-lg.qms-secondary{background-color:#9e360f;color:#fff}.qms-btn-lg.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-lg.qms-secondary:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn-lg.qms-secondary:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-outlined{height:36px;line-height:34px;padding:0 9px;background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined.qms-primary{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined.qms-primary:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined.qms-secondary{background-color:#fff;color:#9e360f;border:1px solid #9e360f}.qms-btn-outlined.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined.qms-secondary:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-outlined.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11;border:1px solid #b63e11}.qms-btn-outlined-lg{height:48px;line-height:38px;padding:4px 13px;background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined-lg:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined-lg:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined-lg:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined-lg.qms-primary{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined-lg.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined-lg.qms-primary:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined-lg.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined-lg.qms-secondary{background-color:#fff;color:#9e360f;border:1px solid #9e360f}.qms-btn-outlined-lg.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined-lg.qms-secondary:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-outlined-lg.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11;border:1px solid #b63e11}.qms-btn-text{height:36px;line-height:34px;padding:0 10px;background-color:transparent;color:#1954a9}.qms-btn-text:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text.qms-primary{background-color:transparent;color:#1954a9}.qms-btn-text.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text.qms-primary:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text.qms-secondary{background-color:transparent;color:#9e360f}.qms-btn-text.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text.qms-secondary:not([disabled]):focus{background-color:transparent;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-text.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-text-lg{height:48px;line-height:38px;padding:4px 14px;background-color:transparent;color:#1954a9}.qms-btn-text-lg:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text-lg:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text-lg:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text-lg.qms-primary{background-color:transparent;color:#1954a9}.qms-btn-text-lg.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text-lg.qms-primary:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text-lg.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text-lg.qms-secondary{background-color:transparent;color:#9e360f}.qms-btn-text-lg.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text-lg.qms-secondary:not([disabled]):focus{background-color:transparent;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-text-lg.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-fab,.qms-btn-fab-sm{min-width:0;width:56px;height:56px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);background-color:#1954a9;color:#fff}.qms-btn-fab-sm .qms-btn-wrapper,.qms-btn-fab .qms-btn-wrapper{padding:16px 0;display:inline-block;line-height:24px}.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible),.qms-btn-fab:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-sm:not([disabled]):focus,.qms-btn-fab:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab-sm:not([disabled]):hover,.qms-btn-fab:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible),.qms-btn-fab:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-sm:not([disabled]):focus,.qms-btn-fab:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-primary,.qms-primary.qms-btn-fab-sm{background-color:#1954a9;color:#fff}.qms-btn-fab.qms-primary:not([disabled]):focus:not(:focus-visible),.qms-primary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab.qms-primary:not([disabled]):focus,.qms-primary.qms-btn-fab-sm:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab.qms-primary:not([disabled]):hover,.qms-primary.qms-btn-fab-sm:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab.qms-primary:not([disabled]):focus:not(:focus-visible),.qms-primary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-primary:not([disabled]):focus,.qms-primary.qms-btn-fab-sm:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-secondary,.qms-secondary.qms-btn-fab-sm{background-color:#9e360f;color:#fff}.qms-btn-fab.qms-secondary:not([disabled]):focus:not(:focus-visible),.qms-secondary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab.qms-secondary:not([disabled]):focus,.qms-secondary.qms-btn-fab-sm:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn-fab.qms-secondary:not([disabled]):hover,.qms-secondary.qms-btn-fab-sm:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-fab.qms-secondary:not([disabled]):focus:not(:focus-visible),.qms-secondary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-secondary:not([disabled]):focus,.qms-secondary.qms-btn-fab-sm:not([disabled]):focus{box-shadow:0 0 0 2px #cf9b87,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-sm{min-width:0;width:40px;height:40px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-sm .qms-btn-wrapper{padding:8px 0;display:inline-block;line-height:24px}.qms-btn-fab-outlined,.qms-btn-fab-outlined-sm{min-width:0;width:56px;height:56px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-sm .qms-btn-wrapper,.qms-btn-fab-outlined .qms-btn-wrapper{padding:16px 0;display:inline-block;line-height:24px}.qms-btn-fab-outlined-sm:not([disabled]):focus:not(:focus-visible),.qms-btn-fab-outlined:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-sm:not([disabled]):focus,.qms-btn-fab-outlined:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-sm:not([disabled]):hover,.qms-btn-fab-outlined:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined.qms-primary,.qms-primary.qms-btn-fab-outlined-sm{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined.qms-primary:not([disabled]):focus:not(:focus-visible),.qms-primary.qms-btn-fab-outlined-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-primary:not([disabled]):focus,.qms-primary.qms-btn-fab-outlined-sm:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-primary:not([disabled]):hover,.qms-primary.qms-btn-fab-outlined-sm:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined.qms-secondary,.qms-secondary.qms-btn-fab-outlined-sm{background-color:#fff;color:#9e360f;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined.qms-secondary:not([disabled]):focus:not(:focus-visible),.qms-secondary.qms-btn-fab-outlined-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-secondary:not([disabled]):focus,.qms-secondary.qms-btn-fab-outlined-sm:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-secondary:not([disabled]):hover,.qms-secondary.qms-btn-fab-outlined-sm:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-fab-outlined-sm{min-width:0;width:40px;height:40px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-sm .qms-btn-wrapper{padding:8px 0;display:inline-block;line-height:24px}.qms-btn-fab-ext{box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);padding:0 16px;border-radius:30px;line-height:54px;height:56px;background-color:#1954a9;color:#fff}.qms-btn-fab-ext:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-ext:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab-ext:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab-ext:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-primary{background-color:#1954a9;color:#fff}.qms-btn-fab-ext.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-ext.qms-primary:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab-ext.qms-primary:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab-ext.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-primary:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-secondary{background-color:#9e360f;color:#fff}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn-fab-ext.qms-secondary:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus{box-shadow:0 0 0 2px #cf9b87,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext{box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);padding:0 16px;border-radius:30px;line-height:54px;height:56px;background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-ext:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined-ext.qms-primary{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-ext.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-primary:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined-ext.qms-secondary{background-color:#fff;color:#9e360f;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-ext.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-secondary:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-icon{box-sizing:border-box;position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;font-style:normal}.qms-btn-icon.qms-btn-disabled{cursor:default;background:#e4e4e4;color:rgba(0,0,0,.38)}.qms-btn-icon .mat-icon{font-size:24px!important;padding-bottom:1px}.qms-btn-icon::-moz-focus-inner{border:0}.qms-btn-icon:not([disabled]):hover{text-decoration:none}.qms-btn-icon .qms-btn-icon-wrapper>*{vertical-align:middle}.qms-btn-icon:after{content:\"\";position:absolute;top:50%;left:50%;width:10px;height:10px;background:hsla(0,0%,100%,.5);opacity:0;border-radius:100%;transform:scale(1) translate(-50%);transform-origin:50% 50%}.qms-btn-icon{padding:0;min-width:0;width:48px;height:48px;line-height:48px;border-radius:50%;flex-shrink:0;border:none;background:transparent}.qms-btn-icon:focus{outline:0}.qms-btn-icon:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-icon.qms-light{color:rgba(0,0,0,.6)}.qms-btn-icon.qms-light:not([disabled]):focus,.qms-btn-icon.qms-light:not([disabled]):hover{background-color:rgba(0,0,0,.08);color:#323232}.qms-btn-icon.qms-light:not([disabled]):active{background-color:rgba(0,0,0,.24);color:#323232}.qms-btn-icon.qms-light.qms-btn-disabled{color:rgba(0,0,0,.24);background-color:transparent}.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon{color:#1954a9}.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon:not([disabled]):active,.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon:not([disabled]):focus,.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon:not([disabled]):hover{background-color:#e5eefb;color:#1954a9}.qms-btn-icon.qms-dark{color:#fff}.qms-btn-icon.qms-dark:not([disabled]):focus,.qms-btn-icon.qms-dark:not([disabled]):hover{background-color:hsla(0,0%,100%,.08)}.qms-btn-icon.qms-dark:not([disabled]):active{background-color:hsla(0,0%,100%,.24)}.qms-btn-icon.qms-dark.qms-btn-disabled{color:hsla(0,0%,100%,.24);background-color:transparent}.qms-btn-icon.qms-dark.active-icon{color:#f6b59d}.qms-btn-icon.qms-dark.active-icon:not([disabled]):focus,.qms-btn-icon.qms-dark.active-icon:not([disabled]):hover{background-color:hsla(0,0%,100%,.08)}.qms-btn-icon.qms-dark.active-icon:not([disabled]):active{background-color:hsla(0,0%,100%,.24)}.qms-btn-icon .qms-button-focus-overlay{opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1);top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.qms-btn-icon .qms-btn-icon-wrapper .mat-icon{vertical-align:middle;line-height:24px}.icon-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center}.icon-wrapper.light.disabled .caption{color:rgba(0,0,0,.24);cursor:default;background-color:transparent}.icon-wrapper.light.active .caption{color:#1954a9}.icon-wrapper.light:not(.disabled):hover .caption{color:#323232}.icon-wrapper.light:not(.disabled):focus .caption{color:rgba(0,0,0,.6)}.icon-wrapper.light:not(.disabled):active .caption{color:#323232}.icon-wrapper.light .caption{color:rgba(0,0,0,.6)}.icon-wrapper.dark.disabled .caption{color:hsla(0,0%,100%,.24);cursor:default;background-color:transparent}.icon-wrapper.dark.active .caption{color:#f6b59d}.icon-wrapper.dark .caption{color:#fff}.icon-wrapper .caption{font-size:.75rem;line-height:16px;font-family:Open Sans;font-weight:400}@-webkit-keyframes ripple{0%{transform:scale(0);opacity:1}20%{transform:scale(25);opacity:1}to{opacity:0;transform:scale(40)}}@keyframes ripple{0%{transform:scale(0);opacity:1}20%{transform:scale(25);opacity:1}to{opacity:0;transform:scale(40)}}"]
2560
+ styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.qms-btn{height:36px;line-height:34px;padding:0 10px;background-color:#1954a9;color:#fff}.qms-btn:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn.qms-primary{background-color:#1954a9;color:#fff}.qms-btn.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn.qms-primary:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn.qms-primary:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn.qms-secondary{background-color:#9e360f;color:#fff}.qms-btn.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn.qms-secondary:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn.qms-secondary:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-lg{height:48px;line-height:38px;padding:4px 14px;background-color:#1954a9;color:#fff}.qms-btn-lg:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-lg:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-lg:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-lg.qms-primary{background-color:#1954a9;color:#fff}.qms-btn-lg.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-lg.qms-primary:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-lg.qms-primary:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-lg.qms-secondary{background-color:#9e360f;color:#fff}.qms-btn-lg.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-lg.qms-secondary:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn-lg.qms-secondary:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-outlined{height:36px;line-height:34px;padding:0 9px;background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined.qms-primary{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined.qms-primary:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined.qms-secondary{background-color:#fff;color:#9e360f;border:1px solid #9e360f}.qms-btn-outlined.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined.qms-secondary:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-outlined.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11;border:1px solid #b63e11}.qms-btn-outlined-lg{height:48px;line-height:38px;padding:4px 13px;background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined-lg:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined-lg:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined-lg:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined-lg.qms-primary{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-outlined-lg.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined-lg.qms-primary:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-outlined-lg.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-outlined-lg.qms-secondary{background-color:#fff;color:#9e360f;border:1px solid #9e360f}.qms-btn-outlined-lg.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-outlined-lg.qms-secondary:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-outlined-lg.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11;border:1px solid #b63e11}.qms-btn-text{height:36px;line-height:34px;padding:0 10px;background-color:transparent;color:#1954a9}.qms-btn-text:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text.qms-primary{background-color:transparent;color:#1954a9}.qms-btn-text.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text.qms-primary:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text.qms-secondary{background-color:transparent;color:#9e360f}.qms-btn-text.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text.qms-secondary:not([disabled]):focus{background-color:transparent;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-text.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-text-lg{height:48px;line-height:38px;padding:4px 14px;background-color:transparent;color:#1954a9}.qms-btn-text-lg:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text-lg:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text-lg:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text-lg.qms-primary{background-color:transparent;color:#1954a9}.qms-btn-text-lg.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text-lg.qms-primary:not([disabled]):focus{background-color:transparent;color:#1954a9;box-shadow:0 0 0 2px #1954a9}.qms-btn-text-lg.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-text-lg.qms-secondary{background-color:transparent;color:#9e360f}.qms-btn-text-lg.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-text-lg.qms-secondary:not([disabled]):focus{background-color:transparent;color:#b63e11;box-shadow:0 0 0 2px #872e0d}.qms-btn-text-lg.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-fab,.qms-btn-fab-sm{min-width:0;width:56px;height:56px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);background-color:#1954a9;color:#fff}.qms-btn-fab-sm .qms-btn-wrapper,.qms-btn-fab .qms-btn-wrapper{padding:16px 0;display:inline-block;line-height:24px}.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible),.qms-btn-fab:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-sm:not([disabled]):focus,.qms-btn-fab:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab-sm:not([disabled]):hover,.qms-btn-fab:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible),.qms-btn-fab:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-sm:not([disabled]):focus,.qms-btn-fab:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-primary,.qms-primary.qms-btn-fab-sm{background-color:#1954a9;color:#fff}.qms-btn-fab.qms-primary:not([disabled]):focus:not(:focus-visible),.qms-primary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab.qms-primary:not([disabled]):focus,.qms-primary.qms-btn-fab-sm:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab.qms-primary:not([disabled]):hover,.qms-primary.qms-btn-fab-sm:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab.qms-primary:not([disabled]):focus:not(:focus-visible),.qms-primary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-primary:not([disabled]):focus,.qms-primary.qms-btn-fab-sm:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-secondary,.qms-secondary.qms-btn-fab-sm{background-color:#9e360f;color:#fff}.qms-btn-fab.qms-secondary:not([disabled]):focus:not(:focus-visible),.qms-secondary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab.qms-secondary:not([disabled]):focus,.qms-secondary.qms-btn-fab-sm:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn-fab.qms-secondary:not([disabled]):hover,.qms-secondary.qms-btn-fab-sm:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-fab.qms-secondary:not([disabled]):focus:not(:focus-visible),.qms-secondary.qms-btn-fab-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab.qms-secondary:not([disabled]):focus,.qms-secondary.qms-btn-fab-sm:not([disabled]):focus{box-shadow:0 0 0 2px #cf9b87,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-sm{min-width:0;width:40px;height:40px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-sm .qms-btn-wrapper{padding:8px 0;display:inline-block;line-height:24px}.qms-btn-fab-outlined,.qms-btn-fab-outlined-sm{min-width:0;width:56px;height:56px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-sm .qms-btn-wrapper,.qms-btn-fab-outlined .qms-btn-wrapper{padding:16px 0;display:inline-block;line-height:24px}.qms-btn-fab-outlined-sm:not([disabled]):focus:not(:focus-visible),.qms-btn-fab-outlined:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-sm:not([disabled]):focus,.qms-btn-fab-outlined:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-sm:not([disabled]):hover,.qms-btn-fab-outlined:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined.qms-primary,.qms-primary.qms-btn-fab-outlined-sm{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined.qms-primary:not([disabled]):focus:not(:focus-visible),.qms-primary.qms-btn-fab-outlined-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-primary:not([disabled]):focus,.qms-primary.qms-btn-fab-outlined-sm:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-primary:not([disabled]):hover,.qms-primary.qms-btn-fab-outlined-sm:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined.qms-secondary,.qms-secondary.qms-btn-fab-outlined-sm{background-color:#fff;color:#9e360f;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined.qms-secondary:not([disabled]):focus:not(:focus-visible),.qms-secondary.qms-btn-fab-outlined-sm:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-secondary:not([disabled]):focus,.qms-secondary.qms-btn-fab-outlined-sm:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined.qms-secondary:not([disabled]):hover,.qms-secondary.qms-btn-fab-outlined-sm:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-fab-outlined-sm{min-width:0;width:40px;height:40px;padding:0;flex-shrink:0;box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-sm .qms-btn-wrapper{padding:8px 0;display:inline-block;line-height:24px}.qms-btn-fab-ext{box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);padding:0 16px;border-radius:30px;line-height:54px;height:56px;background-color:#1954a9;color:#fff}.qms-btn-fab-ext:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-ext:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab-ext:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab-ext:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-primary{background-color:#1954a9;color:#fff}.qms-btn-fab-ext.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-ext.qms-primary:not([disabled]):focus{background-color:#1954a9;box-shadow:0 0 0 2px #8caad4}.qms-btn-fab-ext.qms-primary:not([disabled]):hover{background-color:#2873df;color:#fff}.qms-btn-fab-ext.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-primary:not([disabled]):focus{box-shadow:0 0 0 2px #8caad4,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-secondary{background-color:#9e360f;color:#fff}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus{background-color:#9e360f;box-shadow:0 0 0 2px #cf9b87}.qms-btn-fab-ext.qms-secondary:not([disabled]):hover{background-color:#b63e11;color:#fff}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-ext.qms-secondary:not([disabled]):focus{box-shadow:0 0 0 2px #cf9b87,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext{box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2);padding:0 16px;border-radius:30px;line-height:54px;height:56px;background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-ext:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined-ext.qms-primary{background-color:#fff;color:#1954a9;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-ext.qms-primary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-primary:not([disabled]):focus{background-color:#fff;color:#1954a9;box-shadow:0 0 0 2px #1954a9,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-primary:not([disabled]):hover{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-fab-outlined-ext.qms-secondary{background-color:#fff;color:#9e360f;border:1px solid rgba(0,0,0,.12)}.qms-btn-fab-outlined-ext.qms-secondary:not([disabled]):focus:not(:focus-visible){box-shadow:0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-secondary:not([disabled]):focus{background-color:#fff;color:#b63e11;box-shadow:0 0 0 2px #872e0d,0 8px 10px rgba(0,0,0,.14),0 3px 14px rgba(0,0,0,.12),0 5px 5px rgba(0,0,0,.2)}.qms-btn-fab-outlined-ext.qms-secondary:not([disabled]):hover{background-color:rgba(207,71,20,.06);color:#b63e11}.qms-btn-icon{box-sizing:border-box;position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;font-style:normal}.qms-btn-icon.qms-btn-disabled{cursor:default;background:#e4e4e4;color:rgba(0,0,0,.38)}.qms-btn-icon .mat-icon{font-size:24px!important;padding-bottom:1px}.qms-btn-icon::-moz-focus-inner{border:0}.qms-btn-icon:not([disabled]):hover{text-decoration:none}.qms-btn-icon .qms-btn-icon-wrapper>*{vertical-align:middle}.qms-btn-icon:after{content:\"\";position:absolute;top:50%;left:50%;width:10px;height:10px;background:hsla(0,0%,100%,.5);opacity:0;border-radius:100%;transform:scale(1) translate(-50%);transform-origin:50% 50%}.qms-btn-icon{padding:0;min-width:0;width:48px;height:48px;line-height:48px;border-radius:50%;flex-shrink:0;border:none;background:transparent}.qms-btn-icon:focus{outline:0}.qms-btn-icon:not([disabled]):focus:not(:focus-visible){box-shadow:none}.qms-btn-icon.qms-light{color:rgba(0,0,0,.6)}.qms-btn-icon.qms-light:not([disabled]):focus,.qms-btn-icon.qms-light:not([disabled]):hover{background-color:rgba(0,0,0,.08);color:#323232}.qms-btn-icon.qms-light:not([disabled]):active{background-color:rgba(0,0,0,.24);color:#323232}.qms-btn-icon.qms-light.qms-btn-disabled{color:rgba(0,0,0,.24);background-color:transparent}.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon{color:#1954a9}.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon:not([disabled]):focus,.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon:not([disabled]):hover{background-color:#e5eefb;color:#1954a9}.qms-btn-icon.qms-light:not(.qms-btn-disabled).active-icon:not([disabled]):active{background-color:rgba(40,115,223,.06);color:#1954a9}.qms-btn-icon.qms-dark{color:#fff}.qms-btn-icon.qms-dark:not([disabled]):focus,.qms-btn-icon.qms-dark:not([disabled]):hover{background-color:hsla(0,0%,100%,.08)}.qms-btn-icon.qms-dark:not([disabled]):active{background-color:hsla(0,0%,100%,.24)}.qms-btn-icon.qms-dark.qms-btn-disabled{color:hsla(0,0%,100%,.24);background-color:transparent}.qms-btn-icon.qms-dark.active-icon{color:#f6b59d}.qms-btn-icon.qms-dark.active-icon:not([disabled]):focus,.qms-btn-icon.qms-dark.active-icon:not([disabled]):hover{background-color:hsla(0,0%,100%,.08)}.qms-btn-icon.qms-dark.active-icon:not([disabled]):active{background-color:hsla(0,0%,100%,.24)}.qms-btn-icon .qms-button-focus-overlay{opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1);top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.qms-btn-icon .qms-btn-icon-wrapper .mat-icon{vertical-align:middle;line-height:24px}.icon-wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center}.icon-wrapper.light.disabled .caption{color:rgba(0,0,0,.24);cursor:default;background-color:transparent}.icon-wrapper.light.active .caption{color:#1954a9}.icon-wrapper.light:not(.disabled):hover .caption{color:#323232}.icon-wrapper.light:not(.disabled):focus .caption{color:rgba(0,0,0,.6)}.icon-wrapper.light:not(.disabled):active .caption{color:#323232}.icon-wrapper.light .caption{color:rgba(0,0,0,.6)}.icon-wrapper.dark.disabled .caption{color:hsla(0,0%,100%,.24);cursor:default;background-color:transparent}.icon-wrapper.dark.active .caption{color:#f6b59d}.icon-wrapper.dark .caption{color:#fff}.icon-wrapper .caption{font-size:.75rem;line-height:16px;font-family:Open Sans;font-weight:400}@-webkit-keyframes ripple{0%{transform:scale(0);opacity:1}20%{transform:scale(25);opacity:1}to{opacity:0;transform:scale(40)}}@keyframes ripple{0%{transform:scale(0);opacity:1}20%{transform:scale(25);opacity:1}to{opacity:0;transform:scale(40)}}"]
2618
2561
  },] }
2619
2562
  ];
2620
2563
  QMSButtonIcon.ctorParameters = () => [
@@ -2746,39 +2689,12 @@ QMSAppBar.propDecorators = {
2746
2689
  mode: [{ type: Input, args: ['mode',] }]
2747
2690
  };
2748
2691
 
2749
- class QMSTableExpandDirective {
2750
- constructor(_el, renderer) {
2751
- this._el = _el;
2752
- this.renderer = renderer;
2753
- this._el.nativeElement.classList.add('qms-table');
2754
- }
2755
- ngAfterViewChecked() {
2756
- let matRows = this._el.nativeElement.querySelectorAll('mat-row');
2757
- for (const [key, value] of Object.entries(matRows)) {
2758
- this.renderer.addClass(value, 'qms-row');
2759
- }
2760
- }
2761
- }
2762
- QMSTableExpandDirective.decorators = [
2763
- { type: Directive, args: [{
2764
- selector: '[qms-table-expand]',
2765
- host: { 'class': 'qms-table-expand' }
2766
- },] }
2767
- ];
2768
- QMSTableExpandDirective.ctorParameters = () => [
2769
- { type: ElementRef },
2770
- { type: Renderer2 }
2771
- ];
2772
2692
  class QMSTableDirective {
2773
2693
  constructor(_el, renderer) {
2774
2694
  this._el = _el;
2775
2695
  this.renderer = renderer;
2776
2696
  }
2777
2697
  ngAfterViewChecked() {
2778
- let matRows = this._el.nativeElement.querySelectorAll('mat-row');
2779
- for (const [key, value] of Object.entries(matRows)) {
2780
- this.renderer.addClass(value, 'qms-row');
2781
- }
2782
2698
  }
2783
2699
  }
2784
2700
  QMSTableDirective.decorators = [
@@ -2814,16 +2730,6 @@ QMSTableChildrenDirective.ctorParameters = () => [
2814
2730
  { type: ElementRef },
2815
2731
  { type: Renderer2 }
2816
2732
  ];
2817
- class QMSRowExpandDirective {
2818
- constructor() { }
2819
- }
2820
- QMSRowExpandDirective.decorators = [
2821
- { type: Directive, args: [{
2822
- selector: '[qms-row-expand]',
2823
- host: { 'class': 'qms-row-expand' }
2824
- },] }
2825
- ];
2826
- QMSRowExpandDirective.ctorParameters = () => [];
2827
2733
  class QMSRowDetailDirective {
2828
2734
  constructor() { }
2829
2735
  }
@@ -2852,7 +2758,7 @@ class CdkDetailRowDirective {
2852
2758
  this.focusClass = 'focus-grid-style';
2853
2759
  this.onRowExpandEvent = new EventEmitter();
2854
2760
  }
2855
- get expended() {
2761
+ get expanded() {
2856
2762
  return this.opened;
2857
2763
  }
2858
2764
  set cdkDetailRow(value) {
@@ -2873,6 +2779,8 @@ class CdkDetailRowDirective {
2873
2779
  ngOnChanges(changes) {
2874
2780
  this.vcRef.clear();
2875
2781
  if (this.othertRef && this.row) {
2782
+ if (this.opened)
2783
+ this.vcRef.createEmbeddedView(this.tRef, { $implicit: this.row });
2876
2784
  this.vcRef.createEmbeddedView(this.othertRef, { $implicit: this.row });
2877
2785
  }
2878
2786
  }
@@ -2882,7 +2790,7 @@ class CdkDetailRowDirective {
2882
2790
  if (this.othertRef && this.row) {
2883
2791
  this.vcRef.createEmbeddedView(this.othertRef, { $implicit: this.row });
2884
2792
  if (((_a = this.row) === null || _a === void 0 ? void 0 : _a.children) && ((_b = this.row) === null || _b === void 0 ? void 0 : _b.children.length) > 0) {
2885
- this._el.nativeElement.classList.add('qms-row-group');
2793
+ this._el.nativeElement.classList.add('expandable-group');
2886
2794
  }
2887
2795
  }
2888
2796
  }
@@ -2904,25 +2812,13 @@ class CdkDetailRowDirective {
2904
2812
  }
2905
2813
  }
2906
2814
  toggle() {
2907
- if (this.opened) {
2908
- this.vcRef.clear();
2909
- if (this.othertRef) {
2910
- this.vcRef.createEmbeddedView(this.othertRef, { $implicit: this.row });
2911
- }
2912
- }
2913
- else {
2914
- this.render();
2915
- }
2916
- this.opened = !this.opened;
2917
- this.onRowExpandEvent.emit(this.opened);
2918
- }
2919
- render() {
2920
- this.vcRef.clear();
2921
- if (this.tRef && this.row) {
2922
- this.vcRef.createEmbeddedView(this.tRef, { $implicit: this.row });
2923
- if (this.othertRef) {
2924
- this.vcRef.createEmbeddedView(this.othertRef, { $implicit: this.row });
2925
- }
2815
+ if (this.tRef) {
2816
+ if (this.opened)
2817
+ this.vcRef.detach(0);
2818
+ else
2819
+ this.vcRef.createEmbeddedView(this.tRef, { $implicit: this.row }, 0);
2820
+ this.opened = !this.opened;
2821
+ this.onRowExpandEvent.emit(this.opened);
2926
2822
  }
2927
2823
  }
2928
2824
  }
@@ -2937,7 +2833,7 @@ CdkDetailRowDirective.ctorParameters = () => [
2937
2833
  ];
2938
2834
  CdkDetailRowDirective.propDecorators = {
2939
2835
  onRowExpandEvent: [{ type: Output }],
2940
- expended: [{ type: HostBinding, args: ['class.expanded',] }],
2836
+ expanded: [{ type: HostBinding, args: ['class.qms-row-expanded',] }],
2941
2837
  cdkDetailRow: [{ type: Input }],
2942
2838
  template: [{ type: Input, args: ['cdkDetailRowTpl',] }],
2943
2839
  otherTemplate: [{ type: Input, args: ['cdkotherTemplate',] }],
@@ -2946,6 +2842,47 @@ CdkDetailRowDirective.propDecorators = {
2946
2842
  onKeydown: [{ type: HostListener, args: ['document:keydown', ['$event.target'],] }]
2947
2843
  };
2948
2844
 
2845
+ class QMSTableRowDirective {
2846
+ constructor(_el, renderer) {
2847
+ this._el = _el;
2848
+ this.renderer = renderer;
2849
+ }
2850
+ ngAfterViewChecked() {
2851
+ }
2852
+ set cdkDetailRow(value) {
2853
+ this._rowData = value;
2854
+ }
2855
+ get disable() {
2856
+ return this._rowData.disabled;
2857
+ }
2858
+ get select() {
2859
+ return this._rowData.selected;
2860
+ }
2861
+ get group() {
2862
+ return this._rowData.childen;
2863
+ }
2864
+ get isDraft() {
2865
+ return this._rowData.isDraft;
2866
+ }
2867
+ }
2868
+ QMSTableRowDirective.decorators = [
2869
+ { type: Directive, args: [{
2870
+ selector: '[qms-table-row]',
2871
+ host: { 'class': 'qms-table-row' }
2872
+ },] }
2873
+ ];
2874
+ QMSTableRowDirective.ctorParameters = () => [
2875
+ { type: ElementRef },
2876
+ { type: Renderer2 }
2877
+ ];
2878
+ QMSTableRowDirective.propDecorators = {
2879
+ cdkDetailRow: [{ type: Input }],
2880
+ disable: [{ type: HostBinding, args: ['class.qms-table-row-disabled',] }],
2881
+ select: [{ type: HostBinding, args: ['class.qms-table-row-selected',] }],
2882
+ group: [{ type: HostBinding, args: ['class.qms-table-row-group',] }],
2883
+ isDraft: [{ type: HostBinding, args: ['class.qms-table-row-draft',] }]
2884
+ };
2885
+
2949
2886
  const ɵ0$2 = { appearance: 'fill' }, ɵ1 = { color: 'none' };
2950
2887
  class QmsAngularModule {
2951
2888
  }
@@ -2977,22 +2914,15 @@ QmsAngularModule.decorators = [
2977
2914
  QMSFileUploadMultipleDirective,
2978
2915
  QMSFileUploadMultipleDisplayDirective,
2979
2916
  QMSFileUploadMultipleSelectorDirective,
2980
- QMSRangeSliderDirective,
2981
- QMSRangeSliderLockUpDirective,
2982
2917
  QMSDropdownMenuItem,
2983
2918
  QMSScrollbarDirective,
2984
2919
  QMSTextBlockDirective,
2985
2920
  QMSTextBlockLine,
2986
- QMSDrawerDirective,
2987
- QMSDrawerHeaderDirective,
2988
- QMSDrawerContentDirective,
2989
- QMSDrawerHeaderActionDirective,
2990
2921
  QMSToolTipRendererDirective,
2991
- QMSTableExpandDirective,
2992
2922
  QMSTableDirective,
2923
+ QMSTableRowDirective,
2993
2924
  QMSRowDetailDirective,
2994
2925
  QMSTableChildrenDirective,
2995
- QMSRowExpandDirective,
2996
2926
  CdkDetailRowDirective,
2997
2927
  QMSCollapseGroupDirective,
2998
2928
  DateFormatPipe,
@@ -3038,16 +2968,10 @@ QmsAngularModule.decorators = [
3038
2968
  QMSFileUploadMultipleDirective,
3039
2969
  QMSFileUploadMultipleDisplayDirective,
3040
2970
  QMSFileUploadMultipleSelectorDirective,
3041
- QMSRangeSliderDirective,
3042
- QMSRangeSliderLockUpDirective,
3043
2971
  QMSDropdownMenuItem,
3044
2972
  QMSScrollbarDirective,
3045
2973
  QMSTextBlockDirective,
3046
2974
  QMSTextBlockLine,
3047
- QMSDrawerDirective,
3048
- QMSDrawerHeaderDirective,
3049
- QMSDrawerContentDirective,
3050
- QMSDrawerHeaderActionDirective,
3051
2975
  QMSToolTipRendererDirective,
3052
2976
  DateFormatPipe,
3053
2977
  QMSChipInputDirective,
@@ -3059,11 +2983,10 @@ QmsAngularModule.decorators = [
3059
2983
  QMSTooltipImageDirective,
3060
2984
  SelectDialog,
3061
2985
  QMSAppBar,
3062
- QMSTableExpandDirective,
3063
2986
  QMSTableDirective,
2987
+ QMSTableRowDirective,
3064
2988
  QMSTableChildrenDirective,
3065
2989
  QMSRowDetailDirective,
3066
- QMSRowExpandDirective,
3067
2990
  CdkDetailRowDirective,
3068
2991
  QMSCollapseGroupDirective
3069
2992
  ],
@@ -3076,47 +2999,117 @@ QmsAngularModule.decorators = [
3076
2999
  },] }
3077
3000
  ];
3078
3001
 
3079
- class QMSListLeadingIcon {
3002
+ class QMSRangeSliderLockUpDirective {
3003
+ constructor(ele) {
3004
+ this.ele = ele;
3005
+ }
3006
+ ngOnInit() {
3007
+ if (this.ele) {
3008
+ this.ele.nativeElement.classList.add('qms-range-slider-lockup');
3009
+ }
3010
+ }
3080
3011
  }
3081
- QMSListLeadingIcon.decorators = [
3012
+ QMSRangeSliderLockUpDirective.decorators = [
3082
3013
  { type: Directive, args: [{
3083
- selector: '[leading-icon]',
3084
- host: { 'class': 'leading-icon' }
3014
+ selector: 'mat-slider[qms-range-slider-lockup]',
3085
3015
  },] }
3086
3016
  ];
3087
- class QMSListLine {
3088
- constructor(elRef, renderer) {
3089
- this.elRef = elRef;
3090
- this.renderer = renderer;
3017
+ QMSRangeSliderLockUpDirective.ctorParameters = () => [
3018
+ { type: ElementRef }
3019
+ ];
3020
+
3021
+ class QMSRangeSliderDirective {
3022
+ constructor(ele) {
3023
+ this.ele = ele;
3091
3024
  }
3092
3025
  ngOnInit() {
3093
- if (this.type === 'caption') {
3094
- this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption');
3095
- }
3096
- else if (this.type === 'subtitle') {
3097
- this.renderer.setAttribute(this.elRef.nativeElement, 'class', `subtitle size-${this.size ? this.size : 'none'}`);
3098
- }
3099
- else {
3100
- this.renderer.setAttribute(this.elRef.nativeElement, 'class', `qms-line size-${this.size ? this.size : 'none'}`);
3101
- }
3102
- if (this.color) {
3103
- this.renderer.addClass(this.elRef.nativeElement, this.color);
3026
+ if (this.ele) {
3027
+ this.ele.nativeElement.classList.add('qms-range-slider');
3104
3028
  }
3105
3029
  }
3030
+ onMouseUp() {
3031
+ clearTimeout(this.timerId);
3032
+ this.timerId = setTimeout(() => {
3033
+ this.ele.nativeElement.classList.remove('qms-range-slider-active');
3034
+ }, 500);
3035
+ }
3036
+ onMouseDown() {
3037
+ clearTimeout(this.timerId);
3038
+ this.ele.nativeElement.classList.add('qms-range-slider-active');
3039
+ }
3106
3040
  }
3107
- QMSListLine.decorators = [
3041
+ QMSRangeSliderDirective.decorators = [
3108
3042
  { type: Directive, args: [{
3109
- selector: '[qms-line]'
3043
+ selector: 'mat-slider[qms-range-slider]',
3110
3044
  },] }
3111
3045
  ];
3112
- QMSListLine.ctorParameters = () => [
3113
- { type: ElementRef },
3114
- { type: Renderer2 }
3046
+ QMSRangeSliderDirective.ctorParameters = () => [
3047
+ { type: ElementRef }
3115
3048
  ];
3116
- QMSListLine.propDecorators = {
3117
- size: [{ type: Input, args: ['size',] }],
3118
- type: [{ type: Input, args: ['type',] }],
3119
- color: [{ type: Input, args: ['color',] }]
3049
+ QMSRangeSliderDirective.propDecorators = {
3050
+ onMouseUp: [{ type: HostListener, args: ['mouseup', [],] }],
3051
+ onMouseDown: [{ type: HostListener, args: ['mousedown', [],] }]
3052
+ };
3053
+
3054
+ class QMSRangeSliderModule {
3055
+ }
3056
+ QMSRangeSliderModule.decorators = [
3057
+ { type: NgModule, args: [{
3058
+ declarations: [
3059
+ QMSRangeSliderDirective,
3060
+ QMSRangeSliderLockUpDirective
3061
+ ],
3062
+ imports: [
3063
+ CommonModule
3064
+ ],
3065
+ exports: [
3066
+ QMSRangeSliderDirective,
3067
+ QMSRangeSliderLockUpDirective
3068
+ ]
3069
+ },] }
3070
+ ];
3071
+
3072
+ class QMSListLeadingIcon {
3073
+ }
3074
+ QMSListLeadingIcon.decorators = [
3075
+ { type: Directive, args: [{
3076
+ selector: '[leading-icon]',
3077
+ host: { 'class': 'leading-icon' }
3078
+ },] }
3079
+ ];
3080
+ class QMSListLine {
3081
+ constructor(elRef, renderer) {
3082
+ this.elRef = elRef;
3083
+ this.renderer = renderer;
3084
+ }
3085
+ ngOnInit() {
3086
+ if (this.type === 'caption') {
3087
+ this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption');
3088
+ }
3089
+ else if (this.type === 'subtitle') {
3090
+ this.renderer.setAttribute(this.elRef.nativeElement, 'class', `subtitle size-${this.size ? this.size : 'none'}`);
3091
+ }
3092
+ else {
3093
+ this.renderer.setAttribute(this.elRef.nativeElement, 'class', `qms-line size-${this.size ? this.size : 'none'}`);
3094
+ }
3095
+ if (this.color) {
3096
+ this.renderer.addClass(this.elRef.nativeElement, this.color);
3097
+ }
3098
+ }
3099
+ }
3100
+ QMSListLine.decorators = [
3101
+ { type: Directive, args: [{
3102
+ selector: '[qms-line]'
3103
+ },] }
3104
+ ];
3105
+ QMSListLine.ctorParameters = () => [
3106
+ { type: ElementRef },
3107
+ { type: Renderer2 }
3108
+ ];
3109
+ QMSListLine.propDecorators = {
3110
+ size: [{ type: Input, args: ['size',] }],
3111
+ type: [{ type: Input, args: ['type',] }],
3112
+ color: [{ type: Input, args: ['color',] }]
3120
3113
  };
3121
3114
  class QMSListHeader {
3122
3115
  }
@@ -4345,6 +4338,9 @@ class TreeComponent {
4345
4338
  this.treeControl.expand(x);
4346
4339
  });
4347
4340
  }
4341
+ setTimeout(() => {
4342
+ this.treeControlNodes.emit(this.treeControl);
4343
+ }, 500);
4348
4344
  }
4349
4345
  getParent(node) {
4350
4346
  const { treeControl } = this;
@@ -4396,15 +4392,12 @@ class TreeComponent {
4396
4392
  this.treeControl.dataNodes[i].disabled = false;
4397
4393
  }
4398
4394
  if (this.disabledList.length) {
4399
- for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4400
- this.disabledList.forEach(x => {
4401
- var _a;
4402
- if (x.id === this.treeControl.dataNodes[i].id
4403
- && (!x.parentId || x.parentId === ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.parentId))) {
4404
- this.treeControl.dataNodes[i].disabled = true;
4405
- }
4406
- });
4407
- }
4395
+ this.disabledList.forEach(x => {
4396
+ const index = this.treeControl.dataNodes.findIndex(node => node.id === x.id && (!x.parentId || x.parentId === node.parentId));
4397
+ if (index >= 0) {
4398
+ this.treeControl.dataNodes[index].disabled = true;
4399
+ }
4400
+ });
4408
4401
  }
4409
4402
  //Selected node with select one
4410
4403
  if (this.disabledList.length && this.treeConfig.selectOne) {
@@ -4438,7 +4431,6 @@ class TreeComponent {
4438
4431
  }
4439
4432
  else {
4440
4433
  this.idCheckIcon = '';
4441
- this.treeControl.collapseAll();
4442
4434
  this.cdRef.detectChanges();
4443
4435
  }
4444
4436
  }
@@ -4556,10 +4548,7 @@ class TreeComponent {
4556
4548
  this.checklistSelection.toggle(node);
4557
4549
  }
4558
4550
  // process/ document single selected
4559
- if (this.singleSelectedNode) {
4560
- this.checkBoxEvent.emit(this.checklistSelection.selected);
4561
- }
4562
- else {
4551
+ if (!this.singleSelectedNode) {
4563
4552
  const descendants = this.treeControl.getDescendants(node).filter(item => !item.disabled);
4564
4553
  this.checkSelectedSameNode(descendants, this.descendantsAllSelected(node));
4565
4554
  !this.descendantsAllSelected(node)
@@ -4572,8 +4561,8 @@ class TreeComponent {
4572
4561
  this.checklistSelection.deselect(element);
4573
4562
  });
4574
4563
  }
4575
- this.checkBoxEvent.emit(this.checklistSelection.selected);
4576
4564
  }
4565
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
4577
4566
  }
4578
4567
  todoChildSelectionToggle(node) {
4579
4568
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
@@ -4625,7 +4614,6 @@ class TreeComponent {
4625
4614
  });
4626
4615
  setTimeout(() => {
4627
4616
  this.checkBoxEvent.emit(this.checklistSelection.selected);
4628
- this.treeControlNodes.emit(this.treeControl);
4629
4617
  }, 500);
4630
4618
  }
4631
4619
  todoFolderSelection(nodes) {
@@ -4640,6 +4628,7 @@ class TreeComponent {
4640
4628
  }
4641
4629
  });
4642
4630
  this.checkBoxEvent.emit(this.checklistSelection.selected);
4631
+ this.idCheckIcon = this.idToCheckSelectOne(nodes[0].id, nodes[0].parentId);
4643
4632
  }
4644
4633
  selectNode(node) {
4645
4634
  if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
@@ -4874,7 +4863,7 @@ class TreeComponent {
4874
4863
  }
4875
4864
  }
4876
4865
  getNodeId(node) {
4877
- return `_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`;
4866
+ return `_${node.parentId ? node.parentId.toLowerCase() : ''}_${node.id.toLowerCase()}_${node.level}`;
4878
4867
  }
4879
4868
  getNodeByIdAndParentId(nodeId, parentId) {
4880
4869
  return this.treeControl.dataNodes.find(x => {
@@ -4891,7 +4880,7 @@ class TreeComponent {
4891
4880
  TreeComponent.decorators = [
4892
4881
  { type: Component, args: [{
4893
4882
  selector: 'qms-tree',
4894
- template: "<mat-tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"tree__container\"\r\n>\r\n <mat-tree-node\r\n class=\"tree-branch\"\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n >\r\n <!-- form thu 1 - child -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n >\r\n </mat-checkbox>\r\n\r\n <!-- form thu 2 -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"ml-10 checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <div\r\n class=\"expand-node\"\r\n *ngIf=\"node.name && !onlyFolder\"\r\n [class.bgSelected]=\"\r\n treeConfig.selectOne &&\r\n idCheckIcon == idToCheckSelectOne(node.id, node.parentId)\r\n \"\r\n (click)=\"selectNode(node)\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <div class=\"expand-node__text\">\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.name && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n >\r\n {{ itemIcon }}\r\n </mat-icon>\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"itemIconSvg\"\r\n >\r\n </mat-icon>\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.path\"\r\n class=\"mat-icon\"\r\n [src]=\"itemIconPath\"\r\n />\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.base64\"\r\n class=\"mat-icon image-base64\"\r\n [src]=\"getImagePath()\"\r\n />\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.none\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getItemIcon(node)\"\r\n ></mat-icon>\r\n <span\r\n class=\"text-node\"\r\n [class.select-one-checked]=\"\r\n treeConfig.selectOne &&\r\n idCheckIcon == idToCheckSelectOne(node.id, node.parentId)\r\n \"\r\n >{{ node.name }}</span\r\n >\r\n </div>\r\n <mat-icon\r\n class=\"select-one-checked\"\r\n *ngIf=\"\r\n treeConfig.selectOne &&\r\n idCheckIcon == idToCheckSelectOne(node.id, node.parentId)\r\n \"\r\n >done</mat-icon\r\n >\r\n </div>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding>\r\n <!-- form thu 1 - parent -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild\"\r\n [checked]=\"descendantsAllSelected(node)\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <button\r\n class=\"button-boder\"\r\n mat-icon-button\r\n matTreeNodeToggle\r\n [disableRipple]=\"!node.hasChild\"\r\n [attr.aria-label]=\"'toggle ' + node.filename\"\r\n *ngIf=\"node.name\"\r\n >\r\n <mat-icon\r\n *ngIf=\"openIcon && closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : closeIconColor\r\n }\"\r\n >{{ getNodeIcon(node) }}</mat-icon\r\n >\r\n <mat-icon\r\n *ngIf=\"!openIcon || !closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngClass]=\"{\r\n 'open-icon': treeControl.isExpanded(node),\r\n 'not-department-icon': moduleId !== dataType.document\r\n }\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n >\r\n </mat-icon>\r\n </button>\r\n <span\r\n *ngIf=\"expandOnTitleClick\"\r\n matTreeNodeToggle\r\n class=\"text-node-parent\"\r\n style=\"cursor: pointer\"\r\n (click)=\"onExpandNode(node)\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : '#000000'\r\n }\"\r\n >\r\n <span>{{ node.name }}</span>\r\n </span>\r\n <span\r\n *ngIf=\"!expandOnTitleClick\"\r\n class=\"text-node-parent\"\r\n (click)=\"selectFolderNode(node)\"\r\n style=\"cursor: pointer\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <span\r\n [class.select-one-checked]=\"\r\n treeConfig.selectOne &&\r\n idCheckIcon == idToCheckSelectOne(node.id, node.parentId)\r\n \"\r\n >{{ node.name }}</span\r\n >\r\n <mat-icon\r\n class=\"select-one-checked\"\r\n *ngIf=\"\r\n treeConfig.selectOne &&\r\n idCheckIcon == idToCheckSelectOne(node.id, node.parentId)\r\n \"\r\n >done</mat-icon\r\n >\r\n </span>\r\n </mat-tree-node>\r\n</mat-tree>\r\n",
4883
+ 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",
4895
4884
  encapsulation: ViewEncapsulation.None,
4896
4885
  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}"]
4897
4886
  },] }
@@ -6798,7 +6787,7 @@ QMSCKEditorConfirmComponent.decorators = [
6798
6787
  { type: Component, args: [{
6799
6788
  selector: 'app-confirm-popup',
6800
6789
  template: "<div\r\n id=\"qmsckeditor-confirm\"\r\n class=\"qmsckeditor qmsckeditor__confirm__container\"\r\n>\r\n <h2>{{ data.title }}</h2>\r\n <div class=\"row ml2 mr-0\" [innerHTML]=\"data.content\"></div>\r\n <div *ngIf=\"!data.isMessage\" class=\"row ml-0 mr-0 mt20\">\r\n <div *ngIf=\"data.isAdvance\" class=\"mt-4\">\r\n <mat-checkbox [(ngModel)]=\"isNotShowAgain\">{{\r\n data.checkText\r\n }}</mat-checkbox>\r\n </div>\r\n <div class=\"qmsckeditor confirm__button__groups ml-auto mt-auto\">\r\n <button mat-button class=\"cancel\" (click)=\"onCancelClick()\">\r\n {{ LANG.QMSCKEDITOR.CANCEL }}\r\n </button>\r\n <button\r\n *ngIf=\"!data.isAdvance\"\r\n mat-button\r\n class=\"confirm ml3\"\r\n (click)=\"onConfirmClick()\"\r\n >\r\n {{ LANG.QMSCKEDITOR.CONFIRM }}\r\n </button>\r\n <button\r\n *ngIf=\"data.isAdvance\"\r\n mat-button\r\n class=\"confirm ml3\"\r\n (click)=\"onAdvanceConfirmClick()\"\r\n >\r\n {{ LANG.QMSCKEDITOR.CONFIRM }}\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data.isMessage\" class=\"row ml-0 mr-0 mt20\">\r\n <div class=\"ml-auto mt-auto\">\r\n <button mat-button class=\"save ml-3\" (click)=\"onConfirmClick()\">\r\n {{ LANG.QMSCKEDITOR.OK }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n",
6801
- 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:470px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .page-break{width:100%}"]
6790
+ 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}"]
6802
6791
  },] }
6803
6792
  ];
6804
6793
  QMSCKEditorConfirmComponent.ctorParameters = () => [
@@ -7037,51 +7026,6 @@ class QMSCKEditorFullscreenComponent {
7037
7026
  this.showHideFullScreen('block', 'show-content-wrapper', '0px', '0px', '2px', '93vh');
7038
7027
  }
7039
7028
  showHideFullScreen(display, className, paddingTop, paddingBottom, marginTopMain, heightIframe) {
7040
- const sidebar = window.parent.document.getElementById('sidebar_left');
7041
- if (sidebar) {
7042
- if (display === 'block') {
7043
- if (!sidebar.classList.contains('show-sidebar_left')) {
7044
- sidebar.classList.add('show-sidebar_left');
7045
- }
7046
- }
7047
- else if (display === 'none') {
7048
- if (sidebar.classList.contains('show-sidebar_left')) {
7049
- sidebar.classList.remove('show-sidebar_left');
7050
- }
7051
- }
7052
- }
7053
- const topbars = window.parent.document.getElementsByClassName('navbar-fixed-top');
7054
- if (topbars && topbars.length > 0) {
7055
- const topbar = topbars[0];
7056
- topbar.style.display = display;
7057
- }
7058
- const contentWrapper = window.parent.document.getElementById('content_wrapper');
7059
- if (contentWrapper) {
7060
- contentWrapper.className = className;
7061
- }
7062
- const bodies = window.parent.document.getElementsByTagName('body');
7063
- if (bodies && bodies.length > 0) {
7064
- const body = bodies[0];
7065
- body.style.paddingTop = paddingTop;
7066
- body.style.paddingBottom = paddingBottom;
7067
- if (display === 'block') {
7068
- body.classList.remove('sidebar-hidden');
7069
- body.classList.add('sidebar-ltr');
7070
- }
7071
- else if (display === 'none') {
7072
- body.classList.remove('sidebar-ltr');
7073
- body.classList.add('sidebar-hidden');
7074
- }
7075
- }
7076
- const main = window.parent.document.getElementById('main');
7077
- if (main) {
7078
- main.style.marginTop = marginTopMain;
7079
- }
7080
- const iframes = window.parent.document.getElementsByClassName('processIFrameModule');
7081
- if (iframes && iframes.length > 0) {
7082
- const iframe = iframes[0];
7083
- iframe.style.height = heightIframe;
7084
- }
7085
7029
  const ck = window.document.getElementById('qmsckeditor');
7086
7030
  if (ck) {
7087
7031
  if (display === 'none') {
@@ -7234,7 +7178,7 @@ LinkAttachmentComponent.decorators = [
7234
7178
  { type: Component, args: [{
7235
7179
  selector: 'link-attachment',
7236
7180
  template: "<div\r\n id=\"qmsckeditor_link_attachment\"\r\n class=\"qmsckeditor qmsckeditor__link__attachment__container\"\r\n>\r\n <div id=\"qmsckeditor_link_attachment_header\">\r\n <span\r\n id=\"qmsckeditor_link_attachment_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_link_attachment_header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor_link_attachment_header_002_001\">\r\n {{ LANG.QMSCKEDITOR.ATTACHMENT }}\r\n </h2>\r\n </div>\r\n </div>\r\n <div\r\n id=\"qmsckeditor_link_attachment_content\"\r\n class=\"qmsckeditor template-content height\"\r\n >\r\n <div id=\"qmsckeditor_link_attachment_content_001\" class=\"mt-1 pl-2 pr-2\">\r\n <mat-card\r\n class=\"qmsckeditor card col-12\"\r\n *ngFor=\"let attachment of attachments\"\r\n >\r\n <div\r\n class=\"row\"\r\n (click)=\"\r\n onSelectedAttachment(attachment.extraId, attachment.fileName)\r\n \"\r\n >\r\n <div class=\"qmsckeditor__cursor col-12\">\r\n <div class=\"col-12 pl-0 title\">\r\n <span>{{ attachment.fileName }}</span>\r\n </div>\r\n <div class=\"col-12 pl-0 content\">\r\n <span>{{ attachment.extraId }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n",
7237
- 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:470px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .page-break{width:100%}"]
7181
+ 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}"]
7238
7182
  },] }
7239
7183
  ];
7240
7184
  LinkAttachmentComponent.ctorParameters = () => [
@@ -7314,6 +7258,7 @@ class QMSCKEditorLink {
7314
7258
 
7315
7259
  var QMSCKEditorDocumentType;
7316
7260
  (function (QMSCKEditorDocumentType) {
7261
+ QMSCKEditorDocumentType[QMSCKEditorDocumentType["other"] = 0] = "other";
7317
7262
  QMSCKEditorDocumentType[QMSCKEditorDocumentType["document"] = 1] = "document";
7318
7263
  QMSCKEditorDocumentType[QMSCKEditorDocumentType["process"] = 2] = "process";
7319
7264
  QMSCKEditorDocumentType[QMSCKEditorDocumentType["area"] = 3] = "area";
@@ -7397,6 +7342,9 @@ class QMSCKEditorTreeService extends QMSCKEditorBaseService {
7397
7342
  getProcessList() {
7398
7343
  return this.get('ckeditorTree/GetProcessList');
7399
7344
  }
7345
+ getUploadVideoList(folderId = null) {
7346
+ return this.get('ckeditorTree/GetUploadVideoList', { folderId });
7347
+ }
7400
7348
  }
7401
7349
  QMSCKEditorTreeService.ɵprov = i0.ɵɵdefineInjectable({ factory: function QMSCKEditorTreeService_Factory() { return new QMSCKEditorTreeService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(QMSCKEditorGlobalService)); }, token: QMSCKEditorTreeService, providedIn: "root" });
7402
7350
  QMSCKEditorTreeService.decorators = [
@@ -7687,7 +7635,7 @@ QMSCKEditorRelatedComponent.decorators = [
7687
7635
  { type: Component, args: [{
7688
7636
  selector: 'app-dialog',
7689
7637
  template: "<div id=\"qmsckeditor_tree\" class=\"qmsckeditor qmsckeditor__tree__containter\">\r\n <span\r\n mat-icon-button\r\n class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor_tree_001\" mat-dialog-content>\r\n <h2 *ngIf=\"!isOnlyDocument\">\r\n {{ LANG.QMSCKEDITOR.ADD_DOCUMENT_PROCESS }}\r\n </h2>\r\n <h2 *ngIf=\"isOnlyDocument\">{{ LANG.QMSCKEDITOR.ADD_DOCUMENT }}</h2>\r\n </div>\r\n <div\r\n id=\"qmsckeditor_tree_002\"\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.QMSCKEDITOR.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 <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n style=\"height: 50vh\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n style=\"height: 50vh\"\r\n >\r\n <mat-option\r\n *cdkVirtualFor=\"let option of filteredOptions\"\r\n [value]=\"option\"\r\n >\r\n <div\r\n *ngIf=\"option.type == 1\"\r\n class=\"col-12\"\r\n (click)=\"selectRelated(option.id, option.type)\"\r\n >\r\n <span\r\n ><img\r\n class=\"mat-icon\"\r\n src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAiElEQVR4AezOAQaAABQE0dDBuk2AjvCPGDrQb0GQ2NCqzDAAvOFP0ahLb7pvvjwBmn1ABrXqfhOqj/3KR+VBPioMOqPyIB+VB/moPMhH5UGdAk26rs6B/AABAgQIECBAgL4E2vcZpJFG+DA5DppPQweFk+MgHiAuB+L7VHTIeyDuBg9kDBcwCgBx1CcsdvijVwAAAABJRU5ErkJggg==\"\r\n /></span>\r\n <span>{{ option.name }}</span>\r\n </div>\r\n <div\r\n *ngIf=\"option.type == 2\"\r\n class=\"col-12\"\r\n (click)=\"selectRelated(option.id, option.type)\"\r\n >\r\n <span\r\n ><img\r\n class=\"mat-icon\"\r\n src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYAQMAAADaua+7AAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAZQTFRFAAAAbHV9mFYLuQAAAAJ0Uk5TAP9bkSK1AAAAKUlEQVR4nGNgQALyjT/AWPL/DDCG8dmAclgx4w8wZgeqBWEGIBuMEQAAaJkRERdvY48AAAAASUVORK5CYII=\"\r\n /></span>\r\n <span>{{ option.name }}</span>\r\n </div>\r\n </mat-option>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n <div id=\"qmsckeditor_tree_003\" class=\"row ml-0 mr-0 mt20\">\r\n <div id=\"qmsckeditor_tree_003_001\" class=\"content-box\">\r\n <strong *ngIf=\"!isOnlyDocument\">{{ LANG.QMSCKEDITOR.PROCESSES }}</strong>\r\n <qms-ckeditor-tree\r\n *ngIf=\"!isOnlyDocument\"\r\n [areaOfCurrentProcess]=\"areaOfCurrentProcess\"\r\n [listParentObj]=\"listParentProcessId\"\r\n [treeData]=\"treeProcessData\"\r\n [rawData]=\"processData\"\r\n [docType]=\"2\"\r\n [useExpandFeature]=\"true\"\r\n [allowSelectFolder]=\"isEnableFolder\"\r\n (selectNodeEvent)=\"selectProcessNode($event)\"\r\n (selectFolderEvent)=\"selectAreaNode($event)\"\r\n ></qms-ckeditor-tree>\r\n <div *ngIf=\"!isOnlyDocument\" class=\"line-divider\"></div>\r\n <strong>{{ LANG.QMSCKEDITOR.DOCUMENTS }}</strong>\r\n <qms-ckeditor-tree\r\n [areaOfCurrentProcess]=\"areaOfCurrentProcess\"\r\n [listParentObj]=\"listParentDocumentId\"\r\n [treeData]=\"treeDocumentData\"\r\n [rawData]=\"documentData\"\r\n [useExpandFeature]=\"true\"\r\n [docType]=\"1\"\r\n [allowSelectFolder]=\"isEnableFolder\"\r\n (selectNodeEvent)=\"selectDocumentNode($event)\"\r\n (selectFolderEvent)=\"selectHandbookNode($event)\"\r\n ></qms-ckeditor-tree>\r\n </div>\r\n </div>\r\n <div\r\n id=\"qmsckeditor_tree_004\"\r\n class=\"qmsckeditor button__groups mt20 row ml-0 mr-0\"\r\n >\r\n <button\r\n type=\"button\"\r\n class=\"save col-12\"\r\n mat-flat-button\r\n (click)=\"onAddDocumentProcess()\"\r\n >\r\n {{ LANG.QMSCKEDITOR.ADD }}\r\n </button>\r\n </div>\r\n</div>\r\n",
7690
- 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:470px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .page-break{width:100%}::ng-deep .qmsckeditor__tree__containter .input__field input{width:97%;padding:10px;outline:none;border:none;background:#eee}::ng-deep .qmsckeditor__tree__containter .input__field .mat-icon{margin-left:-35px;cursor:pointer;vertical-align:middle}::ng-deep .qmsckeditor__tree__containter .mat-tree{background:#00283a}::ng-deep .qmsckeditor__tree__containter .mat-tree-node{color:#fff;min-height:40px}::ng-deep .qmsckeditor__tree__containter .folder-icon{color:#a4b0de}::ng-deep .qmsckeditor__tree__containter .mat-icon{margin-bottom:5px}::ng-deep .qmsckeditor__tree__containter .content-box{min-width:375px;width:100%;height:435px;overflow-y:auto;background:#00283a;color:#fff}::ng-deep .qmsckeditor__tree__containter .content-box .content-box-item{width:100%;height:56px;border:1px solid #d4d5d6;padding:15px}::ng-deep .qmsckeditor__tree__containter .content-box .content-box-item:hover{background:#d8ddf0;cursor:pointer}::ng-deep .qmsckeditor__tree__containter .content-box .content-box-item .content-box-text{float:left;width:90%;height:26px;overflow:hidden}::ng-deep .qmsckeditor__tree__containter .content-box .content-box-item .content-box-icon{float:right}::ng-deep .qmsckeditor__tree__containter .content-box .content-box-item:not(:last-child){border-bottom:none}::ng-deep .qmsckeditor__tree__containter .content-box strong{text-transform:uppercase;margin:10px 0 0 2px}::ng-deep .qmsckeditor__tree__containter .line-divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px}::ng-deep .qmsckeditor__tree__containter .loading ::ng-deep .mat-progress-spinner{width:21px;height:21px;margin:0 auto;top:32px}::ng-deep .mat-autocomplete-panel.mat-autocomplete-visible{overflow:hidden;max-height:none}::ng-deep .mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden;display:none}"]
7638
+ 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__tree__containter .input__field input{width:97%;padding:10px;outline:none;border:none;background:#eee}::ng-deep .qmsckeditor__tree__containter .input__field .mat-icon{margin-left:-35px;cursor:pointer;vertical-align:middle}::ng-deep .qmsckeditor__tree__containter .mat-tree{background:#00283a}::ng-deep .qmsckeditor__tree__containter .mat-tree-node{color:#fff;min-height:40px}::ng-deep .qmsckeditor__tree__containter .folder-icon{color:#a4b0de}::ng-deep .qmsckeditor__tree__containter .mat-icon{margin-bottom:5px}::ng-deep .qmsckeditor__tree__containter .content-box{min-width:375px;width:100%;height:435px;overflow-y:auto;background:#00283a;color:#fff}::ng-deep .qmsckeditor__tree__containter .content-box .content-box-item{width:100%;height:56px;border:1px solid #d4d5d6;padding:15px}::ng-deep .qmsckeditor__tree__containter .content-box .content-box-item:hover{background:#d8ddf0;cursor:pointer}::ng-deep .qmsckeditor__tree__containter .content-box .content-box-item .content-box-text{float:left;width:90%;height:26px;overflow:hidden}::ng-deep .qmsckeditor__tree__containter .content-box .content-box-item .content-box-icon{float:right}::ng-deep .qmsckeditor__tree__containter .content-box .content-box-item:not(:last-child){border-bottom:none}::ng-deep .qmsckeditor__tree__containter .content-box strong{text-transform:uppercase;margin:10px 0 0 2px}::ng-deep .qmsckeditor__tree__containter .line-divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px}::ng-deep .qmsckeditor__tree__containter .loading ::ng-deep .mat-progress-spinner{width:21px;height:21px;margin:0 auto;top:32px}::ng-deep .mat-autocomplete-panel.mat-autocomplete-visible{overflow:hidden;max-height:none}::ng-deep .mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden;display:none}"]
7691
7639
  },] }
7692
7640
  ];
7693
7641
  QMSCKEditorRelatedComponent.ctorParameters = () => [
@@ -7829,6 +7777,9 @@ class QMSCKEditorLinkComponent extends QMSCKEditorBaseComponent {
7829
7777
  this.anchorByName = url.substr(hashIndex + 1, url.length - hashIndex);
7830
7778
  this.anchorTitle = this.data.title;
7831
7779
  }
7780
+ else if (typeId === LinkType.url) {
7781
+ //selectedProtocol
7782
+ }
7832
7783
  }
7833
7784
  onSelectedLinkType() {
7834
7785
  if (this.selectedLink === LinkType.anchorText) {
@@ -8018,7 +7969,7 @@ QMSCKEditorLinkComponent.decorators = [
8018
7969
  { type: Component, args: [{
8019
7970
  selector: 'qms-ckeditor-link',
8020
7971
  template: "<div id=\"qmsckeditor_link\" class=\"qmsckeditor qmsckeditor__link__container\">\r\n <div id=\"qmsckeditor_link_header\">\r\n <span id=\"qmsckeditor_link_header_001\" mat-icon-button class=\"qmsckeditor button__close\" (click)=\"onCloseDialog()\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor_link_header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor_link_header_001\">\r\n {{ LANG.QMSCKEDITOR.LINK }}\r\n </h2>\r\n </div>\r\n </div>\r\n <div id=\"qmsckeditor_link_type\" class=\"row\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_TYPE }}</mat-label>\r\n <mat-select disableOptionCentering name=\"linkTypeList\" [(ngModel)]=\"selectedLink\"\r\n (ngModelChange)=\"onSelectedLinkType()\">\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\r\n <div id=\"qmsckeditor_link_content\">\r\n <form [formGroup]=\"linkFormGroup\" class=\"qmsckeditor link__content height row\" *ngIf=\"selectedLink === 0\">\r\n <div id=\"qmsckeditor_link_url\" class=\"col-12 mt-1 pl-3 pr-3\">\r\n <mat-expansion-panel id=\"qmsckeditor_link_url_panel\" [expanded]=\"isExpanded\" (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ LANG.QMSCKEDITOR.URL_HEADER }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmsckeditor_link_url_001\" class=\"row mt-2\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TARGET }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedTarget\" formControlName=\"targetList\" 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 id=\"qmsckeditor_link_url_002\" class=\"row\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.PROTOCOL }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedProtocol\" formControlName=\"protocolList\" 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 id=\"qmsckeditor_link_url_003\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_URL }}</mat-label>\r\n <input matInput [(ngModel)]=\"url\" name=\"url\" formControlName=\"url\" />\r\n <mat-error *ngIf=\"linkFormGroup.get('url').hasError('required')\" class=\"mt5\">\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_url_004\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ADVISORY_TITLE }}</mat-label>\r\n <input matInput [(ngModel)]=\"advisoryTitle\" formControlName=\"advisoryTitle\" />\r\n <mat-error *ngIf=\"linkFormGroup.get('advisoryTitle').hasError('required')\" class=\"mt5\">\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_url_005\" class=\"qmsckeditor button__groups row\">\r\n <div class=\"col-6 pl-3\">\r\n <button class=\"save\" mat-flat-button (click)=\"eHandbook(false, false)\">\r\n {{ LANG.QMSCKEDITOR.HANDBOOK }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pr-3\">\r\n <button class=\"save\" mat-flat-button (click)=\"attachment()\">\r\n {{ LANG.QMSCKEDITOR.ATTACHMENT }}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </form>\r\n\r\n <form [formGroup]=\"anchorTextFormGroup\" class=\"qmsckeditor link__content height row\" *ngIf=\"selectedLink === 1\">\r\n <div id=\"qmsckeditor_link_anchor_text\" class=\"col-12 mt-1 pl-3 pr-3\">\r\n <mat-expansion-panel id=\"qmsckeditor_link_anchor_text_panel\" [expanded]=\"isExpanded\"\r\n (opened)=\"isExpanded = true\" (closed)=\"isExpanded = false\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ LANG.QMSCKEDITOR.ANCHOR_TEXT_HEADER }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmsckeditor_link_anchor_text_001\" class=\"row mt-2\">\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=\"anchorText\">\r\n <mat-option *ngFor=\"let editorAnchor of editorAnchors\" [value]=\"editorAnchor.anchorValue\"\r\n disableOptionCentering>\r\n {{ editorAnchor.viewValue }}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"\r\n anchorTextFormGroup.get('anchorText').hasError('required')\r\n \" class=\"mt5\">\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </form>\r\n\r\n <form [formGroup]=\"emailFormGroup\" class=\"qmsckeditor link__content height row\" *ngIf=\"selectedLink === 2\">\r\n <div id=\"qmsckeditor_link_email\" class=\"col-12 mt-1 pl-3 pr-3\">\r\n <mat-expansion-panel id=\"qmsckeditor_link_email_panel\" [expanded]=\"isExpanded\" (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ LANG.QMSCKEDITOR.EMAIL_HEADER }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmsckeditor_link_email_001\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.EMAIL_ADDRESS }}</mat-label>\r\n <input matInput [(ngModel)]=\"emailAddress\" formControlName=\"emailAddress\" />\r\n <mat-error *ngIf=\"emailFormGroup.get('emailAddress').hasError('required')\" class=\"mt5\">\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_email_002\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.EMAIL_SUBJECT }}</mat-label>\r\n <input matInput [(ngModel)]=\"emailSubject\" formControlName=\"emailSubject\" />\r\n <mat-error *ngIf=\"emailFormGroup.get('emailSubject').hasError('required')\" class=\"mt5\">\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_email_003\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.EMAIL_BODY }}</mat-label>\r\n <textarea matInput [(ngModel)]=\"emailBody\" formControlName=\"emailBody\"></textarea>\r\n <mat-error *ngIf=\"emailFormGroup.get('emailBody').hasError('required')\" class=\"mt5\">\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </form>\r\n\r\n <form [formGroup]=\"anchorDocFormGroup\" class=\"qmsckeditor link__content height row\" *ngIf=\"selectedLink === 3\">\r\n <div id=\"qmsckeditor_link_anchor_doc\" class=\"col-12 mt-1 pl-3 pr-3\">\r\n <mat-expansion-panel id=\"qmsckeditor_link_email_panel\" [expanded]=\"isExpanded\" (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ LANG.QMSCKEDITOR.EMAIL_HEADER }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmsckeditor_link_anchor_doc_001\" class=\"qmsckeditor button__groups row\">\r\n <div class=\"col-6 pl-3\">\r\n <button class=\"cancel\" mat-flat-button (click)=\"eHandbook(true, true)\">\r\n {{ LANG.QMSCKEDITOR.HANDBOOK }}\r\n </button>\r\n </div>\r\n </div>\r\n <div id=\"qmsckeditor_link_anchor_doc_002\" class=\"row mt-4\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.DOCUMENT }}</mat-label>\r\n <input matInput [(ngModel)]=\"anchorTitle\" formControlName=\"anchorTitle\" />\r\n <mat-error *ngIf=\"\r\n anchorDocFormGroup.get('anchorTitle').hasError('required')\r\n \" class=\"mt5\">\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_anchor_doc_003\" class=\"row mt-2\">\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)]=\"anchorByName\" formControlName=\"anchorByName\" disableOptionCentering>\r\n <mat-option *ngFor=\"let docAnchor of documentAnchors\" [value]=\"docAnchor.anchorValue\">\r\n {{ docAnchor.viewValue }}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"\r\n anchorDocFormGroup.get('anchorByName').hasError('required')\r\n \" class=\"mt5\">\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <div id=\"qmsckeditor_link_footer\" class=\"qmsckeditor button__groups row\">\r\n <div class=\"col-12 mt-3 pl-3 pr-3\">\r\n <button class=\"save\" mat-flat-button (click)=\"setLink()\" [disabled]=\"disableOkButton()\">\r\n {{ LANG.QMSCKEDITOR.OK }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>",
8021
- 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:470px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .page-break{width:100%}.qmsckeditor__link__container textarea.mat-input-element{min-height:130px}"]
7972
+ 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__link__container textarea.mat-input-element{min-height:130px}"]
8022
7973
  },] }
8023
7974
  ];
8024
7975
  QMSCKEditorLinkComponent.ctorParameters = () => [
@@ -8315,7 +8266,7 @@ QMSCKEditorTemplateComponent.decorators = [
8315
8266
  { type: Component, args: [{
8316
8267
  selector: 'app-qmsck-template',
8317
8268
  template: "<div\r\n id=\"qmsckeditor-template\"\r\n class=\"qmsckeditor qmsckeditor__template__container\"\r\n>\r\n <div id=\"qmsckeditor-template-header\">\r\n <span\r\n id=\"qmsckeditor-template-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\r\n id=\"qmsckeditor-template-header_002\"\r\n mat-dialog-content\r\n *ngIf=\"!isEdit\"\r\n >\r\n <h2 id=\"qmsckeditor-template_002_001\">\r\n {{ LANG.QMSCKEDITOR.CREATE_NEW_TEMPLATE }}\r\n </h2>\r\n </div>\r\n <div id=\"qmsckeditor-template-header_002\" mat-dialog-content *ngIf=\"isEdit\">\r\n <h2 id=\"qmsckeditor-template_002_001\">\r\n {{ LANG.QMSCKEDITOR.UPDATE_TEMPLATE }}\r\n </h2>\r\n </div>\r\n </div>\r\n\r\n <form [formGroup]=\"templateFormGroup\">\r\n <div\r\n id=\"qmsckeditor-template-content\"\r\n class=\"qmsckeditor template-content height\"\r\n >\r\n <div id=\"qmsckeditor-template-content_001\" class=\"col-12 mt-1 pl-2 pr-2\">\r\n <mat-expansion-panel\r\n id=\"qmsckeditor-template-panel\"\r\n [expanded]=\"isExpanded\"\r\n (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\"\r\n >\r\n <div id=\"qmsckeditor-template-panel_001\">\r\n <div id=\"qmsckeditor-template-panel_001_000\" class=\"mt-2\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TEMPLATE }}</mat-label>\r\n <mat-select\r\n formControlName=\"templateList\"\r\n [(ngModel)]=\"selectedId\"\r\n (ngModelChange)=\"onSelectChange()\"\r\n [disabled]=\"isEdit\"\r\n >\r\n <mat-option\r\n *ngFor=\"let template of templates\"\r\n [value]=\"template.id\"\r\n >\r\n {{ template.title }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor-template-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)]=\"template.title\"\r\n formControlName=\"title\"\r\n />\r\n <mat-error\r\n *ngIf=\"templateFormGroup.get('title').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor-template-panel_001_002\">\r\n <mat-form-field class=\"col-12 pl-0 pr-0\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.DESCRIPTION }}</mat-label>\r\n <textarea\r\n matInput\r\n [(ngModel)]=\"template.description\"\r\n formControlName=\"description\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"\r\n templateFormGroup.get('description').hasError('required')\r\n \"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div\r\n id=\"qmsckeditor-template-panel_001_003\"\r\n class=\"qmsckeditor button__groups row mr-0 ml-0\"\r\n >\r\n <div class=\"col-6 pl-0\" *ngIf=\"!isEdit\">\r\n <button\r\n class=\"delete\"\r\n mat-flat-button\r\n (click)=\"deleteTemplate()\"\r\n [disabled]=\"selectedId === 0\"\r\n >\r\n {{ LANG.QMSCKEDITOR.DELETE }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pr-0\" *ngIf=\"!isEdit && selectedId === 0\">\r\n <button\r\n class=\"save\"\r\n mat-flat-button\r\n (click)=\"saveTemplate()\"\r\n [disabled]=\"templateFormGroup.invalid\"\r\n >\r\n {{ LANG.QMSCKEDITOR.SAVE }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pl-0\" *ngIf=\"isEdit\">\r\n <button\r\n class=\"cancel\"\r\n mat-flat-button\r\n (click)=\"cancelTemplate()\"\r\n [disabled]=\"selectedId === 0\"\r\n >\r\n {{ LANG.QMSCKEDITOR.CANCEL }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pr-0\" *ngIf=\"isEdit || selectedId !== 0\">\r\n <button\r\n class=\"save\"\r\n mat-flat-button\r\n (click)=\"updateTemplate()\"\r\n [disabled]=\"templateFormGroup.invalid\"\r\n >\r\n {{ LANG.QMSCKEDITOR.UPDATE }}\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",
8318
- 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:470px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .page-break,.qmsckeditor__template__container .mat-form-field{width:100%}.qmsckeditor__template__container textarea.mat-input-element{min-height:150px}.qmsckeditor__template__container .template-checkbox{padding-top:20px}"]
8269
+ 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__template__container .mat-form-field{width:100%}.qmsckeditor__template__container textarea.mat-input-element{min-height:150px}.qmsckeditor__template__container .template-checkbox{padding-top:20px}"]
8319
8270
  },] }
8320
8271
  ];
8321
8272
  QMSCKEditorTemplateComponent.ctorParameters = () => [
@@ -8443,7 +8394,7 @@ QMSCKEditorLoadTemplateComponent.decorators = [
8443
8394
  { type: Component, args: [{
8444
8395
  selector: 'app-qmsck-load-template',
8445
8396
  template: "<div\r\n id=\"qmsckeditor-load-template\"\r\n class=\"qmsckeditor qmsckeditor__loadtemplate__container\"\r\n>\r\n <div id=\"qmsckeditor-load-template-header\">\r\n <span\r\n id=\"qmsckeditor-load-template-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-load-template-header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor-template_002_001\">\r\n {{ LANG.QMSCKEDITOR.CONTENT_TEMPLATE }}\r\n </h2>\r\n </div>\r\n </div>\r\n <div id=\"load-template_002\">\r\n <div id=\"load-template_002_001\" class=\"title col-12 mt-3\">\r\n <h2 id=\"load-template_002_001_001\">\r\n {{ LANG.QMSCKEDITOR.CHOOSE_TEMPLATE }}\r\n </h2>\r\n </div>\r\n </div>\r\n <div\r\n id=\"qmsckeditor-load-template-content\"\r\n class=\"qmsckeditor template-content height\"\r\n >\r\n <div id=\"qmsckeditor-load-template-content_003\" class=\"mt-1 pl-2 pr-2\">\r\n <mat-card\r\n class=\"qmsckeditor card col-12\"\r\n *ngFor=\"let template of templates\"\r\n >\r\n <div class=\"row\">\r\n <div\r\n class=\"qmsckeditor__cursor col-10\"\r\n (click)=\"onSelectTemplate(template.id)\"\r\n >\r\n <div class=\"col-12 pl-0 title\">\r\n <span>{{ template.title }}</span>\r\n </div>\r\n <div class=\"col-12 pl-0 content\">\r\n <span>{{ template.description }}</span>\r\n </div>\r\n </div>\r\n <div class=\"qmsckeditor__cursor col-1\">\r\n <mat-icon (click)=\"onEditTemplate(template.id)\">edit</mat-icon>\r\n </div>\r\n <div class=\"qmsckeditor__cursor col-1\">\r\n <mat-icon (click)=\"onDeleteTemplate(template.id)\">delete</mat-icon>\r\n </div>\r\n </div>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n",
8446
- 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:470px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .page-break{width:100%}.qmsckeditor__loadtemplate__container .template-checkbox{padding-top:20px}"]
8397
+ 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__loadtemplate__container .template-checkbox{padding-top:20px}"]
8447
8398
  },] }
8448
8399
  ];
8449
8400
  QMSCKEditorLoadTemplateComponent.ctorParameters = () => [
@@ -8454,24 +8405,87 @@ QMSCKEditorLoadTemplateComponent.ctorParameters = () => [
8454
8405
  { type: String, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
8455
8406
  ];
8456
8407
 
8457
- class UploadAdapter {
8458
- constructor(loader) {
8408
+ class QmsUploadAdapter {
8409
+ constructor(loader, config) {
8459
8410
  this.loader = loader;
8411
+ this.config = config;
8412
+ this.config.imageUploadTypes = this.config.imageUploadTypes || 'png,jpeg,jpg';
8413
+ this.config.maxFileSizeMB = this.config.maxFileSizeMB || 2;
8414
+ if (this.config.imageUploadTypes.indexOf('jpeg') > -1) {
8415
+ this.config.imageUploadTypes += ',jpg';
8416
+ }
8417
+ else if (this.config.imageUploadTypes.indexOf('jpg') > -1) {
8418
+ this.config.imageUploadTypes += ',jpeg';
8419
+ }
8420
+ }
8421
+ abort() {
8422
+ if (this.xhr) {
8423
+ this.xhr.abort();
8424
+ }
8425
+ }
8426
+ _initRequest() {
8427
+ const xhr = this.xhr = new XMLHttpRequest();
8428
+ xhr.open('POST', `${this.config.apiUrl}ckeditorUpload/UploadImage`, true);
8429
+ xhr.responseType = 'json';
8430
+ }
8431
+ _initListeners(resolve, reject, filename) {
8432
+ const xhr = this.xhr;
8433
+ const loader = this.loader;
8434
+ const genericErrorText = `${this.config.LANG.QMSCKEDITOR.FAILED_TO_UPLOAD_FILE}: ${filename}.`;
8435
+ xhr.addEventListener('error', () => reject(genericErrorText));
8436
+ xhr.addEventListener('abort', () => reject());
8437
+ xhr.addEventListener('load', () => {
8438
+ const response = xhr.response;
8439
+ if (!response || response.error) {
8440
+ return reject(response && response.error ? response.error.message : genericErrorText);
8441
+ }
8442
+ resolve({ default: response });
8443
+ });
8444
+ if (xhr.upload) {
8445
+ xhr.upload.addEventListener('progress', evt => {
8446
+ if (evt.lengthComputable) {
8447
+ loader.uploadTotal = evt.total;
8448
+ loader.uploaded = evt.loaded;
8449
+ }
8450
+ });
8451
+ }
8452
+ }
8453
+ _sendRequest(file) {
8454
+ const data = new FormData();
8455
+ data.append('file', file, file.name);
8456
+ data.append('name', file.name);
8457
+ this.xhr.send(data);
8458
+ }
8459
+ _getExtension(file) {
8460
+ if (!file.name) {
8461
+ return '';
8462
+ }
8463
+ const filenames = file.name.toLowerCase().split('.');
8464
+ if (filenames.length < 1) {
8465
+ return '';
8466
+ }
8467
+ return filenames[1];
8460
8468
  }
8461
8469
  upload() {
8462
8470
  return this.loader.file
8463
8471
  .then((file) => {
8464
8472
  return new Promise((resolve, reject) => {
8465
- const myReader = new FileReader();
8466
- myReader.onloadend = () => {
8467
- resolve({ default: myReader.result });
8473
+ const reader = new FileReader();
8474
+ reader.readAsArrayBuffer(file);
8475
+ reader.onload = () => {
8476
+ const fileExtension = this._getExtension(file);
8477
+ if (this.config.imageUploadTypes.indexOf(fileExtension) > -1) {
8478
+ if (file.size > (this.config.maxFileSizeMB * 1024 * 1024)) {
8479
+ reject(`${this.config.LANG.QMSCKEDITOR.UPLOAD_FILE_OVERSIZE}`.replace('{0}', this.config.maxFileSizeMB.toString()));
8480
+ }
8481
+ this._initRequest();
8482
+ this._initListeners(resolve, reject, file.name);
8483
+ this._sendRequest(file);
8484
+ }
8485
+ else {
8486
+ reject(`${this.config.LANG.QMSCKEDITOR.UPLOAD_FILE_NOT_VALID_FORMAT}`.replace('{0}', this.config.imageUploadTypes));
8487
+ }
8468
8488
  };
8469
- // if (file.size > 512000) {
8470
- // const msg = `${file.name} is more than 500kb. Sorry, it has to be less than or equal to 500kb`;
8471
- // QMSCKEditorToastService.error(msg);
8472
- // reject();
8473
- // }
8474
- myReader.readAsDataURL(file);
8475
8489
  });
8476
8490
  })
8477
8491
  .catch((error) => {
@@ -8495,7 +8509,13 @@ CKEditorEventConst.QMSCK_IMAGEMAP_PLUGIN_RESP = 'QMSCK_IMAGEMAP_PLUGIN_RESP';
8495
8509
  CKEditorEventConst.QMSCK_BPMN_PLUGIN_MSG = 'QMSCK_BPMN_PLUGIN_MSG';
8496
8510
  CKEditorEventConst.QMSCK_BPMN_PLUGIN_RESP = 'QMSCK_BPMN_PLUGIN_RESP';
8497
8511
  CKEditorEventConst.QMSCK_BPMN = 'bpmn';
8498
- CKEditorEventConst.QMSCK_TOGGLE_TOOLBAR_MSG = 'QMSCK_TOGGLE_TOOLBAR_MSG';
8512
+ CKEditorEventConst.QMSCK_ABOUT_CKEDITOR_PLUGIN_MSG = "QMSCK_ABOUT_CKEDITOR_PLUGIN_MSG";
8513
+ CKEditorEventConst.QMSCK_FLOWCHART_PLUGIN_MSG = 'QMSCK_FLOWCHART_PLUGIN_MSG';
8514
+ CKEditorEventConst.QMSCK_FLOWCHART_PLUGIN_RESP = 'QMSCK_FLOWCHART_PLUGIN_RESP';
8515
+ CKEditorEventConst.QMSCK_FLOWCHART = 'flowchart';
8516
+ CKEditorEventConst.QMSCK_TOGGLE_TOOLBAR_MSG = 'QMSCK_TOGGLE_TOOLBAR_MSG';
8517
+ CKEditorEventConst.QMSCK_BROWSE_VIDEO_MSG = 'QMSCK_BROWSE_VIDEO_MSG';
8518
+ CKEditorEventConst.QMSCK_BROWSE_VIDEO_RESP = 'QMSCK_BROWSE_VIDEO_RESP';
8499
8519
 
8500
8520
  var IFRAME_SRC = '//cdn.iframe.ly/api/iframe';
8501
8521
  var API_KEY = 'b499e92e857f435c39c14d';
@@ -8791,6 +8811,7 @@ FlowChartConst.SHAPE_FLOWCHART = 'shapeFlowChart';
8791
8811
  FlowChartConst.PROCESS_SHAPE_FLOWCHART = 'processShapeFlowChart';
8792
8812
  FlowChartConst.SHAPE_FLOWCHART_LOADING = 'SHAPE_FLOWCHART_LOADING';
8793
8813
  FlowChartConst.IS_SHOW_CONNECTYPE = 'isShowConnectType';
8814
+ FlowChartConst.MY_CELL_VIEW = 'MY_CELL_VIEW';
8794
8815
  FlowChartConst.SHAPE_TYPE = 'shapeType';
8795
8816
  FlowChartConst.EDIT_MODE = 'EDIT_MODE';
8796
8817
  FlowChartConst.PROCESS_SHAPE_DETAIL_MODEL = 'PROCESS_SHAPE_DETAIL_MODEL';
@@ -8804,7 +8825,15 @@ FlowChartConst.NOT_ALLOW_CREATE_DELETE_FLOW_TEMPLATE = 'NOT_ALLOW_CREATE_DELETE_
8804
8825
  FlowChartConst.SAVE_AS_TEMPLATE = 'SAVE_AS_TEMPLATE';
8805
8826
  FlowChartConst.DELETE_TEMPLATE = 'DELETE_TEMPLATE';
8806
8827
  FlowChartConst.RESET_TEMPLATE = 'RESET_TEMPLATE';
8807
- FlowChartConst.ORG_JSONCONTENT = 'ORG_JSONCONTENT';
8828
+ FlowChartConst.ORG_JSONCONTENT = 'ORG_JSONCONTENT';
8829
+ FlowChartConst.KS_CHANGE_TEMPLATE = 'KS_ORG_JSONCONTENT';
8830
+ FlowChartConst.KS_DELETE_TEMPLATE = 'KS_DELETE_TEMPLATE';
8831
+ FlowChartConst.KS_SAVE_AS_TEMPLATE = 'KS_SAVE_AS_TEMPLATE';
8832
+ FlowChartConst.KS_RESET_TEMPLATE = 'KS_RESET_TEMPLATE';
8833
+ FlowChartConst.KS_ORG_JSONCONTENT = 'KS_ORG_JSONCONTENT';
8834
+ FlowChartConst.KS_SELECTED_FLOWCHART_ID = 'KS_SELECTED_FLOWCHART_ID';
8835
+ FlowChartConst.KS_SELECTED_JSONCONTENT = 'KS_SELECTED_JSONCONTENT';
8836
+ FlowChartConst.KS_IS_SELECTED_TEMPLATE = 'KS_IS_SELECTED_TEMPLATE';
8808
8837
 
8809
8838
  function create() {
8810
8839
  function s4() {
@@ -8828,6 +8857,9 @@ class QMSCKEditorBpmn {
8828
8857
  }
8829
8858
  }
8830
8859
 
8860
+ class QMSCKEditorSaveAsTemplate {
8861
+ }
8862
+
8831
8863
  class QMSCKEditorBpmnApiService extends QMSCKEditorBaseService {
8832
8864
  bpmnModifying(bpmn) {
8833
8865
  return this.post('ckeditorBpmn/BpmnModifying', bpmn);
@@ -9700,10 +9732,36 @@ function getInspectorConfiguration(bpmn2, LANG) {
9700
9732
  style: 'text-align:end;margin-right:4px;margin-top:16px;'
9701
9733
  },
9702
9734
  input: {
9703
- style: 'width:163px;'
9735
+ style: 'width:170px;'
9704
9736
  }
9705
9737
  }
9706
9738
  },
9739
+ 'font-family': {
9740
+ type: 'select',
9741
+ options: [
9742
+ 'Calibri',
9743
+ 'Cambria',
9744
+ 'Arial',
9745
+ 'Helvetica',
9746
+ 'Times New Roman',
9747
+ 'Courier New',
9748
+ 'Georgia',
9749
+ 'Garamond',
9750
+ 'Tahoma',
9751
+ 'Lucida Console',
9752
+ 'Comic Sans MS'
9753
+ ],
9754
+ label: `${LANG.BPMN.FONT_FAMILY}`,
9755
+ defaultValue: 'Calibri'
9756
+ },
9757
+ 'font-size': {
9758
+ type: 'range',
9759
+ min: 7,
9760
+ max: 80,
9761
+ unit: 'px',
9762
+ label: `${LANG.BPMN.FONT_SIZE}`,
9763
+ defaultValue: 12
9764
+ },
9707
9765
  sublanes: {
9708
9766
  type: 'list',
9709
9767
  label: 'Add lanes',
@@ -9734,10 +9792,36 @@ function getInspectorConfiguration(bpmn2, LANG) {
9734
9792
  style: 'text-align:end;margin-right:4px;margin-top:16px;'
9735
9793
  },
9736
9794
  input: {
9737
- style: 'width:163px;'
9795
+ style: 'width:170px;'
9738
9796
  }
9739
9797
  }
9740
9798
  },
9799
+ 'font-family': {
9800
+ type: 'select',
9801
+ options: [
9802
+ 'Calibri',
9803
+ 'Cambria',
9804
+ 'Arial',
9805
+ 'Helvetica',
9806
+ 'Times New Roman',
9807
+ 'Courier New',
9808
+ 'Georgia',
9809
+ 'Garamond',
9810
+ 'Tahoma',
9811
+ 'Lucida Console',
9812
+ 'Comic Sans MS'
9813
+ ],
9814
+ label: `${LANG.BPMN.FONT_FAMILY}`,
9815
+ defaultValue: 'Calibri'
9816
+ },
9817
+ 'font-size': {
9818
+ type: 'range',
9819
+ min: 7,
9820
+ max: 80,
9821
+ unit: 'px',
9822
+ label: `${LANG.BPMN.FONT_SIZE}`,
9823
+ defaultValue: 12
9824
+ },
9741
9825
  sublanes: {
9742
9826
  type: 'list',
9743
9827
  label: `${LANG.BPMN.ADD_SUBLANES}`,
@@ -9786,7 +9870,7 @@ function getInspectorConfiguration(bpmn2, LANG) {
9786
9870
  style: 'text-align:end;margin-right:4px;margin-top:16px;'
9787
9871
  },
9788
9872
  input: {
9789
- style: 'width:163px;'
9873
+ style: 'width:170px;'
9790
9874
  }
9791
9875
  }
9792
9876
  }
@@ -9830,73 +9914,73 @@ function getInspectorConfiguration(bpmn2, LANG) {
9830
9914
  'header/fill': {
9831
9915
  type: 'color',
9832
9916
  label: `${LANG.BPMN.HEADER_COLOR}`,
9833
- group: 'appearance',
9917
+ group: `${LANG.BPMN.APPEARANCE}`,
9834
9918
  index: 1
9835
9919
  },
9836
9920
  'header/stroke': {
9837
9921
  type: 'color',
9838
9922
  label: `${LANG.BPMN.HEADER_STROKE_COLOR}`,
9839
- group: 'appearance',
9923
+ group: `${LANG.BPMN.APPEARANCE}`,
9840
9924
  index: 2
9841
9925
  },
9842
9926
  'headerLabel/fill': {
9843
9927
  type: 'color',
9844
9928
  label: `${LANG.BPMN.HEADER_LABEL_COLOR}`,
9845
- group: 'appearance',
9929
+ group: `${LANG.BPMN.APPEARANCE}`,
9846
9930
  index: 3
9847
9931
  },
9848
9932
  'lanes/fill': {
9849
9933
  type: 'color',
9850
9934
  label: `${LANG.BPMN.LANE_BODY_COLOR}`,
9851
- group: 'appearance',
9935
+ group: `${LANG.BPMN.APPEARANCE}`,
9852
9936
  index: 4
9853
9937
  },
9854
9938
  'lanes/stroke': {
9855
9939
  type: 'color',
9856
9940
  label: `${LANG.BPMN.LANE_STROKE_COLOR}`,
9857
- group: 'appearance',
9941
+ group: `${LANG.BPMN.APPEARANCE}`,
9858
9942
  index: 5
9859
9943
  },
9860
9944
  'laneHeaders/fill': {
9861
9945
  type: 'color',
9862
9946
  label: `${LANG.BPMN.LANE_HEADER_COLOR}`,
9863
- group: 'appearance',
9947
+ group: `${LANG.BPMN.APPEARANCE}`,
9864
9948
  index: 6
9865
9949
  },
9866
9950
  'laneHeaders/stroke': {
9867
9951
  type: 'color',
9868
9952
  label: `${LANG.BPMN.LANE_HEADER_STROKE}`,
9869
- group: 'appearance',
9953
+ group: `${LANG.BPMN.APPEARANCE}`,
9870
9954
  index: 7
9871
9955
  },
9872
9956
  'laneLabels/fill': {
9873
9957
  type: 'color',
9874
9958
  label: `${LANG.BPMN.LANE_LABEL_COLOR}`,
9875
- group: 'appearance',
9959
+ group: `${LANG.BPMN.APPEARANCE}`,
9876
9960
  index: 8
9877
9961
  },
9878
9962
  'milestoneHeaders/fill': {
9879
9963
  type: 'color',
9880
9964
  label: `${LANG.BPMN.MILESTONE_HEADER_FILL}`,
9881
- group: 'appearance',
9965
+ group: `${LANG.BPMN.APPEARANCE}`,
9882
9966
  index: 9
9883
9967
  },
9884
9968
  'milestoneHeaders/stroke': {
9885
9969
  type: 'color',
9886
9970
  label: `${LANG.BPMN.MILESTONE_STROKE}`,
9887
- group: 'appearance',
9971
+ group: `${LANG.BPMN.APPEARANCE}`,
9888
9972
  index: 10
9889
9973
  },
9890
9974
  'milestoneLabels/fill': {
9891
9975
  type: 'color',
9892
9976
  label: `${LANG.BPMN.MILESTONE_LABEL_COLOR}`,
9893
- group: 'appearance',
9977
+ group: `${LANG.BPMN.APPEARANCE}`,
9894
9978
  index: 11
9895
9979
  },
9896
9980
  'milestoneLines/stroke': {
9897
9981
  type: 'color',
9898
9982
  label: `${LANG.BPMN.MILESTONE_LINE_COLOR}`,
9899
- group: 'appearance',
9983
+ group: `${LANG.BPMN.APPEARANCE}`,
9900
9984
  index: 12
9901
9985
  },
9902
9986
  'headerLabel/text-anchor': {
@@ -11340,6 +11424,7 @@ class BpmnService {
11340
11424
  }).on({
11341
11425
  'blank:pointerdown': (evt, x, y) => {
11342
11426
  closeTools();
11427
+ this.setSelectedCellView(null);
11343
11428
  // selection.startSelecting(evt, x, y);
11344
11429
  if (keyboard.isActive('shift', evt)) {
11345
11430
  selection.startSelecting(evt, x, y);
@@ -11354,6 +11439,7 @@ class BpmnService {
11354
11439
  },
11355
11440
  'cell:pointerup': (cellView) => {
11356
11441
  openTools(cellView);
11442
+ this.setSelectedCellView(cellView);
11357
11443
  },
11358
11444
  'link:mouseenter': (linkView) => {
11359
11445
  // Open tool only if there is none yet
@@ -11588,10 +11674,12 @@ class BpmnService {
11588
11674
  verticalGap: 20,
11589
11675
  resizeToFit: false
11590
11676
  });
11677
+ const setSelectedCellView = this.setSelectedCellView;
11591
11678
  // Create tooltips for all the shapes in stencil.
11592
11679
  stencil.on('element:drop', (elementView) => {
11593
11680
  // open inspector after a new element dropped from stencil
11594
11681
  openTools(elementView);
11682
+ setSelectedCellView(elementView);
11595
11683
  });
11596
11684
  /* KEYBOARD */
11597
11685
  if (editMode === FlowchartViewMode.Edit) {
@@ -11617,21 +11705,32 @@ class BpmnService {
11617
11705
  },
11618
11706
  'ctrl+x shift+delete': () => {
11619
11707
  clipboard.cutElements(selection.collection, graph);
11708
+ setSelectedCellView(null);
11620
11709
  },
11621
11710
  'delete backspace': (evt) => {
11622
11711
  evt.preventDefault();
11623
11712
  graph.removeCells(selection.collection.toArray());
11713
+ setSelectedCellView(null);
11624
11714
  },
11625
11715
  'ctrl+z': () => {
11716
+ const notify = isSelectedCellViewInSelection(selection);
11626
11717
  commandManager.undo();
11627
11718
  selection.cancelSelection();
11719
+ if (notify) {
11720
+ setSelectedCellView(null);
11721
+ }
11628
11722
  },
11629
11723
  'ctrl+y': () => {
11724
+ const notify = isSelectedCellViewInSelection(selection);
11630
11725
  commandManager.redo();
11631
11726
  selection.cancelSelection();
11727
+ if (notify) {
11728
+ setSelectedCellView(null);
11729
+ }
11632
11730
  },
11633
11731
  'ctrl+a': () => {
11634
11732
  selection.collection.reset(graph.getElements());
11733
+ setSelectedCellView(null);
11635
11734
  },
11636
11735
  'ctrl+plus': (evt) => {
11637
11736
  evt.preventDefault();
@@ -11654,7 +11753,6 @@ class BpmnService {
11654
11753
  return;
11655
11754
  }
11656
11755
  closeTools();
11657
- window[`my_cellView`] = cellView;
11658
11756
  const cell = cellView.model;
11659
11757
  const type = cell.get('type');
11660
11758
  // const tablName = window[FlowChartConst.TAB_NAME];
@@ -11670,7 +11768,7 @@ class BpmnService {
11670
11768
  // }
11671
11769
  // });
11672
11770
  // }
11673
- const inspector = joint.ui.Inspector.create('#inspector-container', {
11771
+ joint.ui.Inspector.create('#inspector-container', {
11674
11772
  cell,
11675
11773
  inputs: inputs[type],
11676
11774
  groups: {
@@ -11834,8 +11932,6 @@ class BpmnService {
11834
11932
  // }
11835
11933
  /* QMS-2125: Show process connect type */
11836
11934
  window[FlowChartConst.IS_SHOW_CONNECTYPE] = true;
11837
- window[FlowChartConst.SELECTED_SHAPE_ID] = cellView.model.attributes.id;
11838
- window[FlowChartConst.SHAPE_TYPE] = cellView.model.attributes.type;
11839
11935
  window[FlowChartConst.SHAPE_FLOWCHART_LOADING] = true;
11840
11936
  /* QMS-1404: Customization */
11841
11937
  window[FlowChartConst.PAPER] = paper;
@@ -11847,6 +11943,11 @@ class BpmnService {
11847
11943
  freeTransform = null;
11848
11944
  joint.ui.Halo.clear(paper);
11849
11945
  }
11946
+ function isSelectedCellViewInSelection(selection) {
11947
+ const models = selection.collection.toArray() || [];
11948
+ const selectedShapeId = window[FlowChartConst.SELECTED_SHAPE_ID];
11949
+ return !!selectedShapeId && models.filter(model => model.attributes.id == selectedShapeId);
11950
+ }
11850
11951
  function showStatus(message, type) {
11851
11952
  $$1('.status').removeClass('info error success').addClass(type).html(message);
11852
11953
  $$1('#statusbar-container')
@@ -11934,8 +12035,13 @@ class BpmnService {
11934
12035
  this.jsonOriginalContent = JSON.stringify(graph.toJSON());
11935
12036
  window[FlowChartConst.ORG_JSONCONTENT] = this.jsonOriginalContent;
11936
12037
  window.postMessage(FlowChartConst.CHANGING_TEMPLATE, this.getOriginForSelf());
12038
+ this.setSelectedCellView(null);
11937
12039
  }
11938
12040
  },
12041
+ onClear: () => {
12042
+ graph.clear();
12043
+ this.setSelectedCellView(null);
12044
+ },
11939
12045
  onDeleteTemplate: () => {
11940
12046
  this.isSelectedTemplate = window[FlowChartConst.IS_SELECTED_TEMPLATE];
11941
12047
  if (this.isSelectedTemplate) {
@@ -11976,7 +12082,7 @@ class BpmnService {
11976
12082
  'tojson:pointerclick': toolbarCommands.toJSON,
11977
12083
  'load:pointerclick': toolbarCommands.loadGraph,
11978
12084
  'save:pointerclick': toolbarCommands.saveGraph,
11979
- 'clear:pointerclick': _.bind(graph.clear, graph),
12085
+ 'clear:pointerclick': toolbarCommands.onClear,
11980
12086
  'print:pointerclick': _.bind(paper.print, paper),
11981
12087
  'saveAsTemplate:pointerclick': toolbarCommands.onSaveAsTemplate,
11982
12088
  'selectTemplate:option:select': toolbarCommands.onSelected,
@@ -12098,6 +12204,19 @@ class BpmnService {
12098
12204
  }
12099
12205
  }
12100
12206
  }
12207
+ setSelectedCellView(cellView) {
12208
+ if (cellView) {
12209
+ window[FlowChartConst.MY_CELL_VIEW] = cellView;
12210
+ window[FlowChartConst.SELECTED_SHAPE_ID] = cellView.model.attributes.id;
12211
+ window[FlowChartConst.SHAPE_TYPE] = cellView.model.attributes.type;
12212
+ }
12213
+ else {
12214
+ window[FlowChartConst.MY_CELL_VIEW] = null;
12215
+ window[FlowChartConst.SELECTED_SHAPE_ID] = '';
12216
+ window[FlowChartConst.SHAPE_TYPE] = '';
12217
+ }
12218
+ window.postMessage(FlowChartConst.SELECTED_SHAPE_ID, '*');
12219
+ }
12101
12220
  getTempGraph() {
12102
12221
  if (this.jsonTempContent) {
12103
12222
  this.loadProcessDiagram(JSON.parse(this.jsonTempContent));
@@ -12162,20 +12281,23 @@ class BpmnService {
12162
12281
  }
12163
12282
  }
12164
12283
  openShapeFunctionality(LANG) {
12165
- const myCellView = window[`my_cellView`];
12166
- const inputs = InspectorFunction.getInspectorConfiguration(bpmn2, LANG);
12167
- const cell = myCellView.model;
12168
- const type = cell.get('type');
12169
- const inspector = joint.ui.Inspector.create('#inspector-container', {
12170
- cell,
12171
- inputs: inputs[type],
12172
- groups: {
12173
- general: { label: type, index: 1 },
12174
- defaults: { index: 2 },
12175
- fontsize: { index: 3 },
12176
- appearance: { index: 4 }
12177
- }
12178
- });
12284
+ const myCellView = window[FlowChartConst.MY_CELL_VIEW];
12285
+ if (!!myCellView) {
12286
+ joint.ui.Inspector.close();
12287
+ const inputs = InspectorFunction.getInspectorConfiguration(bpmn2, LANG);
12288
+ const cell = myCellView.model;
12289
+ const type = cell.get('type');
12290
+ joint.ui.Inspector.create('#inspector-container', {
12291
+ cell,
12292
+ inputs: inputs[type],
12293
+ groups: {
12294
+ general: { label: type, index: 1 },
12295
+ defaults: { index: 2 },
12296
+ fontsize: { index: 3 },
12297
+ appearance: { index: 4 }
12298
+ }
12299
+ });
12300
+ }
12179
12301
  }
12180
12302
  setZoomToFit(editMode) {
12181
12303
  if (editMode === FlowchartViewMode.View) {
@@ -12342,20 +12464,55 @@ BpmnService.decorators = [
12342
12464
  },] }
12343
12465
  ];
12344
12466
 
12467
+ class QMSCKEditorFlowchart {
12468
+ constructor() {
12469
+ this.id = '';
12470
+ this.jsonContent = '';
12471
+ this.isTemplate = false;
12472
+ this.templateName = '';
12473
+ }
12474
+ }
12475
+
12476
+ class QMSCKEditorFlowchartService extends QMSCKEditorBaseService {
12477
+ flowchartModifying(flowchart) {
12478
+ return this.post('ckeditorFlowchart/FlowchartModifying', flowchart);
12479
+ }
12480
+ getFlowchartById(id) {
12481
+ return this.get('ckeditorFlowchart/GetFlowchartById', { id });
12482
+ }
12483
+ flowchartGetTemplates() {
12484
+ return this.get('ckeditorFlowchart/FlowchartGetTemplates');
12485
+ }
12486
+ flowchartDeleteTemplate(id) {
12487
+ return this.delete('ckeditorFlowchart/FlowchartDeleteTemplate', { id });
12488
+ }
12489
+ }
12490
+ QMSCKEditorFlowchartService.ɵprov = i0.ɵɵdefineInjectable({ factory: function QMSCKEditorFlowchartService_Factory() { return new QMSCKEditorFlowchartService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(QMSCKEditorGlobalService)); }, token: QMSCKEditorFlowchartService, providedIn: "root" });
12491
+ QMSCKEditorFlowchartService.decorators = [
12492
+ { type: Injectable, args: [{
12493
+ providedIn: 'root'
12494
+ },] }
12495
+ ];
12496
+
12345
12497
  class SaveTemplateComponent extends QMSCKEditorBaseComponent {
12346
- constructor(translate, bmpnService, bpmnApiService, dialogRef, data) {
12498
+ constructor(translate, bmpnService, bpmnApiService, flowchartService, dialogRef, data) {
12347
12499
  super();
12348
12500
  this.translate = translate;
12349
12501
  this.bmpnService = bmpnService;
12350
12502
  this.bpmnApiService = bpmnApiService;
12503
+ this.flowchartService = flowchartService;
12351
12504
  this.dialogRef = dialogRef;
12352
12505
  this.data = data;
12353
12506
  this.saveFormGroup = new FormGroup({
12354
12507
  templateName: new FormControl('', [Validators.required])
12355
12508
  });
12509
+ this.templateType = '';
12356
12510
  this.templateName = '';
12357
12511
  this.bpmn = new QMSCKEditorBpmn();
12358
- this.bpmn = data;
12512
+ this.flowchart = new QMSCKEditorFlowchart();
12513
+ this.templateType = data.templateType;
12514
+ this.bpmn = data.bpmn;
12515
+ this.flowchart = null; //data.flowchart;
12359
12516
  }
12360
12517
  ngOnInit() {
12361
12518
  this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {
@@ -12365,20 +12522,38 @@ class SaveTemplateComponent extends QMSCKEditorBaseComponent {
12365
12522
  });
12366
12523
  }
12367
12524
  saveTemplate() {
12368
- this.bpmn.templateName = this.templateName;
12369
- this.bpmnApiService
12370
- .bpmnModifying(this.bpmn)
12371
- .pipe(takeUntil(this.ngUnsubcribe))
12372
- .subscribe((result) => {
12373
- if (result) {
12374
- this.bmpnService.addItemTemplate(result, this.bpmn);
12375
- QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);
12376
- this.onCloseDialog();
12377
- }
12378
- else {
12379
- QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);
12380
- }
12381
- });
12525
+ if (this.templateType === CKEditorEventConst.QMSCK_BPMN) {
12526
+ this.bpmn.templateName = this.templateName;
12527
+ this.bpmnApiService
12528
+ .bpmnModifying(this.bpmn)
12529
+ .pipe(takeUntil(this.ngUnsubcribe))
12530
+ .subscribe((result) => {
12531
+ if (result) {
12532
+ this.bmpnService.addItemTemplate(result, this.bpmn);
12533
+ QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);
12534
+ this.onCloseDialog();
12535
+ }
12536
+ else {
12537
+ QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);
12538
+ }
12539
+ });
12540
+ }
12541
+ else if (this.templateType === CKEditorEventConst.QMSCK_FLOWCHART) {
12542
+ this.flowchart.templateName = this.templateName;
12543
+ this.flowchartService
12544
+ .flowchartModifying(this.flowchart)
12545
+ .pipe(takeUntil(this.ngUnsubcribe))
12546
+ .subscribe((result) => {
12547
+ if (result) {
12548
+ QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);
12549
+ this.flowchart.id = result;
12550
+ this.dialogRef.close(this.flowchart);
12551
+ }
12552
+ else {
12553
+ QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);
12554
+ }
12555
+ });
12556
+ }
12382
12557
  }
12383
12558
  onCloseDialog() {
12384
12559
  this.dialogRef.close();
@@ -12395,24 +12570,89 @@ SaveTemplateComponent.ctorParameters = () => [
12395
12570
  { type: TranslateLibraryService },
12396
12571
  { type: BpmnService },
12397
12572
  { type: QMSCKEditorBpmnApiService },
12573
+ { type: QMSCKEditorFlowchartService },
12398
12574
  { type: MatDialogRef },
12399
- { type: QMSCKEditorBpmn, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
12575
+ { type: QMSCKEditorSaveAsTemplate, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
12576
+ ];
12577
+
12578
+ var ShapeFlowChartConnectionType;
12579
+ (function (ShapeFlowChartConnectionType) {
12580
+ ShapeFlowChartConnectionType[ShapeFlowChartConnectionType["Activity"] = 1] = "Activity";
12581
+ ShapeFlowChartConnectionType[ShapeFlowChartConnectionType["DocumentOrProcess"] = 2] = "DocumentOrProcess";
12582
+ ShapeFlowChartConnectionType[ShapeFlowChartConnectionType["Link"] = 3] = "Link";
12583
+ ShapeFlowChartConnectionType[ShapeFlowChartConnectionType["Attachment"] = 4] = "Attachment";
12584
+ })(ShapeFlowChartConnectionType || (ShapeFlowChartConnectionType = {}));
12585
+
12586
+ class QMSCKEditorBpmnData {
12587
+ constructor() {
12588
+ this.id = '';
12589
+ this.entityId = '';
12590
+ this.editorContent = '';
12591
+ }
12592
+ }
12593
+
12594
+ class CKEditorLinkConst {
12595
+ }
12596
+ CKEditorLinkConst.FOLDER_PARTIAL_URL = '/folder/';
12597
+ CKEditorLinkConst.DOCUMENT_PARTIAL_URL = '/document/';
12598
+ CKEditorLinkConst.AREA_PARTIAL_URL = '/area/detail/';
12599
+ CKEditorLinkConst.PROCESS_PARTIAL_URL = '/process-detail/';
12600
+
12601
+ class QMSCKEditorUploadService extends QMSCKEditorBaseService {
12602
+ uploadImage(file) {
12603
+ const formData = new FormData();
12604
+ formData.append('name', file.name);
12605
+ formData.append('file', file);
12606
+ return this.post('ckeditorUpload/UploadImage', formData);
12607
+ }
12608
+ }
12609
+ QMSCKEditorUploadService.ɵprov = i0.ɵɵdefineInjectable({ factory: function QMSCKEditorUploadService_Factory() { return new QMSCKEditorUploadService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(QMSCKEditorGlobalService)); }, token: QMSCKEditorUploadService, providedIn: "root" });
12610
+ QMSCKEditorUploadService.decorators = [
12611
+ { type: Injectable, args: [{
12612
+ providedIn: 'root'
12613
+ },] }
12400
12614
  ];
12401
12615
 
12616
+ class ILink {
12617
+ constructor() {
12618
+ this.target = TargetTypeName.new;
12619
+ this.documentType = QMSCKEditorDocumentType.other;
12620
+ this.url = '';
12621
+ this.title = '';
12622
+ this.icon = '';
12623
+ this.content = '';
12624
+ }
12625
+ }
12402
12626
  class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12403
- constructor(dialog, translate, bmpnService, bpmnApiService, dialogRef, data) {
12627
+ constructor(dialog, translate, bmpnService, bpmnApiService, linkService, uploadService, dialogRef, data) {
12404
12628
  super();
12405
12629
  this.dialog = dialog;
12406
12630
  this.translate = translate;
12407
12631
  this.bmpnService = bmpnService;
12408
12632
  this.bpmnApiService = bpmnApiService;
12633
+ this.linkService = linkService;
12634
+ this.uploadService = uploadService;
12409
12635
  this.dialogRef = dialogRef;
12410
12636
  this.data = data;
12411
12637
  this.expandedPanel = true;
12412
12638
  this.id = '';
12639
+ this.entityId = '';
12640
+ this.editorContent = '';
12413
12641
  this.bpmn = new QMSCKEditorBpmn();
12414
12642
  this.bpmnTemlates = [];
12415
- this.id = data;
12643
+ this.targets = [];
12644
+ this.connectionTypes = [];
12645
+ this.selectedTarget = TargetTypeName.new;
12646
+ this.linkUrl = '';
12647
+ this.linkTitle = '';
12648
+ this.anchorByName = '';
12649
+ this.linkIcon = '';
12650
+ this.linkId = '';
12651
+ this.documentType = QMSCKEditorDocumentType.other;
12652
+ this.id = data.id;
12653
+ this.module = data.module;
12654
+ this.entityId = data.entityId;
12655
+ this.editorContent = data.editorContent;
12416
12656
  }
12417
12657
  onMessage(event) {
12418
12658
  if (event.data === FlowChartConst.SAVE_AS_TEMPLATE) {
@@ -12422,7 +12662,7 @@ class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12422
12662
  this.onDeleteTemplate(this.LANG.BPMN.DELETE_TEMPLATE, this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_DELETE_TEMPLATE);
12423
12663
  }
12424
12664
  else if (event.data === FlowChartConst.MUST_SELECT_TEMPLATE) {
12425
- this.showInfoMessage(this.LANG.BPMN.SELECT_TEMPLATE, this.LANG.BPMN.SELECT_TEMPLATE_INFORMATION);
12665
+ this.showConfirmDialog(this.LANG.BPMN.SELECT_TEMPLATE, this.LANG.BPMN.SELECT_TEMPLATE_INFORMATION, true);
12426
12666
  }
12427
12667
  else if (event.data === FlowChartConst.CHANGING_TEMPLATE) {
12428
12668
  this.onSelectedTemplate();
@@ -12430,6 +12670,9 @@ class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12430
12670
  else if (event.data === FlowChartConst.RESET_TEMPLATE) {
12431
12671
  this.onResetTemplate();
12432
12672
  }
12673
+ else if (event.data === FlowChartConst.SELECTED_SHAPE_ID) {
12674
+ this.onSeletedCellView();
12675
+ }
12433
12676
  }
12434
12677
  ngOnInit() {
12435
12678
  return __awaiter(this, void 0, void 0, function* () {
@@ -12443,8 +12686,42 @@ class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12443
12686
  this.jsonContent = yield this.getJsonContent(this.id);
12444
12687
  }
12445
12688
  this.bmpnService.buildDiagram(this.bpmnTemlates, null, CKEditorEventConst.QMSCK_BPMN, this.jsonContent, 1, this.LANG);
12689
+ this.initDocumentIcons();
12690
+ this.initTarget();
12691
+ this.initConnectionType();
12692
+ this.initLink();
12446
12693
  });
12447
12694
  }
12695
+ initTarget() {
12696
+ if (this.targets) {
12697
+ this.targets.push({ id: TargetTypeName.new, name: this.LANG.QMSCKEDITOR.TARTGET_NEW });
12698
+ this.targets.push({ id: TargetTypeName.same, name: this.LANG.QMSCKEDITOR.TARGET_SAME });
12699
+ }
12700
+ }
12701
+ initConnectionType() {
12702
+ if (this.connectionTypes) {
12703
+ this.connectionTypes.push({ id: ShapeFlowChartConnectionType.DocumentOrProcess, name: this.LANG.QMSCKEDITOR.DOCUMENT_PROCESS });
12704
+ this.connectionTypes.push({ id: ShapeFlowChartConnectionType.Attachment, name: this.LANG.QMSCKEDITOR.ATTACHMENT });
12705
+ }
12706
+ }
12707
+ initDocumentIcons() {
12708
+ this.documentIcons = {};
12709
+ this.documentIcons[QMSCKEditorDocumentType.document] = 'text_snippet';
12710
+ this.documentIcons[QMSCKEditorDocumentType.process] = 'account_tree';
12711
+ this.documentIcons[QMSCKEditorDocumentType.area] = 'folder';
12712
+ this.documentIcons[QMSCKEditorDocumentType.folder] = 'folder';
12713
+ this.documentIcons[QMSCKEditorDocumentType.other] = 'text_snippet';
12714
+ }
12715
+ initLink() {
12716
+ this.link = null;
12717
+ this.linkId = '';
12718
+ this.documentType = QMSCKEditorDocumentType.other;
12719
+ this.linkIcon = this.documentIcons[QMSCKEditorDocumentType.other];
12720
+ this.selectedTarget = TargetTypeName.new;
12721
+ this.anchorByName = '';
12722
+ this.linkTitle = '';
12723
+ this.documentAnchors = [];
12724
+ }
12448
12725
  expandPanel() {
12449
12726
  this.expandedPanel = !this.expandedPanel;
12450
12727
  const panelStencil = document.getElementById('panel-stencil-container');
@@ -12489,11 +12766,10 @@ class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12489
12766
  });
12490
12767
  });
12491
12768
  }
12492
- saveImageContent() {
12769
+ saveImageContent(graphObject) {
12493
12770
  return __awaiter(this, void 0, void 0, function* () {
12494
12771
  return new Promise((resolve) => {
12495
- const graph = window[FlowChartConst.GRAPH];
12496
- const jsonContent = JSON.stringify(graph.toJSON());
12772
+ const jsonContent = JSON.stringify(graphObject);
12497
12773
  this.bpmn = {
12498
12774
  id: this.id ? this.id : guidHelper.empty,
12499
12775
  jsonContent: jsonContent,
@@ -12511,6 +12787,19 @@ class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12511
12787
  });
12512
12788
  });
12513
12789
  }
12790
+ dataUrlToFile(dataUrl, filename) {
12791
+ const arr = dataUrl.split(',');
12792
+ if (arr.length < 2) {
12793
+ return undefined;
12794
+ }
12795
+ const mimeArr = arr[0].match(/:(.*?);/);
12796
+ if (!mimeArr || mimeArr.length < 2) {
12797
+ return undefined;
12798
+ }
12799
+ const mime = mimeArr[1];
12800
+ const buff = Buffer.from(arr[1], 'base64');
12801
+ return new File([buff], filename, { type: mime });
12802
+ }
12514
12803
  getImageContent(paper) {
12515
12804
  return __awaiter(this, void 0, void 0, function* () {
12516
12805
  return new Promise((resolve) => {
@@ -12523,26 +12812,211 @@ class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12523
12812
  }
12524
12813
  onInsertImage() {
12525
12814
  return __awaiter(this, void 0, void 0, function* () {
12526
- const id = yield this.saveImageContent();
12815
+ const graph = window[FlowChartConst.GRAPH];
12527
12816
  const paper = window[`paper`];
12817
+ const clientRect = paper.paperToLocalRect(paper.getContentBBox());
12818
+ const graphObject = graph.toJSON();
12819
+ const id = yield this.saveImageContent(graphObject);
12528
12820
  const imageContent = 'data:image/png;base64,' + (yield this.getImageContent(paper));
12529
- const result = { key: `${CKEditorEventConst.QMSCK_BPMN}#${id}`, values: imageContent };
12821
+ const file = this.dataUrlToFile(imageContent, `${CKEditorEventConst.QMSCK_BPMN}#${id}`);
12822
+ const imageUrl = yield this.uploadService.uploadImage(file).toPromise();
12823
+ const imagemap = this.toImageMap(id, graphObject.cells, clientRect);
12824
+ const result = { key: `${CKEditorEventConst.QMSCK_BPMN}#${id}`, values: imageUrl, imagemap: imagemap };
12530
12825
  this.dialogRef.close(result);
12531
12826
  });
12532
12827
  }
12533
12828
  onCloseDialog() {
12534
12829
  this.dialogRef.close();
12535
12830
  }
12831
+ removeLink() {
12832
+ let title = this.LANG.BPMN.DELETE_ATTACHMENT;
12833
+ let content = this.LANG.BPMN.CONFIRM_DELETE_ATTACHMENT;
12834
+ if (this.selectedConnectionType == ShapeFlowChartConnectionType.DocumentOrProcess) {
12835
+ title = this.LANG.BPMN.DELETE_DOCUMENT_OR_PROCESS;
12836
+ content = this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_DELETE_DOCUMENT_OR_PROCESS;
12837
+ }
12838
+ this.showConfirmDialog(title, content, false, (value) => {
12839
+ if (value) {
12840
+ if (value == true || (typeof value == 'object' && value.isConfirmed == true)) {
12841
+ this.link = null;
12842
+ }
12843
+ }
12844
+ });
12845
+ }
12846
+ onConnectionTypeChange() {
12847
+ this.selectedConnectionType = this.connectionType;
12848
+ if (this.link) {
12849
+ this.showConfirmDialog(this.LANG.QMSCKEDITOR.INFORMATION, this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_DELETE_EXISTING_CONNECTION, true, () => {
12850
+ this.connectionType = 0;
12851
+ });
12852
+ return;
12853
+ }
12854
+ switch (this.connectionType) {
12855
+ case ShapeFlowChartConnectionType.DocumentOrProcess:
12856
+ this.openHandbookDialog(false);
12857
+ break;
12858
+ case ShapeFlowChartConnectionType.Attachment:
12859
+ this.openAttachmentDialog();
12860
+ break;
12861
+ }
12862
+ }
12863
+ onAnchorByNameChange() {
12864
+ this.updateCellViewValues();
12865
+ }
12866
+ openHandbookDialog(isOnlyDocument) {
12867
+ const data = new QMSCKEditorRelation();
12868
+ data.isOnlyDocument = isOnlyDocument;
12869
+ data.isEnableFolder = !isOnlyDocument;
12870
+ const dialogTemplate = this.dialog.open(QMSCKEditorRelatedComponent, {
12871
+ width: '650px',
12872
+ height: '650px',
12873
+ data,
12874
+ disableClose: true
12875
+ });
12876
+ dialogTemplate
12877
+ .afterClosed()
12878
+ .pipe(takeUntil(this.ngUnsubcribe))
12879
+ .subscribe((result) => {
12880
+ if (result) {
12881
+ this.documentType = result.type;
12882
+ this.linkId = this.getLinkId(result.url, result.type);
12883
+ if (result.type == QMSCKEditorDocumentType.document) {
12884
+ this.linkTitle = `${result.title}(${result.id})`;
12885
+ this.getAnchorDocument(result.id);
12886
+ }
12887
+ else {
12888
+ this.linkUrl = result.url;
12889
+ if (!this.linkTitle) {
12890
+ this.linkTitle = result.title;
12891
+ }
12892
+ }
12893
+ this.selectedTarget = TargetTypeName.new;
12894
+ this.updateCellViewValues();
12895
+ }
12896
+ this.connectionType = 0;
12897
+ });
12898
+ }
12899
+ openAttachmentDialog() {
12900
+ const data = new QMSCKEditorParamter();
12901
+ data.module = this.module;
12902
+ data.entityId = this.entityId;
12903
+ const dialogTemplate = this.dialog.open(LinkAttachmentComponent, {
12904
+ width: '650px',
12905
+ height: '650px',
12906
+ data,
12907
+ disableClose: true
12908
+ });
12909
+ dialogTemplate
12910
+ .afterClosed()
12911
+ .pipe(takeUntil(this.ngUnsubcribe))
12912
+ .subscribe((result) => {
12913
+ if (result) {
12914
+ this.documentType = QMSCKEditorDocumentType.other;
12915
+ this.linkUrl = result.url;
12916
+ if (!this.linkTitle) {
12917
+ this.linkTitle = result.title;
12918
+ }
12919
+ this.selectedTarget = TargetTypeName.new;
12920
+ this.updateCellViewValues();
12921
+ }
12922
+ this.connectionType = 0;
12923
+ });
12924
+ }
12925
+ getAnchorDocument(documentId) {
12926
+ this.isLoadingDocumentAnchor = true;
12927
+ this.linkService
12928
+ .getAnchorDocumentList(documentId)
12929
+ .pipe(takeUntil(this.ngUnsubcribe))
12930
+ .subscribe((documents) => {
12931
+ this.documentAnchors = this.extractDocumentAnchors(documents || []);
12932
+ this.isLoadingDocumentAnchor = false;
12933
+ });
12934
+ }
12935
+ extractDocumentAnchors(anchorDocument) {
12936
+ const anchors = [{ value: 0, viewValue: '', anchorValue: LinkAnchor.Blank }];
12937
+ let id = 3;
12938
+ if (anchorDocument) {
12939
+ anchorDocument.forEach((e) => {
12940
+ const div = document.createElement('div');
12941
+ div.innerHTML = e.richText;
12942
+ const domContent = div;
12943
+ const aTags = domContent.getElementsByTagName('a');
12944
+ if (aTags) {
12945
+ // tslint:disable-next-line:prefer-for-of
12946
+ for (let i = 0; i < aTags.length; i++) {
12947
+ const tag = aTags[i];
12948
+ if (tag.name) {
12949
+ const index = anchors.findIndex((x) => {
12950
+ return x.anchorValue === tag.name;
12951
+ });
12952
+ if (index < 0) {
12953
+ anchors.push({
12954
+ value: id,
12955
+ viewValue: tag.name,
12956
+ anchorValue: tag.name
12957
+ });
12958
+ id += 1;
12959
+ }
12960
+ }
12961
+ }
12962
+ }
12963
+ });
12964
+ }
12965
+ anchors.push({
12966
+ value: 1,
12967
+ viewValue: this.LANG.QMSCKEDITOR.ANCHOR_ATTACHMENT,
12968
+ anchorValue: LinkAnchor.Attachment
12969
+ });
12970
+ anchors.push({
12971
+ value: 2,
12972
+ viewValue: this.LANG.QMSCKEDITOR.ANCHOR_RELATED_DOCUMENT,
12973
+ anchorValue: LinkAnchor.Related
12974
+ });
12975
+ return anchors;
12976
+ }
12977
+ reloadAnchors() {
12978
+ if (!!this.linkId && this.documentType == QMSCKEditorDocumentType.document) {
12979
+ this.getAnchorDocument(this.linkId);
12980
+ }
12981
+ }
12982
+ buildLink() {
12983
+ const link = new ILink();
12984
+ link.target = this.selectedTarget;
12985
+ link.title = this.linkTitle;
12986
+ link.url = this.linkUrl;
12987
+ link.documentType = this.documentType || QMSCKEditorDocumentType.other;
12988
+ link.icon = this.documentIcons[link.documentType];
12989
+ link.content = '';
12990
+ switch (this.documentType) {
12991
+ case QMSCKEditorDocumentType.document:
12992
+ link.url = `${CKEditorLinkConst.DOCUMENT_PARTIAL_URL}${this.linkId}#${this.anchorByName}`;
12993
+ link.content = `${this.LANG.QMSCKEDITOR.ID}: ${this.linkId}`;
12994
+ break;
12995
+ case QMSCKEditorDocumentType.process:
12996
+ link.content = `${this.LANG.QMSCKEDITOR.ID}: ${this.linkId}`;
12997
+ break;
12998
+ case QMSCKEditorDocumentType.area:
12999
+ link.content = `${this.LANG.QMSCKEDITOR.ID}: ${this.linkId}`;
13000
+ break;
13001
+ case QMSCKEditorDocumentType.folder:
13002
+ link.content = `${this.LANG.QMSCKEDITOR.ID}: ${this.linkId}`;
13003
+ break;
13004
+ }
13005
+ return link;
13006
+ }
12536
13007
  onSaveAsTemplate() {
12537
13008
  const graph = window[FlowChartConst.GRAPH];
12538
13009
  const jsonContent = JSON.stringify(graph.toJSON());
12539
- let data = new QMSCKEditorBpmn();
12540
- data = {
13010
+ let template = new QMSCKEditorBpmn();
13011
+ template = {
12541
13012
  id: guidHelper.empty,
12542
13013
  jsonContent: jsonContent,
12543
13014
  isTemplate: true,
12544
13015
  templateName: ''
12545
13016
  };
13017
+ let data = new QMSCKEditorSaveAsTemplate();
13018
+ data.templateType = CKEditorEventConst.QMSCK_BPMN;
13019
+ data.bpmn = template;
12546
13020
  const dialogTemplate = this.dialog.open(SaveTemplateComponent, {
12547
13021
  width: '450px',
12548
13022
  height: '220px',
@@ -12565,6 +13039,10 @@ class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12565
13039
  if (graph) {
12566
13040
  graph.fromJSON(JSON.parse(selectedJsonContent));
12567
13041
  }
13042
+ window[FlowChartConst.MY_CELL_VIEW] = null;
13043
+ window[FlowChartConst.SELECTED_SHAPE_ID] = '';
13044
+ window[FlowChartConst.SHAPE_TYPE] = '';
13045
+ this.onSeletedCellView();
12568
13046
  }
12569
13047
  }
12570
13048
  onDeleteTemplate(title, content) {
@@ -12581,24 +13059,119 @@ class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12581
13059
  .pipe(takeUntil(this.ngUnsubcribe))
12582
13060
  .subscribe((result) => {
12583
13061
  if (result) {
12584
- const id = window[FlowChartConst.SELECTED_FLOWCHART_ID];
12585
- this.bpmnApiService
12586
- .bpmnDeleteTemplate(id)
12587
- .pipe(takeUntil(this.ngUnsubcribe))
12588
- .subscribe((result) => {
12589
- if (result) {
12590
- this.bmpnService.removeSelectItem(id);
12591
- this.bmpnService.setDefaultSelectedValue();
12592
- window[FlowChartConst.IS_SELECTED_TEMPLATE] = false;
12593
- QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.DELETED);
12594
- }
12595
- else {
12596
- QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.DELETE_FAILED);
12597
- }
12598
- });
12599
13062
  }
12600
13063
  });
12601
13064
  }
13065
+ onSeletedCellView() {
13066
+ this.selectedCellView = window[FlowChartConst.MY_CELL_VIEW];
13067
+ this.initLink();
13068
+ if (!!this.selectedCellView) {
13069
+ const attributes = this.selectedCellView.model.attributes;
13070
+ const excludedTypes = ['bpmn2.Flow', 'bpmn2.HeaderedPool', 'bpmn2.ConversationLink', 'bpmn2.AnnotationLink', 'bpmn2.DataAssociation'];
13071
+ if (!attributes.type || excludedTypes.findIndex(type => type.toLowerCase() == attributes.type.toLowerCase()) > -1) {
13072
+ this.selectedCellView = null;
13073
+ }
13074
+ else {
13075
+ this.linkUrl = attributes.linkUrl || '';
13076
+ if (!!this.linkUrl) {
13077
+ this.parseLinkUrl(this.linkUrl);
13078
+ this.selectedTarget = attributes.linkTarget;
13079
+ this.linkTitle = attributes.linkTitle;
13080
+ this.link = this.buildLink();
13081
+ }
13082
+ }
13083
+ }
13084
+ }
13085
+ onTabChange($event) {
13086
+ window[FlowChartConst.TAB_NAME] = $event.tab.textLabel;
13087
+ if ($event.tab.textLabel == this.LANG.BPMN.PROPERTIES) {
13088
+ this.bmpnService.openShapeFunctionality(this.LANG);
13089
+ }
13090
+ }
13091
+ parseLinkUrl(url) {
13092
+ if (!!url) {
13093
+ const hashIndex = url.indexOf('#');
13094
+ this.documentType = this.getDocumentType(url);
13095
+ this.linkIcon = this.documentIcons[this.documentType];
13096
+ this.linkId = this.getLinkId(url, this.documentType);
13097
+ if (!!this.linkId && this.documentType == QMSCKEditorDocumentType.document && hashIndex > -1) {
13098
+ this.anchorByName = url.substr(hashIndex + 1, url.length - hashIndex);
13099
+ this.getAnchorDocument(this.linkId);
13100
+ }
13101
+ }
13102
+ }
13103
+ getPartialUrl(type) {
13104
+ switch (type) {
13105
+ case QMSCKEditorDocumentType.document:
13106
+ return CKEditorLinkConst.DOCUMENT_PARTIAL_URL;
13107
+ case QMSCKEditorDocumentType.process:
13108
+ return CKEditorLinkConst.PROCESS_PARTIAL_URL;
13109
+ case QMSCKEditorDocumentType.area:
13110
+ return CKEditorLinkConst.AREA_PARTIAL_URL;
13111
+ case QMSCKEditorDocumentType.folder:
13112
+ return CKEditorLinkConst.FOLDER_PARTIAL_URL;
13113
+ default:
13114
+ return '';
13115
+ }
13116
+ }
13117
+ getLinkId(url, type) {
13118
+ let partialUrlIndex = 0;
13119
+ let partialUrlLength = 0;
13120
+ let id = '';
13121
+ let from = 0;
13122
+ let urlLowerCase = !!url ? url.toLowerCase() : '';
13123
+ const partialUrl = this.getPartialUrl(type).toLowerCase();
13124
+ const hashIndex = urlLowerCase.indexOf('#');
13125
+ if (!!partialUrl) {
13126
+ partialUrlIndex = urlLowerCase.indexOf(partialUrl);
13127
+ partialUrlLength = partialUrl.length;
13128
+ from = partialUrlIndex + partialUrlLength;
13129
+ if (type == QMSCKEditorDocumentType.document && hashIndex > -1) {
13130
+ id = urlLowerCase.substr(from, hashIndex - from);
13131
+ }
13132
+ else {
13133
+ const length = urlLowerCase.substr(from).indexOf('/');
13134
+ if (length < 0) {
13135
+ id = urlLowerCase.substr(from);
13136
+ }
13137
+ else {
13138
+ id = urlLowerCase.substr(from, length);
13139
+ }
13140
+ }
13141
+ }
13142
+ if (type == QMSCKEditorDocumentType.document) {
13143
+ try {
13144
+ parseInt(id, 10);
13145
+ }
13146
+ catch (_a) {
13147
+ id = '';
13148
+ }
13149
+ }
13150
+ return id;
13151
+ }
13152
+ getDocumentType(url) {
13153
+ if (url.indexOf(CKEditorLinkConst.DOCUMENT_PARTIAL_URL) > -1) {
13154
+ return QMSCKEditorDocumentType.document;
13155
+ }
13156
+ else if (url.indexOf(CKEditorLinkConst.PROCESS_PARTIAL_URL) > -1) {
13157
+ return QMSCKEditorDocumentType.process;
13158
+ }
13159
+ else if (url.indexOf(CKEditorLinkConst.AREA_PARTIAL_URL) > -1) {
13160
+ return QMSCKEditorDocumentType.area;
13161
+ }
13162
+ else if (url.indexOf(CKEditorLinkConst.FOLDER_PARTIAL_URL) > -1) {
13163
+ return QMSCKEditorDocumentType.folder;
13164
+ }
13165
+ return QMSCKEditorDocumentType.other;
13166
+ }
13167
+ updateCellViewValues() {
13168
+ if (!!this.selectedCellView) {
13169
+ this.link = this.buildLink();
13170
+ this.selectedCellView.model.prop('linkUrl', this.link.url);
13171
+ this.selectedCellView.model.prop('linkTarget', this.link.target);
13172
+ this.selectedCellView.model.prop('linkTitle', this.link.title);
13173
+ }
13174
+ }
12602
13175
  onResetTemplate() {
12603
13176
  const ogrJsonContent = window[FlowChartConst.ORG_JSONCONTENT];
12604
13177
  if (ogrJsonContent) {
@@ -12608,13 +13181,17 @@ class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12608
13181
  this.bmpnService.setDefaultSelectedValue();
12609
13182
  window[FlowChartConst.IS_SELECTED_TEMPLATE] = false;
12610
13183
  }
13184
+ window[FlowChartConst.MY_CELL_VIEW] = null;
13185
+ window[FlowChartConst.SELECTED_SHAPE_ID] = '';
13186
+ window[FlowChartConst.SHAPE_TYPE] = '';
13187
+ this.onSeletedCellView();
12611
13188
  }
12612
13189
  }
12613
- showInfoMessage(title, content) {
13190
+ showConfirmDialog(title, content, isMessage, callback) {
12614
13191
  const data = new QMSCKEditorDialogData();
12615
13192
  data.title = title;
12616
13193
  data.content = content;
12617
- data.isMessage = true;
13194
+ data.isMessage = isMessage;
12618
13195
  const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {
12619
13196
  width: '500px',
12620
13197
  minHeight: '175px',
@@ -12624,17 +13201,169 @@ class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent {
12624
13201
  .afterClosed()
12625
13202
  .pipe(takeUntil(this.ngUnsubcribe))
12626
13203
  .subscribe((result) => {
12627
- if (result) {
12628
- //TODO
13204
+ if (callback) {
13205
+ callback(result);
13206
+ }
13207
+ });
13208
+ }
13209
+ toImageMap(id, cells, clientRect) {
13210
+ const map = { name: id, id: id, areas: [], imageHeight: 0, imageWidth: 0 };
13211
+ map.imageHeight = clientRect.height;
13212
+ map.imageWidth = clientRect.width;
13213
+ if (cells && cells.length != 0) {
13214
+ var isVerticalPool = false;
13215
+ for (var i = 0; i < cells.length; i++) {
13216
+ let shape = cells[i];
13217
+ let size = shape['size'] || { width: 0, height: 0 };
13218
+ let bbox = shape['bbox'] || { x: 0, y: 0 };
13219
+ let position = shape['position'] || { x: 0, y: 0 };
13220
+ bbox.x = position.x;
13221
+ bbox.y = position.y;
13222
+ bbox.width = size.width;
13223
+ bbox.height = size.height;
13224
+ shape['bbox'] = bbox;
13225
+ shape['additionalWidth'] = (bbox.width > size.width) ? (bbox.width - size.width) : 0;
13226
+ }
13227
+ var offsetX = this.getMinXOffset(cells);
13228
+ var offsetY = this.getMinYOffset(cells);
13229
+ var additionalOffsetY = 0;
13230
+ for (var i = 0; i < cells.length; i++) {
13231
+ let shape = cells[i];
13232
+ let href = shape.linkUrl;
13233
+ let target = shape.linkTarget;
13234
+ let alt = shape.linkTitle;
13235
+ if (shape.type == 'bpmn2.Pool' || shape.type == 'bpmn2.HeaderedPool') {
13236
+ additionalOffsetY = (shape.additionalWidth / 2);
13237
+ isVerticalPool = (shape.type == 'bpmn2.Pool' || shape.type == 'bpmn2.HeaderedPool') && shape.angle != 0 ? true : false;
13238
+ }
13239
+ if (!!href && href.length > 0) {
13240
+ var size = shape['size'] || { width: 0, height: 0 };
13241
+ var bbox = shape['bbox'] || { x: 0, y: 0 };
13242
+ var position = shape['position'] || { x: 0, y: 0 };
13243
+ bbox.x = position.x;
13244
+ bbox.y = position.y;
13245
+ bbox.width = size.width;
13246
+ bbox.height = size.height;
13247
+ var additionalOffsetX = (shape.additionalWidth / 2);
13248
+ var x1, y1, x2, y2;
13249
+ if (shape.includeTextInClickableArea == true) {
13250
+ x1 = (bbox.x - offsetX - additionalOffsetX);
13251
+ y1 = (bbox.y - offsetY);
13252
+ x2 = (x1 + shape.bbox.width - 1);
13253
+ y2 = (y1 + shape.bbox.height);
13254
+ }
13255
+ else {
13256
+ var transformX = offsetX, transformY = offsetY;
13257
+ if (offsetX < 0 && isVerticalPool) {
13258
+ transformX = offsetX + size.height;
13259
+ transformY = offsetY - size.height;
13260
+ }
13261
+ if (offsetY < 0 && isVerticalPool) {
13262
+ transformY = offsetY + additionalOffsetY;
13263
+ }
13264
+ x1 = (bbox.x - transformX);
13265
+ y1 = (bbox.y - transformY);
13266
+ x2 = (x1 + size.width - 1);
13267
+ y2 = (y1 + size.height);
13268
+ }
13269
+ let coords = `${x1},${y1},${x2},${y2}`;
13270
+ switch (shape.type) {
13271
+ case 'bpmn2.Activity':
13272
+ case 'bpmn2.Gateway':
13273
+ case 'bpmn2.Event':
13274
+ case 'bpmn2.Conversation':
13275
+ case 'bpmn2.DataObject':
13276
+ case 'bpmn2.DataStore':
13277
+ case 'bpmn.Choreography':
13278
+ case 'bpmn.Message':
13279
+ map.areas.push({
13280
+ shape: 'rect',
13281
+ coords: coords,
13282
+ href: href,
13283
+ target: target,
13284
+ alt: alt
13285
+ });
13286
+ break;
13287
+ default:
13288
+ map.areas.push({
13289
+ shape: 'rect',
13290
+ coords: coords,
13291
+ href: href,
13292
+ target: target,
13293
+ alt: alt
13294
+ });
13295
+ break;
13296
+ }
13297
+ }
13298
+ }
13299
+ }
13300
+ return map;
13301
+ }
13302
+ getMinXOffset(shapes) {
13303
+ var filterShapes = shapes.filter(function (s) {
13304
+ return s.type !== 'bpmn2.Flow'
13305
+ && s.type != 'bpmn2.ConversationLink'
13306
+ && s.type != 'bpmn2.DataAssociation'
13307
+ && s.type != 'bpmn2.AnnotationLink';
13308
+ });
13309
+ var minValue;
13310
+ var minObject;
13311
+ if (!filterShapes || !filterShapes.length) {
13312
+ minValue = this.getXPosition(shapes[0]);
13313
+ minObject = shapes[0];
13314
+ }
13315
+ else {
13316
+ minValue = this.getXPosition(filterShapes[0]);
13317
+ minObject = filterShapes[0];
13318
+ }
13319
+ for (var i = 1; i < filterShapes.length; i++) {
13320
+ var xPosition = this.getXPosition(filterShapes[i]);
13321
+ if (xPosition < minValue) {
13322
+ minValue = xPosition;
13323
+ minObject = filterShapes[i];
13324
+ }
13325
+ }
13326
+ return minValue;
13327
+ }
13328
+ getXPosition(shape) {
13329
+ return shape.bbox.x - (shape.additionalWidth / 2);
13330
+ }
13331
+ getYPosition(shape) {
13332
+ return shape.bbox.y - (shape.additionalWidth / 2);
13333
+ }
13334
+ getMinYOffset(shapes) {
13335
+ var filterShapes = shapes.filter(function (s) {
13336
+ return s.type !== 'bpmn2.Flow'
13337
+ && s.type != 'bpmn2.ConversationLink'
13338
+ && s.type != 'bpmn2.DataAssociation'
13339
+ && s.type != 'bpmn2.AnnotationLink';
13340
+ });
13341
+ var minValue;
13342
+ var minObject;
13343
+ if (!filterShapes || !filterShapes.length) {
13344
+ minValue = shapes[0].bbox.y;
13345
+ minObject = shapes[0];
13346
+ }
13347
+ else {
13348
+ minValue = filterShapes[0].bbox.y;
13349
+ minObject = filterShapes[0];
13350
+ }
13351
+ for (var i = 1; i < filterShapes.length; i++) {
13352
+ var yPosition = this.getYPosition(filterShapes[i]);
13353
+ if (yPosition < minValue) {
13354
+ minValue = yPosition;
13355
+ minObject = filterShapes[i];
12629
13356
  }
12630
- });
13357
+ }
13358
+ return minValue;
12631
13359
  }
13360
+ ;
12632
13361
  }
12633
13362
  QMSCKEditorBpmnComponent.decorators = [
12634
13363
  { type: Component, args: [{
12635
13364
  selector: 'qms-bpmn',
12636
- template: "<div id=\"qmsckeditor-bpmn\" class=\"qmsckeditor qmsckeditor__bpmn__container\">\r\n <div id=\"qmsckeditor-load-template-header\">\r\n <span\r\n id=\"qmsckeditor-bpmn-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 <span\r\n id=\"qmsckeditor-bpmn-header_002\"\r\n mat-icon-button\r\n class=\"qmsckeditor button__done\"\r\n (click)=\"onInsertImage()\"\r\n >\r\n <mat-icon>done</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor-load-template-header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor-template_002_001\">\r\n Business Process Model and Notation\r\n </h2>\r\n </div>\r\n </div>\r\n\r\n <div id=\"bpmn\" class=\"bpmn__editor\">\r\n <div id=\"toolbarpanel\">\r\n <div id=\"toolbar-container\"></div>\r\n </div>\r\n <div id=\"leftpanel\">\r\n <div id=\"paperpanel\">\r\n <div id=\"paper-container\"></div>\r\n </div>\r\n <div id=\"stencilpanel\">\r\n <mat-expansion-panel\r\n id=\"panel-stencil-container\"\r\n [expanded]=\"expandedPanel\"\r\n (click)=\"expandPanel()\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title> </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div id=\"stencil-container\"></div>\r\n </mat-expansion-panel>\r\n <!-- <div id=\"stencil-container\"></div> -->\r\n </div>\r\n </div>\r\n <div id=\"rightpanel\">\r\n <div id=\"inspector-container\">\r\n <div class=\"about\">\r\n <h1>Business Process Model and Notation</h1>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
12637
- styles: [".qmsckeditor__bpmn__container .bpmn__editor{width:100%;height:600px}.qmsckeditor__bpmn__container #leftpanel{float:left;width:70%;height:550px}.qmsckeditor__bpmn__container #rightpanel{float:right;width:30%;height:550px;border:solid;border-width:0 1px 1px 0;overflow-y:auto}.qmsckeditor__bpmn__container #toolbarpanel{position:relative;top:0;bottom:0;left:0;right:0;margin-bottom:17px;height:50px;width:100%}.qmsckeditor__bpmn__container #paperpanel{position:relative;top:0;bottom:0;left:0;right:0;height:400px;width:100%}.qmsckeditor__bpmn__container #stencilpanel{position:relative;top:0;bottom:0;left:0;right:0;height:150px;width:100%}.qmsckeditor__bpmn__container #toolbar-container{position:relative;top:0;bottom:0;left:0;right:0;width:100%;height:100%}.qmsckeditor__bpmn__container #paper-container{position:relative;top:0;bottom:0;left:0;right:0;width:100%;height:inherit}.qmsckeditor__bpmn__container #inspector-container{position:relative;top:0;right:0;bottom:0;width:100%;background:#fff}.qmsckeditor__bpmn__container #stencil-container{position:absolute;top:0;bottom:0;left:0;right:0;width:1174px;height:inherit}.qmsckeditor__bpmn__container #statusbar-container{position:absolute;left:0;right:0;bottom:0;height:25px}.qmsckeditor__bpmn__container #panel-stencil-container{position:absolute;left:0;right:0;bottom:0;height:150px;overflow-x:auto;overflow-y:hidden;background-image:url(\"data:image/png;base64,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\");background-repeat:repeat;transition:all .5s ease-in-out 0s}.qmsckeditor__bpmn__container #panel-stencil-container .mat-expansion-panel-header-title{color:#fff}.qmsckeditor__bpmn__container #panel-stencil-container .joint-theme-default{background:none}.qmsckeditor__bpmn__container #panel-stencil-container ::ng-deep .mat-expansion-indicator:after{color:#fff;transform:rotate(-135deg)}.qmsckeditor__bpmn__container #panel-stencil-container .mat-expansion-panel-header{min-width:1224px;max-width:100%}.qmsckeditor__bpmn__container #panel-stencil-container .joint-stencil>.content{width:1200px}.qmsckeditor__bpmn__container ::ng-deep .joint-inspector.joint-theme-bpmn .list-item .input-wrapper input{width:70%;float:none}"]
13365
+ template: "<div id=\"qmsckeditor-bpmn\" class=\"qmsckeditor qmsckeditor__bpmn__container\">\r\n <div id=\"qmsckeditor-load-template-header\">\r\n <span\r\n id=\"qmsckeditor-bpmn-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 <span\r\n id=\"qmsckeditor-bpmn-header_002\"\r\n mat-icon-button\r\n class=\"qmsckeditor button__done\"\r\n (click)=\"onInsertImage()\"\r\n >\r\n <mat-icon>done</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor-load-template-header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor-template_002_001\">\r\n {{ LANG.BPMN.BUSINESS_PROCESS_MODEL_AND_NOTATION }}\r\n </h2>\r\n </div>\r\n </div>\r\n\r\n <div id=\"bpmn\" class=\"bpmn__editor\">\r\n <div id=\"toolbarpanel\">\r\n <div id=\"toolbar-container\"></div>\r\n </div>\r\n <div id=\"leftpanel\">\r\n <div id=\"paperpanel\">\r\n <div id=\"paper-container\"></div>\r\n </div>\r\n <div id=\"stencilpanel\">\r\n <mat-expansion-panel\r\n id=\"panel-stencil-container\"\r\n [expanded]=\"expandedPanel\"\r\n (click)=\"expandPanel()\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title> </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div id=\"stencil-container\"></div>\r\n </mat-expansion-panel>\r\n <!-- <div id=\"stencil-container\"></div> -->\r\n </div>\r\n </div>\r\n <div id=\"rightpanel\">\r\n <mat-tab-group\r\n mat-stretch-tabs\r\n mat-align-tabs=\"center\"\r\n (selectedTabChange)=\"onTabChange($event)\"\r\n >\r\n <mat-tab\r\n [label]=\"LANG.BPMN.PROPERTIES\"\r\n id=\"qmsckeditor_bpmn_properties\"\r\n >\r\n <div id=\"inspector-container\"></div>\r\n <!-- <div class=\"about\" *ngIf=\"!selectedCellView\">\r\n <h1>{{ LANG.BPMN.BUSINESS_PROCESS_MODEL_AND_NOTATION }}</h1>\r\n </div> -->\r\n </mat-tab>\r\n <mat-tab\r\n [label]=\"LANG.BPMN.CONNECTION\"\r\n id=\"qmsckeditor_bpmn_connection\"\r\n >\r\n <!-- <div class=\"about\" *ngIf=\"!selectedCellView\">\r\n <h1>{{ LANG.BPMN.BUSINESS_PROCESS_MODEL_AND_NOTATION }}</h1>\r\n </div> -->\r\n <mat-expansion-panel\r\n id=\"qmsckeditor_bpmn_connection_panel\"\r\n [expanded]=\"true\"\r\n (opened)=\"(true)\"\r\n (closed)=\"(false)\"\r\n hideToggle\r\n *ngIf=\"!!selectedCellView\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ LANG.BPMN.CONNECTION }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmsckeditor_bpmn_connection_panel_001\" class=\"col-12 mt8\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ANCHOR_BY_NAME }}</mat-label>\r\n <mat-select\r\n [(ngModel)]=\"connectionType\"\r\n name=\"connectionType\"\r\n (ngModelChange)=\"onConnectionTypeChange()\"\r\n >\r\n <mat-option\r\n *ngFor=\"let item of connectionTypes\"\r\n [value]=\"item.id\"\r\n disableOptionCentering\r\n >\r\n {{ item.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div\r\n id=\"qmsckeditor_bpmn_connection_panel_002\"\r\n class=\"col-12 mt8\"\r\n *ngIf=\"!!link\"\r\n >\r\n <mat-card>\r\n <div class=\"row\">\r\n <div class=\"col-1 mt-n4\">\r\n <mat-icon aria-hidden=\"true\" class=\"fs32\">{{\r\n link.icon\r\n }}</mat-icon>\r\n </div>\r\n <div class=\"col-10\">\r\n <mat-card-title class=\"fs16\">{{\r\n link.title\r\n }}</mat-card-title>\r\n <mat-card-subtitle>{{ link.content }}</mat-card-subtitle>\r\n </div>\r\n <div class=\"col-1 pa0 mt-n4\">\r\n <button mat-icon-button>\r\n <mat-icon (click)=\"removeLink()\">close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card>\r\n </div>\r\n <div\r\n id=\"qmsckeditor_bpmn_connection_panel_003\"\r\n class=\"col-12 mt24\"\r\n *ngIf=\"!!link && link.documentType === 1\"\r\n >\r\n <div class=\"row\">\r\n <div class=\"col-10\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12\">\r\n <mat-label>{{\r\n LANG.BPMN.CHOOSE_ANCHOR_IN_TEXT_OPTIONAL\r\n }}</mat-label>\r\n <mat-label *ngIf=\"isLoadingDocumentAnchor\">\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </mat-label>\r\n <mat-select\r\n [(ngModel)]=\"anchorByName\"\r\n name=\"anchorByName\"\r\n (ngModelChange)=\"onAnchorByNameChange()\"\r\n disableOptionCentering\r\n >\r\n <mat-option\r\n *ngIf=\"\r\n documentAnchors === null ||\r\n documentAnchors.length == 0\r\n \"\r\n disabled\r\n ></mat-option>\r\n <mat-option\r\n *ngFor=\"let docAnchor of documentAnchors\"\r\n [value]=\"docAnchor.anchorValue\"\r\n >\r\n {{ docAnchor.viewValue }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-2 mt8 pa0\">\r\n <button\r\n mat-raised-button\r\n [matTooltip]=\"LANG.BPMN.RELOAD_ANCHORS\"\r\n (click)=\"reloadAnchors()\"\r\n [disabled]=\"isLoadingDocumentAnchor\"\r\n >\r\n <mat-icon>autorenew</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n id=\"qmsckeditor_bpmn_connection_panel_004\"\r\n class=\"col-12 mt8\"\r\n *ngIf=\"!!link\"\r\n >\r\n <mat-form-field appearance=\"fill\" class=\"col-12\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TARGET }}</mat-label>\r\n <mat-select\r\n [(ngModel)]=\"selectedTarget\"\r\n name=\"selectedTarget\"\r\n disableOptionCentering\r\n >\r\n <mat-option\r\n *ngFor=\"let target of targets\"\r\n [value]=\"target.id\"\r\n >\r\n {{ target.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </div>\r\n</div>\r\n",
13366
+ styles: [":host ::ng-deep .qmsckeditor__bpmn__container .bpmn__editor{width:100%;height:600px}:host ::ng-deep .qmsckeditor__bpmn__container #leftpanel{float:left;width:70%;height:550px}:host ::ng-deep .qmsckeditor__bpmn__container #rightpanel{float:right;width:30%;height:550px;border:solid;border-width:0 1px 1px 0;overflow-y:auto}:host ::ng-deep .qmsckeditor__bpmn__container #toolbarpanel{position:relative;top:0;bottom:0;left:0;right:0;margin-bottom:16px;height:50px;width:100%}:host ::ng-deep .qmsckeditor__bpmn__container #paperpanel{position:relative;top:0;bottom:0;left:0;right:0;height:400px;width:100%}:host ::ng-deep .qmsckeditor__bpmn__container #stencilpanel{position:relative;top:0;bottom:0;left:0;right:0;height:150px;width:100%}:host ::ng-deep .qmsckeditor__bpmn__container #toolbar-container{position:relative;top:0;bottom:0;left:0;right:0;width:100%;height:100%}:host ::ng-deep .qmsckeditor__bpmn__container #paper-container{position:relative;top:0;bottom:0;left:0;right:0;width:100%;height:inherit}:host ::ng-deep .qmsckeditor__bpmn__container #inspector-container{position:relative;top:0;right:0;bottom:0;width:100%;background:#fff}:host ::ng-deep .qmsckeditor__bpmn__container #stencil-container{position:absolute;top:0;bottom:0;left:0;right:0;width:1174px;height:inherit}:host ::ng-deep .qmsckeditor__bpmn__container #statusbar-container{position:absolute;left:0;right:0;bottom:0;height:25px}:host ::ng-deep .qmsckeditor__bpmn__container #panel-stencil-container{position:absolute;left:0;right:0;bottom:0;height:150px;overflow-x:auto;overflow-y:hidden;background-image:url(\"data:image/png;base64,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\");background-repeat:repeat;transition:all .5s ease-in-out 0s}:host ::ng-deep .qmsckeditor__bpmn__container #panel-stencil-container .mat-expansion-panel-header-title{color:#fff}:host ::ng-deep .qmsckeditor__bpmn__container #panel-stencil-container .joint-theme-default{background:none}:host ::ng-deep .qmsckeditor__bpmn__container #panel-stencil-container .mat-expansion-indicator:after{color:#fff;transform:rotate(-135deg)}:host ::ng-deep .qmsckeditor__bpmn__container #panel-stencil-container .mat-expansion-panel-header{min-width:1224px;max-width:100%}:host ::ng-deep .qmsckeditor__bpmn__container #panel-stencil-container .joint-stencil>.content{width:1200px}:host ::ng-deep .qmsckeditor__bpmn__container .joint-inspector.joint-theme-bpmn .list-item .input-wrapper input{width:70%;float:none}:host ::ng-deep .qmsckeditor__bpmn__container .object-property[data-property$=\"/fill\"]{width:100%}:host ::ng-deep .qmsckeditor__bpmn__container .object-property[data-property$=\"/stroke\"]{width:100%}:host ::ng-deep .qmsckeditor__bpmn__container .field[data-field$=\"/fill\"]{width:100%}:host ::ng-deep .qmsckeditor__bpmn__container .field[data-field$=\"/stroke\"]{width:100%}:host ::ng-deep .qmsckeditor__bpmn__container .joint-inspector.joint-theme-bpmn .list-item:nth-child(odd){background:#ecefff;background:-webkit-gradient(left,#ecefff 0,#fafafa 100%);background:linear-gradient(270deg,#91a1c9 0,#fafafa);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#ECEFFF\",endColorstr=\"#3571b0\",GradientType=0)}:host ::ng-deep .qmsckeditor__bpmn__container .joint-inspector.joint-theme-bpmn .list-item:nth-child(2n){background:#ecefff;background:-webkit-gradient(left,#ecefff 0,#fafafa 100%);background:linear-gradient(270deg,#91a1c9 0,#fafafa);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#ECEFFF\",endColorstr=\"#3571b0\",GradientType=0)}:host ::ng-deep .qmsckeditor__bpmn__container .joint-inspector.joint-theme-bpmn .list-item .list-item:nth-child(odd){background:#eceff7;background:-webkit-gradient(left,#eceff7 0,#eceff7 100%);background:linear-gradient(270deg,#eceff7 0,#eceff7);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#eceff7\",endColorstr=\"#eceff7\",GradientType=0)}:host ::ng-deep .qmsckeditor__bpmn__container .joint-inspector.joint-theme-bpmn .list-item .list-item:nth-child(2n){background:#eceff7;background:-webkit-gradient(left,#eceff7 0,#eceff7 100%);background:linear-gradient(270deg,#eceff7 0,#eceff7);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#eceff7\",endColorstr=\"#eceff7\",GradientType=0)}:host ::ng-deep .qmsckeditor__bpmn__container .joint-inspector.joint-theme-bpmn .list-item{border-radius:10px;box-shadow:0 1px 1px 1px rgba(0,0,0,.2)}"]
12638
13367
  },] }
12639
13368
  ];
12640
13369
  QMSCKEditorBpmnComponent.ctorParameters = () => [
@@ -12642,8 +13371,10 @@ QMSCKEditorBpmnComponent.ctorParameters = () => [
12642
13371
  { type: TranslateLibraryService },
12643
13372
  { type: BpmnService },
12644
13373
  { type: QMSCKEditorBpmnApiService },
13374
+ { type: QMSCKEditorLinkService },
13375
+ { type: QMSCKEditorUploadService },
12645
13376
  { type: MatDialogRef },
12646
- { type: String, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
13377
+ { type: QMSCKEditorBpmnData, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
12647
13378
  ];
12648
13379
  QMSCKEditorBpmnComponent.propDecorators = {
12649
13380
  onMessage: [{ type: HostListener, args: ['window:message', ['$event'],] }]
@@ -14672,6 +15403,7 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
14672
15403
  this.anchorText = '';
14673
15404
  //anchorByName = '';
14674
15405
  this.advisoryTitle = '';
15406
+ this.isImageLoading = false;
14675
15407
  this.isUrlProcessing = false;
14676
15408
  this.naturalImageWidth = 0;
14677
15409
  this.naturalImageHeight = 0;
@@ -14803,8 +15535,10 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
14803
15535
  }
14804
15536
  ngAfterViewInit() {
14805
15537
  if (this.myImageRef) {
15538
+ this.isImageLoading = true;
14806
15539
  this.imageListeners.push(this.renderer.listen(this.myImageRef.nativeElement, 'load', () => {
14807
15540
  this.onImageLoad();
15541
+ this.isImageLoading = false;
14808
15542
  }));
14809
15543
  }
14810
15544
  // Avoid drag&drop of the image
@@ -14839,9 +15573,9 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
14839
15573
  }
14840
15574
  });
14841
15575
  }
14842
- parseLinkUrl(url, defaultProtocolName) {
15576
+ parseLinkUrl(url) {
14843
15577
  const protocol = this.protocolRegex.exec(url);
14844
- if (protocol) {
15578
+ if (!!protocol) {
14845
15579
  this.processedUrl = url.substr(protocol[0].length);
14846
15580
  this.url = this.processedUrl;
14847
15581
  this.selectedProtocol = protocol[0].toLowerCase();
@@ -14854,9 +15588,7 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
14854
15588
  else {
14855
15589
  this.processedUrl = url;
14856
15590
  this.url = this.processedUrl;
14857
- if (!!this.selectedProtocol) {
14858
- this.selectedProtocol = defaultProtocolName || ProtocolTypeName.http;
14859
- }
15591
+ this.selectedProtocol = ProtocolTypeName.other;
14860
15592
  }
14861
15593
  }
14862
15594
  onSelectArea(area) {
@@ -15125,8 +15857,8 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
15125
15857
  QMSCKEditorImageMapComponent.decorators = [
15126
15858
  { type: Component, args: [{
15127
15859
  selector: 'app-qmsck-imagemap',
15128
- 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>",
15129
- 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:470px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .page-break,.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}"]
15860
+ 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",
15861
+ 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;justify-content:center;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}"]
15130
15862
  },] }
15131
15863
  ];
15132
15864
  QMSCKEditorImageMapComponent.ctorParameters = () => [
@@ -15172,7 +15904,7 @@ class QMSCKEditorTooltipComponent extends QMSCKEditorBaseComponent {
15172
15904
  this.LANG = this.translate.getObjectLang(res);
15173
15905
  }
15174
15906
  });
15175
- 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');
15907
+ 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');
15176
15908
  }
15177
15909
  ngAfterViewChecked() {
15178
15910
  this.cdr.detectChanges();
@@ -15208,8 +15940,8 @@ class QMSCKEditorTooltipComponent extends QMSCKEditorBaseComponent {
15208
15940
  QMSCKEditorTooltipComponent.decorators = [
15209
15941
  { type: Component, args: [{
15210
15942
  selector: 'app-qmsck-tooltip',
15211
- 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",
15212
- 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:470px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .page-break,.qmsckeditor__tooltip__container .mat-form-field{width:100%}.qmsckeditor__tooltip__container textarea.mat-input-element{min-height:150px}"]
15943
+ 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>",
15944
+ 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}"]
15213
15945
  },] }
15214
15946
  ];
15215
15947
  QMSCKEditorTooltipComponent.ctorParameters = () => [
@@ -15219,15 +15951,49 @@ QMSCKEditorTooltipComponent.ctorParameters = () => [
15219
15951
  { type: QMSCKEditorTooltip, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
15220
15952
  ];
15221
15953
 
15222
- //import { CKEditor5 } from '@ckeditor/ckeditor5-angular/ckeditor';
15954
+ class QMSCKEditorAboutComponent extends QMSCKEditorBaseComponent {
15955
+ constructor(translate, dialogRef, data) {
15956
+ super();
15957
+ this.translate = translate;
15958
+ this.dialogRef = dialogRef;
15959
+ this.data = data;
15960
+ this.currentVersion = data;
15961
+ }
15962
+ ngOnInit() {
15963
+ this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {
15964
+ if (res) {
15965
+ this.LANG = this.translate.getObjectLang(res);
15966
+ }
15967
+ });
15968
+ this.currentYear = new Date().getFullYear();
15969
+ }
15970
+ onCloseDialog() {
15971
+ this.dialogRef.close();
15972
+ }
15973
+ }
15974
+ QMSCKEditorAboutComponent.decorators = [
15975
+ { type: Component, args: [{
15976
+ selector: 'app-about-ckeditor',
15977
+ 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>",
15978
+ 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}"]
15979
+ },] }
15980
+ ];
15981
+ QMSCKEditorAboutComponent.ctorParameters = () => [
15982
+ { type: TranslateLibraryService },
15983
+ { type: MatDialogRef },
15984
+ { type: String, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
15985
+ ];
15986
+
15223
15987
  class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15224
15988
  /**
15225
15989
  * Constructor
15226
15990
  */
15227
- constructor(dialog, globalService, qmsCKEditorFullscreenComponent, renderer, elRef) {
15991
+ constructor(dialog, translate, globalService, treeService, qmsCKEditorFullscreenComponent, renderer, elRef) {
15228
15992
  super();
15229
15993
  this.dialog = dialog;
15994
+ this.translate = translate;
15230
15995
  this.globalService = globalService;
15996
+ this.treeService = treeService;
15231
15997
  this.qmsCKEditorFullscreenComponent = qmsCKEditorFullscreenComponent;
15232
15998
  this.renderer = renderer;
15233
15999
  this.elRef = elRef;
@@ -15238,9 +16004,6 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15238
16004
  }
15239
16005
  onMessage(event) {
15240
16006
  switch (event.data.eventName) {
15241
- case this.ckEditorEventConst.QMSCK_FULLSCREEN_PLUGIN_MSG:
15242
- this.fullscreenEventHandling();
15243
- break;
15244
16007
  case this.ckEditorEventConst.QMSCK_TEMPLATE_PLUGIN_MSG:
15245
16008
  this.templateEventHandling();
15246
16009
  break;
@@ -15259,9 +16022,15 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15259
16022
  case this.ckEditorEventConst.QMSCK_BPMN_PLUGIN_MSG:
15260
16023
  this.bpmnEventHandling(event.data.value);
15261
16024
  break;
16025
+ case this.ckEditorEventConst.QMSCK_ABOUT_CKEDITOR_PLUGIN_MSG:
16026
+ this.aboutCKEditorEventHandling(event.data.value);
16027
+ break;
15262
16028
  case this.ckEditorEventConst.QMSCK_TOGGLE_TOOLBAR_MSG:
15263
16029
  this.toggleToolbarEventHandling();
15264
16030
  break;
16031
+ case this.ckEditorEventConst.QMSCK_BROWSE_VIDEO_MSG:
16032
+ this.browseVideoEventHandling(event.data.value);
16033
+ break;
15265
16034
  default:
15266
16035
  break;
15267
16036
  }
@@ -15269,6 +16038,11 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15269
16038
  ngOnInit() {
15270
16039
  this.name = 'CKEditor custom build';
15271
16040
  this.ckEditor = this.qmsckPlugin.pluginObject;
16041
+ this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {
16042
+ if (res) {
16043
+ this.LANG = this.translate.getObjectLang(res);
16044
+ }
16045
+ });
15272
16046
  this.ckeditorConfig = CKEditorCommonFunctions.getCKEditorConfiguration(this.qmsckPlugin.itemToolbar);
15273
16047
  this.globalService.setApiUrl(this.qmsckData.apiUrl);
15274
16048
  if (this.isEnabledMathtypeConfig()) {
@@ -15280,6 +16054,15 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15280
16054
  if (this.isEnabledToggleToolbar()) {
15281
16055
  this.addToggleToolbarConfig();
15282
16056
  }
16057
+ if (this.isEnabledWProofreader()) {
16058
+ this.addWProofreaderConfig();
16059
+ }
16060
+ if (this.isEnabledTOCToolbar()) {
16061
+ this.addToggleTOCConfig();
16062
+ }
16063
+ if (this.isEnabledFullScreenConfig()) {
16064
+ this.addFullScreenConfig();
16065
+ }
15283
16066
  }
15284
16067
  ngOnDestroy() {
15285
16068
  if (this.editorInstance) {
@@ -15297,6 +16080,23 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15297
16080
  this.renderer.addClass(this.elRef.nativeElement, 'ck-disabled');
15298
16081
  }
15299
16082
  }
16083
+ isEnabledWProofreader() {
16084
+ const pattern = /(wproofreader)/gmi;
16085
+ return !!this.qmsckData.wproofreader
16086
+ && !!this.qmsckData.wproofreader.srcUrl
16087
+ && !!this.qmsckPlugin.itemToolbar
16088
+ && this.qmsckPlugin.itemToolbar.search(pattern) > -1;
16089
+ }
16090
+ addWProofreaderConfig() {
16091
+ const wproofreaderConfig = {
16092
+ wproofreader: Object.assign({}, this.qmsckData.wproofreader)
16093
+ };
16094
+ if (!this.qmsckData.wproofreader.serviceId || this.qmsckData.wproofreader.serviceId.length == 0) {
16095
+ //Fallback value of serviceId property to demo serviceId
16096
+ this.qmsckData.wproofreader.serviceId = '1:KpkvQ2-6KNUj-L1W3u2-C9j0K1-Zv2tY1-CfDOx-WfGRg2-qXtci-YyyE34-j09H42-b0aCt3-d9a';
16097
+ }
16098
+ this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, wproofreaderConfig);
16099
+ }
15300
16100
  isEnabledToggleToolbar() {
15301
16101
  const pattern = /(toggleToolbar)/gmi;
15302
16102
  return !!this.qmsckData.toggleToolbar
@@ -15312,6 +16112,35 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15312
16112
  };
15313
16113
  this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, toggleToolbarConfig);
15314
16114
  }
16115
+ isEnabledFullScreenConfig() {
16116
+ const pattern = /(qmsFullscreen)/gmi;
16117
+ return !!this.qmsckPlugin.itemToolbar
16118
+ && !!this.qmsckData.fullScreenClass
16119
+ && this.qmsckPlugin.itemToolbar.search(pattern) > -1;
16120
+ }
16121
+ addFullScreenConfig() {
16122
+ const fullScreenConfig = {
16123
+ fullScreenConfig: {
16124
+ class: this.qmsckData.fullScreenClass
16125
+ }
16126
+ };
16127
+ this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, fullScreenConfig);
16128
+ }
16129
+ isEnabledTOCToolbar() {
16130
+ const pattern = /(tableOfContents)/gmi;
16131
+ return !!this.qmsckData.tableOfContentHeadings
16132
+ && !!this.qmsckPlugin.itemToolbar
16133
+ && this.qmsckPlugin.itemToolbar.search(pattern) > -1;
16134
+ }
16135
+ addToggleTOCConfig() {
16136
+ const items = this.qmsckData.tableOfContentHeadings.split(',');
16137
+ const tableOfContents = {
16138
+ tableOfContents: {
16139
+ supportedHeadings: items
16140
+ }
16141
+ };
16142
+ this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, tableOfContents);
16143
+ }
15315
16144
  isEnabledTimestampConfig() {
15316
16145
  const pattern = /(timestamp)/gmi;
15317
16146
  return !!this.qmsckData.timestampFormat
@@ -15373,33 +16202,22 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15373
16202
  this.initEditor(editor);
15374
16203
  }
15375
16204
  initEditor(editor) {
16205
+ const imageUploadTypes = editor.config.get('image.upload.types');
16206
+ const maxFileSizeMB = this.qmsckData.maxFileSizeMB;
16207
+ const config = { apiUrl: this.qmsckData.apiUrl, LANG: this.LANG, imageUploadTypes, maxFileSizeMB };
16208
+ editor.plugins.get("FileRepository").createUploadAdapter = (loader) => {
16209
+ return new QmsUploadAdapter(loader, config);
16210
+ };
15376
16211
  editor.ui
15377
16212
  .getEditableElement()
15378
16213
  .parentElement.insertBefore(editor.ui.view.toolbar.element, editor.ui.getEditableElement());
15379
- editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
15380
- return new UploadAdapter(loader);
15381
- };
15382
16214
  // Apped Wordcount to CKeditor
15383
16215
  editor.plugins.get('WordCount').on('update', (evt, stats) => {
15384
16216
  // Prints the current content statistics.
15385
16217
  const wordsBox = document.querySelector('.wordcount-content');
15386
- wordsBox.textContent = `Words: ${stats.words} / Characters: ${stats.characters}`;
16218
+ wordsBox.textContent = `${this.LANG.QMSCKEDITOR.WORDS}: ${stats.words} / ${this.LANG.QMSCKEDITOR.CHARACTERS}: ${stats.characters}`;
15387
16219
  });
15388
16220
  }
15389
- /**
15390
- * Full screen - Restore down
15391
- */
15392
- fullscreenEventHandling() {
15393
- const ck = window.document.getElementById('qmsckeditor');
15394
- if (ck) {
15395
- if (!ck.classList.contains('qmsckeditor__fullscreen')) {
15396
- this.qmsCKEditorFullscreenComponent.showFullScreen();
15397
- }
15398
- else {
15399
- this.qmsCKEditorFullscreenComponent.hideFullScreen();
15400
- }
15401
- }
15402
- }
15403
16221
  /**
15404
16222
  * Add template - Load template
15405
16223
  */
@@ -15482,7 +16300,7 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15482
16300
  data.ckEditor = this.qmsckPlugin.pluginObject;
15483
16301
  const dialogTemplate = this.dialog.open(QMSCKEditorTooltipComponent, {
15484
16302
  width: '650px',
15485
- height: '550px',
16303
+ height: '555px',
15486
16304
  data,
15487
16305
  disableClose: true
15488
16306
  });
@@ -15532,12 +16350,17 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15532
16350
  Business Process Model and Notation
15533
16351
  */
15534
16352
  bpmnEventHandling(id) {
16353
+ let data = new QMSCKEditorBpmnData();
16354
+ data.id = id;
16355
+ data.module = this.qmsckData.module;
16356
+ data.entityId = this.qmsckData.entityId;
16357
+ data.editorContent = this.qmsckContentInput;
15535
16358
  const dialogTemplate = this.dialog.open(QMSCKEditorBpmnComponent, {
15536
16359
  width: '89vw',
15537
16360
  maxWidth: '100vw',
15538
16361
  height: '700px',
15539
16362
  maxHeight: '100vw',
15540
- data: id,
16363
+ data: data,
15541
16364
  disableClose: true
15542
16365
  });
15543
16366
  dialogTemplate
@@ -15552,6 +16375,21 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15552
16375
  }
15553
16376
  });
15554
16377
  }
16378
+ /*
16379
+ About CKEditor
16380
+ */
16381
+ aboutCKEditorEventHandling(version) {
16382
+ const dialogTemplate = this.dialog.open(QMSCKEditorAboutComponent, {
16383
+ width: '500px',
16384
+ data: version,
16385
+ disableClose: true
16386
+ });
16387
+ dialogTemplate
16388
+ .afterClosed()
16389
+ .pipe(takeUntil(this.ngUnsubcribe))
16390
+ .subscribe((result) => {
16391
+ });
16392
+ }
15555
16393
  /*
15556
16394
  Toolbar toggle
15557
16395
  */
@@ -15610,11 +16448,84 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
15610
16448
  }
15611
16449
  }
15612
16450
  }
16451
+ /**
16452
+ * Browse Video
16453
+ */
16454
+ browseVideoEventHandling(value) {
16455
+ this.treeService
16456
+ .getUploadVideoList()
16457
+ .pipe(takeUntil(this.ngUnsubcribe))
16458
+ .subscribe((response) => {
16459
+ const videos = response || [];
16460
+ const config = {
16461
+ allowSelectFolder: false,
16462
+ areaOfCurrentProcess: '',
16463
+ showCheckBox: true,
16464
+ allowMultipleCheck: value.allowMultipleFiles,
16465
+ onlyCheckBoxForChild: true,
16466
+ moduleId: DataType$2.document,
16467
+ openIcon: 'folder_open',
16468
+ openIconColor: '#1954A9',
16469
+ closeIcon: 'folder_filled',
16470
+ closeIconColor: '#4acaff',
16471
+ itemIcon: 'insert_drive_file',
16472
+ itemIconPath: '',
16473
+ itemIconBase64: '',
16474
+ singleSelectedNode: true,
16475
+ expandAll: true
16476
+ };
16477
+ const data = new PopupData();
16478
+ data.moduleId = 2;
16479
+ data.moduleName = this.LANG.QMSCKEDITOR.SELECT_VIDEO_FROM_ARCHIVE;
16480
+ data.treeData1 = videos.map((item) => {
16481
+ return {
16482
+ rootId: item.rootId,
16483
+ parentId: item.parentId,
16484
+ rootName: item.rootName,
16485
+ subName: item.subName,
16486
+ childId: item.childId,
16487
+ childName: item.childName,
16488
+ statusId: item.statusId,
16489
+ displayId: item.displayId,
16490
+ contentType: item.contentType,
16491
+ url: item.url
16492
+ };
16493
+ });
16494
+ data.treeData2 = [];
16495
+ data.treeConfig1 = config;
16496
+ const dialogRef = this.dialog.open(RelatedPopupComponent, {
16497
+ minWidth: '450px',
16498
+ maxWidth: '800px',
16499
+ minHeight: '620px',
16500
+ data,
16501
+ panelClass: 'qmsckeditor-browse-video-popup'
16502
+ });
16503
+ setTimeout(() => {
16504
+ const searchBox = window.document.querySelector('.qmsckeditor-browse-video-popup #qmslib_related_popup_search');
16505
+ if (searchBox) {
16506
+ searchBox.style.display = 'none';
16507
+ }
16508
+ }, 100);
16509
+ dialogRef
16510
+ .afterClosed()
16511
+ .subscribe((result) => {
16512
+ if (result) {
16513
+ const ids = result.reduce((result, item) => {
16514
+ result[item.id.toString()] = item.id;
16515
+ return result;
16516
+ }, {});
16517
+ const urls = videos.filter(i => i.childId && !!ids[i.childId.toString()]).map(i => i.url);
16518
+ const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_BROWSE_VIDEO_RESP, { detail: { urls: urls } });
16519
+ window.dispatchEvent(evt);
16520
+ }
16521
+ });
16522
+ });
16523
+ }
15613
16524
  }
15614
16525
  QMSCKEditorComponent.decorators = [
15615
16526
  { type: Component, args: [{
15616
16527
  selector: 'qms-ckeditor',
15617
- 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>",
16528
+ 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",
15618
16529
  providers: [
15619
16530
  QMSCKEditorFullscreenComponent,
15620
16531
  {
@@ -15630,12 +16541,14 @@ QMSCKEditorComponent.decorators = [
15630
16541
  ],
15631
16542
  encapsulation: ViewEncapsulation.None,
15632
16543
  changeDetection: ChangeDetectionStrategy.OnPush,
15633
- 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:470px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}@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}.ck-content .page-break,.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)}"]
16544
+ 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)}"]
15634
16545
  },] }
15635
16546
  ];
15636
16547
  QMSCKEditorComponent.ctorParameters = () => [
15637
16548
  { type: MatDialog },
16549
+ { type: TranslateLibraryService },
15638
16550
  { type: QMSCKEditorGlobalService },
16551
+ { type: QMSCKEditorTreeService },
15639
16552
  { type: QMSCKEditorFullscreenComponent },
15640
16553
  { type: Renderer2 },
15641
16554
  { type: ElementRef }
@@ -15671,7 +16584,8 @@ QMSCKEditorModule.decorators = [
15671
16584
  QMSCKEditorTooltipComponent,
15672
16585
  QMSCKEditorImageMapComponent,
15673
16586
  QMSCKEditorBpmnComponent,
15674
- SaveTemplateComponent
16587
+ SaveTemplateComponent,
16588
+ QMSCKEditorAboutComponent
15675
16589
  ],
15676
16590
  imports: [
15677
16591
  CKEditorModule$1,
@@ -15697,6 +16611,8 @@ QMSCKEditorModule.decorators = [
15697
16611
  MatAutocompleteModule,
15698
16612
  ScrollingModule,
15699
16613
  HttpClientModule,
16614
+ MatTabsModule,
16615
+ MatProgressBarModule,
15700
16616
  SharedModule
15701
16617
  ],
15702
16618
  providers: [],
@@ -15773,98 +16689,196 @@ class QmsAppBarComponent {
15773
16689
  this.onRightIconClickedEvent = new EventEmitter();
15774
16690
  }
15775
16691
  ngOnInit() {
15776
- }
15777
- onCancel() {
15778
- this.onCancelEvent.emit();
15779
- }
15780
- onClickLeftFirstIcon() {
15781
- this.onClickLeftFirstIconEvent.emit();
15782
- }
15783
- onConfirm() {
15784
- this.onConfirmEvent.emit();
15785
- }
15786
- onMenuClicked() {
15787
- this.onMenuClickedEvent.emit();
15788
- }
15789
- onRightIconClicked(icon) {
15790
- this.onRightIconClickedEvent.emit(icon);
16692
+ }
16693
+ onCancel() {
16694
+ this.onCancelEvent.emit();
16695
+ }
16696
+ onClickLeftFirstIcon() {
16697
+ this.onClickLeftFirstIconEvent.emit();
16698
+ }
16699
+ onConfirm() {
16700
+ this.onConfirmEvent.emit();
16701
+ }
16702
+ onMenuClicked() {
16703
+ this.onMenuClickedEvent.emit();
16704
+ }
16705
+ onRightIconClicked(icon) {
16706
+ this.onRightIconClickedEvent.emit(icon);
16707
+ }
16708
+ }
16709
+ QmsAppBarComponent.decorators = [
16710
+ { type: Component, args: [{
16711
+ selector: 'app-qms-app-bar',
16712
+ template: "<div class=\"qms-app-bar-container\">\r\n <mat-toolbar class=\"bar-container\" *ngIf=\"!isNomalType\">\r\n <span class=\"w-100\">\r\n <span class=\"col-4 d-inline-flex align-items-lg-center\">\r\n <div *ngIf=\"hideMenuDropdown\" class=\"border align-self-center\">\r\n <div *ngIf=\"logoSvgPath\" class=\"logo-container\">\r\n <img [src]=\"logoSvgPath\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div *ngIf=\"!hideMenuDropdown\">\r\n <button #menu class=\"collapse-icon\" mat-button>\r\n <mat-icon class=\"mat-icon-rtl-mirror\" (click)=\"onMenuClicked()\">\r\n menu\r\n </mat-icon>\r\n </button>\r\n <img [src]=\"logoSvgPath\" alt=\"\" />\r\n </div>\r\n <div class=\"pr-8\"></div>\r\n <span class=\"content-title\">{{title}}</span>\r\n <div class=\"spacer\"></div>\r\n </span>\r\n <span class=\"align-items-sm-center col-4 d-inline-flex justify-content-center\">\r\n <div *ngIf=\"imgSvgPath\" class=\"img-container\" [class.bg-transparent]=\"isImgSvgTransparent\">\r\n <img [src]=\"imgSvgPath\" alt=\"\" />\r\n </div>\r\n </span>\r\n <span class=\"col-4 d-inline-flex justify-content-end right-icon\">\r\n <button (click)=\"onRightIconClicked(item.icon)\" *ngFor=\"let item of rightIcons\" class=\"menu-item-icon\"\r\n mat-button>\r\n <mat-icon *ngIf=\"item.icon == 'notifications_none'\" matBadge=\"{{notifications}}\"\r\n matBadgeColor=\"warn\">\r\n {{item.icon}}\r\n </mat-icon>\r\n <mat-icon *ngIf=\"item.icon != 'notifications_none'\"\r\n class=\"material-icons-outlined mat-icon-rtl-mirror\">\r\n {{item.icon}}\r\n </mat-icon>\r\n <span class=\"mg-l-3\">{{item.tooltip}}</span>\r\n </button>\r\n </span>\r\n </span>\r\n </mat-toolbar>\r\n <mat-toolbar class=\"bar-prv-container\" *ngIf=\"isNomalType\">\r\n <button class=\"icon-title\" #menu qms-btn-text (click)=\"onClickLeftFirstIcon()\">\r\n <mat-icon class=\"cusor-pointer\">\r\n {{leftFirstIcon}}\r\n </mat-icon>\r\n </button>\r\n <span class=\"content-title\">{{title}}</span>\r\n <div class=\"spacer\"></div>\r\n <div class=\"right-content\">\r\n <button qms-btn-text (click)=\"onCancel()\" class=\"cusor-pointer mr-10\" *ngIf=\"cancelTitle\">\r\n {{cancelTitle}}\r\n </button>\r\n <button qms-btn [disabled]=\"disabledConfirmAction\" class=\"cusor-pointer\" (click)=\"onConfirm()\" *ngIf=\"confirmTitle\">\r\n {{confirmTitle}}\r\n </button>\r\n </div>\r\n </mat-toolbar>\r\n</div>",
16713
+ styles: [".qms-app-bar-container{height:56px}.qms-app-bar-container .spacer{flex:1 1 auto}.qms-app-bar-container .mat-toolbar{background:#00324e;color:#fff;height:56px}.qms-app-bar-container .bar-prv-container{background:#e4e4e4}.qms-app-bar-container .bar-prv-container .close-icon,.qms-app-bar-container .bar-prv-container .title-icon{color:#323232}.qms-app-bar-container .bar-prv-container .right-content button{line-height:16px!important}.qms-app-bar-container .bar-prv-container .right-content .mr-10{margin-right:10px}.qms-app-bar-container .bar-prv-container button:first-child:hover{background-color:rgba(0,0,0,.08)}.qms-app-bar-container .bar-prv-container .icon-title{color:#666;padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%;margin-right:11px}.qms-app-bar-container .bar-prv-container .content-title{font-family:Raleway;font-size:18px;font-style:normal;font-weight:600;line-height:21px;letter-spacing:0;text-align:left;color:#323232}.qms-app-bar-container .bar-container{padding:0!important}.qms-app-bar-container .bar-container .logo-container{background:#fff;padding:12px;height:56px}.qms-app-bar-container .bar-container .img-container{height:40px;background:#fff;padding:2px}.qms-app-bar-container .bar-container .bg-transparent{background:transparent;height:40px;padding:2px}.qms-app-bar-container .bar-container .right-icon button:last-child{min-width:unset!important}.qms-app-bar-container .bar-container ::ng-deep .mat-badge-warn .mat-badge-content{background-color:#9e360f!important}.qms-app-bar-container .bar-container .content-title{font-family:Raleway;font-size:18px;font-style:normal;font-weight:600;line-height:21px;letter-spacing:0;text-align:left;color:#fff}.qms-app-bar-container .pr-8{padding-right:8px}"]
16714
+ },] }
16715
+ ];
16716
+ QmsAppBarComponent.ctorParameters = () => [];
16717
+ QmsAppBarComponent.propDecorators = {
16718
+ menu: [{ type: ViewChild, args: ['menu', { static: true },] }],
16719
+ isNomalType: [{ type: Input }],
16720
+ leftFirstIcon: [{ type: Input }],
16721
+ title: [{ type: Input }],
16722
+ cancelTitle: [{ type: Input }],
16723
+ confirmTitle: [{ type: Input }],
16724
+ disabledConfirmAction: [{ type: Input }],
16725
+ onClickLeftFirstIconEvent: [{ type: Output }],
16726
+ onCancelEvent: [{ type: Output }],
16727
+ onConfirmEvent: [{ type: Output }],
16728
+ hideMenuDropdown: [{ type: Input }],
16729
+ logoSvgPath: [{ type: Input }],
16730
+ imgSvgPath: [{ type: Input }],
16731
+ isImgSvgTransparent: [{ type: Input }],
16732
+ rightIcons: [{ type: Input }],
16733
+ notifications: [{ type: Input }],
16734
+ onMenuClickedEvent: [{ type: Output }],
16735
+ onRightIconClickedEvent: [{ type: Output }]
16736
+ };
16737
+
16738
+ class QmsAppBarModule {
16739
+ }
16740
+ QmsAppBarModule.decorators = [
16741
+ { type: NgModule, args: [{
16742
+ declarations: [
16743
+ QmsAppBarComponent
16744
+ ],
16745
+ imports: [
16746
+ CommonModule,
16747
+ MatIconModule,
16748
+ MatToolbarModule,
16749
+ MatButtonModule,
16750
+ MatTooltipModule,
16751
+ MatBadgeModule,
16752
+ QMSButtonModule
16753
+ ],
16754
+ exports: [
16755
+ QmsAppBarComponent
16756
+ ]
16757
+ },] }
16758
+ ];
16759
+
16760
+ class ConfirmDialog {
16761
+ constructor() {
16762
+ this.title = '';
16763
+ this.body = '';
16764
+ this.normalTitle = '';
16765
+ this.buttonType = 'normal';
16766
+ this.closeButton = false;
16767
+ this.actionText = 'Confirm';
16768
+ this.cancelText = 'Cancel';
16769
+ }
16770
+ }
16771
+ class QMSDialogConfig extends MatDialogConfig {
16772
+ constructor(data, width = '', minHeight = '', panelClass = '') {
16773
+ super();
16774
+ this.data = data;
16775
+ this.width = width;
16776
+ this.disableClose = false;
16777
+ this.panelClass = ['qms-dialog'];
16778
+ this.panelClass.push(panelClass);
16779
+ this.autoFocus = false;
16780
+ this.restoreFocus = false;
16781
+ }
16782
+ }
16783
+
16784
+ class QMSDrawerContentDirective {
16785
+ constructor(ele) {
16786
+ this.ele = ele;
16787
+ }
16788
+ ngOnInit() {
16789
+ if (this.ele) {
16790
+ this.ele.nativeElement.classList.add('qms-drawer-content');
16791
+ }
16792
+ }
16793
+ }
16794
+ QMSDrawerContentDirective.decorators = [
16795
+ { type: Directive, args: [{
16796
+ selector: '[qms-drawer-content]',
16797
+ },] }
16798
+ ];
16799
+ QMSDrawerContentDirective.ctorParameters = () => [
16800
+ { type: ElementRef }
16801
+ ];
16802
+
16803
+ class QMSDrawerHeaderActionDirective {
16804
+ constructor(ele) {
16805
+ this.ele = ele;
16806
+ }
16807
+ ngOnInit() {
16808
+ if (this.ele) {
16809
+ this.ele.nativeElement.classList.add('qms-drawer-header__action');
16810
+ }
16811
+ }
16812
+ }
16813
+ QMSDrawerHeaderActionDirective.decorators = [
16814
+ { type: Directive, args: [{
16815
+ selector: '[qms-drawer-header-action]',
16816
+ },] }
16817
+ ];
16818
+ QMSDrawerHeaderActionDirective.ctorParameters = () => [
16819
+ { type: ElementRef }
16820
+ ];
16821
+
16822
+ class QMSDrawerHeaderDirective {
16823
+ constructor(ele) {
16824
+ this.ele = ele;
16825
+ }
16826
+ ngOnInit() {
16827
+ if (this.ele) {
16828
+ this.ele.nativeElement.classList.add('qms-drawer-header');
16829
+ }
16830
+ }
16831
+ }
16832
+ QMSDrawerHeaderDirective.decorators = [
16833
+ { type: Directive, args: [{
16834
+ selector: '[qms-drawer-header]',
16835
+ },] }
16836
+ ];
16837
+ QMSDrawerHeaderDirective.ctorParameters = () => [
16838
+ { type: ElementRef }
16839
+ ];
16840
+
16841
+ class QMSDrawerDirective {
16842
+ constructor(ele) {
16843
+ this.ele = ele;
16844
+ }
16845
+ ngOnInit() {
16846
+ if (this.ele) {
16847
+ this.ele.nativeElement.classList.add('qms-drawer');
16848
+ }
15791
16849
  }
15792
16850
  }
15793
- QmsAppBarComponent.decorators = [
15794
- { type: Component, args: [{
15795
- selector: 'app-qms-app-bar',
15796
- template: "<div class=\"qms-app-bar-container\">\r\n <mat-toolbar class=\"bar-container\" *ngIf=\"!isNomalType\">\r\n <span class=\"w-100\">\r\n <span class=\"col-4 d-inline-flex align-items-lg-center\">\r\n <div *ngIf=\"hideMenuDropdown\" class=\"border align-self-center\">\r\n <div *ngIf=\"logoSvgPath\" class=\"logo-container\">\r\n <img [src]=\"logoSvgPath\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div *ngIf=\"!hideMenuDropdown\">\r\n <button #menu class=\"collapse-icon\" mat-button>\r\n <mat-icon class=\"mat-icon-rtl-mirror\" (click)=\"onMenuClicked()\">\r\n menu\r\n </mat-icon>\r\n </button>\r\n <img [src]=\"logoSvgPath\" alt=\"\" />\r\n </div>\r\n <div class=\"pr-8\"></div>\r\n <span class=\"content-title\">{{title}}</span>\r\n <div class=\"spacer\"></div>\r\n </span>\r\n <span class=\"align-items-sm-center col-4 d-inline-flex justify-content-center\">\r\n <div *ngIf=\"imgSvgPath\" class=\"img-container\" [class.bg-transparent]=\"isImgSvgTransparent\">\r\n <img [src]=\"imgSvgPath\" alt=\"\" />\r\n </div>\r\n </span>\r\n <span class=\"col-4 d-inline-flex justify-content-end right-icon\">\r\n <button (click)=\"onRightIconClicked(item.icon)\" *ngFor=\"let item of rightIcons\" class=\"menu-item-icon\"\r\n mat-button>\r\n <mat-icon *ngIf=\"item.icon == 'notifications_none'\" matBadge=\"{{notifications}}\"\r\n matBadgeColor=\"warn\">\r\n {{item.icon}}\r\n </mat-icon>\r\n <mat-icon *ngIf=\"item.icon != 'notifications_none'\"\r\n class=\"material-icons-outlined mat-icon-rtl-mirror\">\r\n {{item.icon}}\r\n </mat-icon>\r\n <span class=\"mg-l-3\">{{item.tooltip}}</span>\r\n </button>\r\n </span>\r\n </span>\r\n </mat-toolbar>\r\n <mat-toolbar class=\"bar-prv-container\" *ngIf=\"isNomalType\">\r\n <button class=\"icon-title\" #menu qms-btn-text (click)=\"onClickLeftFirstIcon()\">\r\n <mat-icon class=\"cusor-pointer\">\r\n {{leftFirstIcon}}\r\n </mat-icon>\r\n </button>\r\n <span class=\"content-title\">{{title}}</span>\r\n <div class=\"spacer\"></div>\r\n <div class=\"right-content\">\r\n <button qms-btn-text (click)=\"onCancel()\" class=\"cusor-pointer mr-10\" *ngIf=\"cancelTitle\">\r\n {{cancelTitle}}\r\n </button>\r\n <button qms-btn [disabled]=\"disabledConfirmAction\" class=\"cusor-pointer\" (click)=\"onConfirm()\" *ngIf=\"confirmTitle\">\r\n {{confirmTitle}}\r\n </button>\r\n </div>\r\n </mat-toolbar>\r\n</div>",
15797
- styles: [".qms-app-bar-container{height:56px}.qms-app-bar-container .spacer{flex:1 1 auto}.qms-app-bar-container .mat-toolbar{background:#00324e;color:#fff;height:56px}.qms-app-bar-container .bar-prv-container{background:#e4e4e4}.qms-app-bar-container .bar-prv-container .close-icon,.qms-app-bar-container .bar-prv-container .title-icon{color:#323232}.qms-app-bar-container .bar-prv-container .right-content button{line-height:16px!important}.qms-app-bar-container .bar-prv-container .right-content .mr-10{margin-right:10px}.qms-app-bar-container .bar-prv-container button:first-child:hover{background-color:rgba(0,0,0,.08)}.qms-app-bar-container .bar-prv-container .icon-title{color:#666;padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%;margin-right:11px}.qms-app-bar-container .bar-prv-container .content-title{font-family:Raleway;font-size:18px;font-style:normal;font-weight:600;line-height:21px;letter-spacing:0;text-align:left;color:#323232}.qms-app-bar-container .bar-container{padding:0!important}.qms-app-bar-container .bar-container .logo-container{background:#fff;padding:12px;height:56px}.qms-app-bar-container .bar-container .img-container{height:40px;background:#fff;padding:2px}.qms-app-bar-container .bar-container .bg-transparent{background:transparent;height:40px;padding:2px}.qms-app-bar-container .bar-container .right-icon button:last-child{min-width:unset!important}.qms-app-bar-container .bar-container ::ng-deep .mat-badge-warn .mat-badge-content{background-color:#9e360f!important}.qms-app-bar-container .bar-container .content-title{font-family:Raleway;font-size:18px;font-style:normal;font-weight:600;line-height:21px;letter-spacing:0;text-align:left;color:#fff}.qms-app-bar-container .pr-8{padding-right:8px}"]
16851
+ QMSDrawerDirective.decorators = [
16852
+ { type: Directive, args: [{
16853
+ selector: '[qms-drawer]',
15798
16854
  },] }
15799
16855
  ];
15800
- QmsAppBarComponent.ctorParameters = () => [];
15801
- QmsAppBarComponent.propDecorators = {
15802
- menu: [{ type: ViewChild, args: ['menu', { static: true },] }],
15803
- isNomalType: [{ type: Input }],
15804
- leftFirstIcon: [{ type: Input }],
15805
- title: [{ type: Input }],
15806
- cancelTitle: [{ type: Input }],
15807
- confirmTitle: [{ type: Input }],
15808
- disabledConfirmAction: [{ type: Input }],
15809
- onClickLeftFirstIconEvent: [{ type: Output }],
15810
- onCancelEvent: [{ type: Output }],
15811
- onConfirmEvent: [{ type: Output }],
15812
- hideMenuDropdown: [{ type: Input }],
15813
- logoSvgPath: [{ type: Input }],
15814
- imgSvgPath: [{ type: Input }],
15815
- isImgSvgTransparent: [{ type: Input }],
15816
- rightIcons: [{ type: Input }],
15817
- notifications: [{ type: Input }],
15818
- onMenuClickedEvent: [{ type: Output }],
15819
- onRightIconClickedEvent: [{ type: Output }]
15820
- };
16856
+ QMSDrawerDirective.ctorParameters = () => [
16857
+ { type: ElementRef }
16858
+ ];
15821
16859
 
15822
- class QmsAppBarModule {
16860
+ class QMSSideSheetModule {
15823
16861
  }
15824
- QmsAppBarModule.decorators = [
16862
+ QMSSideSheetModule.decorators = [
15825
16863
  { type: NgModule, args: [{
15826
16864
  declarations: [
15827
- QmsAppBarComponent
16865
+ QMSDrawerDirective,
16866
+ QMSDrawerHeaderDirective,
16867
+ QMSDrawerContentDirective,
16868
+ QMSDrawerHeaderActionDirective,
15828
16869
  ],
15829
16870
  imports: [
15830
- CommonModule,
15831
- MatIconModule,
15832
- MatToolbarModule,
15833
- MatButtonModule,
15834
- MatTooltipModule,
15835
- MatBadgeModule,
15836
- QMSButtonModule
16871
+ CommonModule
15837
16872
  ],
15838
16873
  exports: [
15839
- QmsAppBarComponent
16874
+ QMSDrawerDirective,
16875
+ QMSDrawerHeaderDirective,
16876
+ QMSDrawerContentDirective,
16877
+ QMSDrawerHeaderActionDirective,
15840
16878
  ]
15841
16879
  },] }
15842
16880
  ];
15843
16881
 
15844
- class ConfirmDialog {
15845
- constructor() {
15846
- this.title = '';
15847
- this.body = '';
15848
- this.normalTitle = '';
15849
- this.buttonType = 'normal';
15850
- this.closeButton = false;
15851
- this.actionText = 'Confirm';
15852
- this.cancelText = 'Cancel';
15853
- }
15854
- }
15855
- class QMSDialogConfig extends MatDialogConfig {
15856
- constructor(data, width = '', minHeight = '', panelClass = '') {
15857
- super();
15858
- this.data = data;
15859
- this.width = width;
15860
- this.disableClose = false;
15861
- this.panelClass = ['qms-dialog'];
15862
- this.panelClass.push(panelClass);
15863
- this.autoFocus = false;
15864
- this.restoreFocus = false;
15865
- }
15866
- }
15867
-
15868
16882
  class QMSTooltipModule {
15869
16883
  }
15870
16884
  QMSTooltipModule.decorators = [
@@ -16145,7 +17159,7 @@ class QmsStatusDropdownComponent {
16145
17159
  QmsStatusDropdownComponent.decorators = [
16146
17160
  { type: Component, args: [{
16147
17161
  selector: 'qms-status-dropdown',
16148
- template: "<div id=\"qms-status-dropdown-container\" class=\"qms-status-dropdown-container {{ getClassType(value) }}\">\r\n <mat-form-field class=\"material-custom-multiselect height-40\" [style.width]=\"width\">\r\n <mat-select [(ngModel)]=\"value\" (ngModelChange)=\"onModelChange()\">\r\n <ng-container *ngIf=\"options\">\r\n <mat-option *ngFor=\"let option of options\" [value]=\"option.type\">\r\n <label class=\"qms-label qms-label-{{ getClassType(option.type) }}\">{{ option.text }}</label>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n</div>",
17162
+ template: "<div\r\n id=\"qms-status-dropdown-container\"\r\n class=\"qms-status-dropdown-container {{ getClassType(value) }}\"\r\n>\r\n <mat-form-field\r\n class=\"material-custom-multiselect height-40\"\r\n [style.width]=\"width\"\r\n >\r\n <mat-select\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onModelChange()\"\r\n disableOptionCentering\r\n >\r\n <ng-container *ngIf=\"options\">\r\n <mat-option *ngFor=\"let option of options\" [value]=\"option.type\">\r\n <label class=\"qms-label qms-label-{{ getClassType(option.type) }}\">{{\r\n option.text\r\n }}</label>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n</div>\r\n",
16149
17163
  styles: [".qms-status-dropdown-container ::ng-deep .material-custom-multiselect{height:40px}.qms-status-dropdown-container ::ng-deep .material-custom-multiselect.mat-focused{outline:1px solid #1954a9;border-radius:2px}.qms-status-dropdown-container ::ng-deep .material-custom-multiselect .mat-form-field-flex{border-radius:2px;padding:0 17.5px 0 16px;width:100%;height:40px}.qms-status-dropdown-container ::ng-deep .material-custom-multiselect .mat-form-field-flex .mat-select-min-line{font-family:Open Sans;font-size:14px;font-weight:600;line-height:16px;letter-spacing:1px}.qms-status-dropdown-container ::ng-deep .material-custom-multiselect .mat-form-field-infix{padding-top:0;border-top:10px solid transparent}.qms-status-dropdown-container ::ng-deep .material-custom-multiselect .mat-form-field-infix .mat-select-value-text{line-height:16px}.qms-status-dropdown-container ::ng-deep .material-custom-multiselect .mat-form-field-wrapper .mat-form-field-underline{display:none}.qms-status-dropdown-container.warning ::ng-deep .material-custom-multiselect .mat-form-field-flex{background-color:#e4cf53}.qms-status-dropdown-container.warning ::ng-deep .material-custom-multiselect .mat-form-field-flex .mat-select-arrow-wrapper .mat-select-arrow{color:rgba(0,0,0,.6)}.qms-status-dropdown-container.warning ::ng-deep .material-custom-multiselect .mat-select-value{color:#323232}.qms-status-dropdown-container.warning ::ng-deep .material-custom-multiselect .mat-select-arrow{color:#323232}.qms-status-dropdown-container.light ::ng-deep .material-custom-multiselect .mat-form-field-flex{background-color:rgba(0,0,0,.1)}.qms-status-dropdown-container.light ::ng-deep .material-custom-multiselect .mat-form-field-flex .mat-select-arrow-wrapper .mat-select-arrow{color:rgba(0,0,0,.6)}.qms-status-dropdown-container.light ::ng-deep .material-custom-multiselect .mat-select-value{color:#323232}.qms-status-dropdown-container.light ::ng-deep .material-custom-multiselect .mat-select-arrow{color:#323232}.qms-status-dropdown-container.danger ::ng-deep .material-custom-multiselect .mat-form-field-flex{background-color:#9e360f}.qms-status-dropdown-container.danger ::ng-deep .material-custom-multiselect .mat-form-field-flex .mat-select-arrow-wrapper .mat-select-arrow{color:hsla(0,0%,100%,.6)}.qms-status-dropdown-container.danger ::ng-deep .material-custom-multiselect .mat-select-value{color:#fff}.qms-status-dropdown-container.danger ::ng-deep .material-custom-multiselect .mat-select-arrow{color:#fff}.qms-status-dropdown-container.success ::ng-deep .material-custom-multiselect .mat-form-field-flex{background-color:#005832}.qms-status-dropdown-container.success ::ng-deep .material-custom-multiselect .mat-select-value{color:#fff}.qms-status-dropdown-container.success ::ng-deep .material-custom-multiselect .mat-select-arrow{color:#fff}.qms-status-dropdown-container.success ::ng-deep .material-custom-multiselect .mat-select-arrow-wrapper .mat-select-arrow{color:hsla(0,0%,100%,.6)}.qms-status-dropdown-container ::ng-deep mat-select .mat-select-value{font-size:14px;line-height:16px;color:#323232;font-weight:500}.qms-status-dropdown-container ::ng-deep mat-select .mat-select-arrow-wrapper{padding-top:17.5px}.qms-status-dropdown-container ::ng-deep mat-select .mat-select-arrow-wrapper .mat-select-arrow{border-top:4px solid}.qms-status-dropdown-container ::ng-deep mat-option .mat-option-custom .mat-pseudo-checkbox-checked:after{top:3px;width:11px;height:5px;border-left:3px solid}"]
16150
17164
  },] }
16151
17165
  ];
@@ -16556,10 +17570,10 @@ class SelectIncludeChildrenPopUpComponent {
16556
17570
  appIconService.registerRiskIcon(iconRegistry, domSanitizer);
16557
17571
  }
16558
17572
  ngAfterViewInit() {
17573
+ this.initTree(this.checkedNodeList);
16559
17574
  if (this.editItem) {
16560
17575
  this.focusEditItem(this.editItem);
16561
17576
  }
16562
- this.initTree(this.checkedNodeList);
16563
17577
  }
16564
17578
  ngOnDestroy() {
16565
17579
  this.ngUnsubscribe.next();
@@ -16605,16 +17619,60 @@ class SelectIncludeChildrenPopUpComponent {
16605
17619
  this.selectedOptions.push(element);
16606
17620
  if (element.type === SelectOptionTypes.IncludeChildren) {
16607
17621
  this.selectedOptions = this.selectedOptions.concat(element.children);
17622
+ if (!this.includeChildren) {
17623
+ this.disabledList = [...this.disabledList, element];
17624
+ this.disabledList = [...this.disabledList, ...element.children.map(x => {
17625
+ return {
17626
+ id: x.id,
17627
+ itemName: x.itemName,
17628
+ children: [],
17629
+ parentId: x.parentId,
17630
+ type: x.type,
17631
+ noSelectedChildren: 0,
17632
+ noChildren: 0
17633
+ };
17634
+ })];
17635
+ }
17636
+ }
17637
+ else {
17638
+ if (this.includeChildren) {
17639
+ this.disabledList = [...this.disabledList, element];
17640
+ }
16608
17641
  }
16609
17642
  this.selectedData = this.mapSelectOptionToTreeNode(this.selectedOptions);
16610
17643
  });
16611
17644
  }
16612
17645
  }
16613
17646
  focusEditItem(selectedOption) {
16614
- const node = this.dataTrees.toArray()[0].getNodeByIdAndParentId(selectedOption.id, selectedOption.parentId);
17647
+ let parent;
17648
+ let parentList = [];
17649
+ parent = this.treeData.find(x => x.rootId === selectedOption.parentId);
17650
+ if (parent) {
17651
+ parentList.push({
17652
+ id: parent.rootId,
17653
+ itemName: parent.rootName,
17654
+ parentId: parent.parentId,
17655
+ type: SelectOptionTypes.IncludeChildren
17656
+ });
17657
+ parentList = this.getParentLineOfNode(parentList, parent);
17658
+ }
17659
+ let node;
17660
+ if (parentList.length > 0) {
17661
+ parentList.forEach(parent => {
17662
+ node = this.dataTrees.toArray()[0].getNodeByIdAndParentId(parent.id, parent.parentId);
17663
+ if (node) {
17664
+ this.dataTrees.toArray()[0].expandNode(node);
17665
+ const element = document.getElementById(`_${node.parentId ? node.parentId.toLowerCase() : ''}_${node.id.toLowerCase()}_${node.level}`);
17666
+ if (element) {
17667
+ element.scrollIntoView(false);
17668
+ }
17669
+ }
17670
+ });
17671
+ }
17672
+ node = this.dataTrees.toArray()[0].getNodeByIdAndParentId(selectedOption.id, selectedOption.parentId);
16615
17673
  if (node) {
16616
17674
  this.dataTrees.toArray()[0].expandNode(node);
16617
- const element = document.getElementById(`_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`);
17675
+ const element = document.getElementById(`_${node.parentId ? node.parentId.toLowerCase() : ''}_${node.id.toLowerCase()}_${node.level}`);
16618
17676
  if (element) {
16619
17677
  element.scrollIntoView(false);
16620
17678
  }
@@ -16625,7 +17683,7 @@ class SelectIncludeChildrenPopUpComponent {
16625
17683
  if (index >= 0) {
16626
17684
  if (this.checkedNodeList[index].type === SelectOptionTypes.IncludeChildren) {
16627
17685
  this.removeIncludeChildren(item);
16628
- this.refactorSelectList(item);
17686
+ this.deleteNodeFromSelectedNode(item);
16629
17687
  }
16630
17688
  else {
16631
17689
  let position = this.selectedOptions.findIndex(x => x.id === item.id && x.parentId === item.parentId);
@@ -16633,8 +17691,9 @@ class SelectIncludeChildrenPopUpComponent {
16633
17691
  this.selectedOptions.splice(position, 1);
16634
17692
  }
16635
17693
  }
17694
+ this.focusEditItem(this.checkedNodeList[index]);
17695
+ this.enableSelectedNode(this.checkedNodeList[index]);
16636
17696
  this.checkedNodeList.splice(index, 1);
16637
- this.enableSelectedNode({ id: item.id, parentId: item.parentId, itemName: item.name, type: SelectOptionTypes.IncludeChildren });
16638
17697
  this.selectedData = this.mapSelectOptionToTreeNode(this.selectedOptions);
16639
17698
  }
16640
17699
  }
@@ -16666,7 +17725,7 @@ class SelectIncludeChildrenPopUpComponent {
16666
17725
  this.checkedNodeList.push({
16667
17726
  id: item.id,
16668
17727
  itemName: item.itemName,
16669
- type: SelectOptionTypes.SelectOne,
17728
+ type: item.type,
16670
17729
  parentId: item.parentId,
16671
17730
  children: [],
16672
17731
  noChildren: 0,
@@ -16675,6 +17734,15 @@ class SelectIncludeChildrenPopUpComponent {
16675
17734
  }
16676
17735
  }
16677
17736
  this.selectedData = this.mapSelectOptionToTreeNode(this.selectedOptions);
17737
+ this.focusEditItem({
17738
+ id: item.id,
17739
+ itemName: item.itemName,
17740
+ type: item.type,
17741
+ parentId: item.parentId,
17742
+ children: [],
17743
+ noChildren: 0,
17744
+ noSelectedChildren: 0
17745
+ });
16678
17746
  }
16679
17747
  getItemIconType(item) {
16680
17748
  if (item.itemIcon && item.itemIcon.length)
@@ -16745,12 +17813,29 @@ class SelectIncludeChildrenPopUpComponent {
16745
17813
  });
16746
17814
  }
16747
17815
  removeIncludeChildren(item) {
17816
+ const index = this.checkedNodeList.findIndex(x => x.id.toLowerCase() === item.id.toLowerCase() && x.parentId.toLowerCase() === x.parentId.toLowerCase() && x.type === SelectOptionTypes.IncludeChildren);
17817
+ if (index >= 0) {
17818
+ let listChildren = this.checkedNodeList[index].children;
17819
+ const itemIndex = this.selectedOptions.findIndex(node => node.id.toLowerCase() === item.id.toLowerCase() && node.parentId.toLowerCase() === item.parentId.toLowerCase());
17820
+ if (itemIndex >= 0) {
17821
+ this.enableSelectedNode(this.checkedNodeList[index]);
17822
+ this.selectedOptions.splice(itemIndex, 1);
17823
+ }
17824
+ listChildren.forEach(x => {
17825
+ const index = this.selectedOptions.findIndex(node => node.id.toLowerCase() === x.id.toLowerCase() && node.parentId.toLowerCase() === x.parentId.toLowerCase());
17826
+ if (index >= 0) {
17827
+ this.selectedOptions.splice(index, 1);
17828
+ this.disabledList = this.disabledList.filter(node => !(x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase()));
17829
+ }
17830
+ });
17831
+ return;
17832
+ }
16748
17833
  let listChildren = [];
16749
17834
  listChildren = this.getAllChildrenNodeRecursive(listChildren, item);
16750
17835
  const itemIndex = this.selectedOptions.findIndex(node => node.id === item.id && node.parentId === item.parentId);
16751
17836
  if (itemIndex >= 0) {
16752
- this.enableSelectedNode(this.selectedOptions[itemIndex]);
16753
17837
  this.selectedOptions.splice(itemIndex, 1);
17838
+ this.disabledList = this.disabledList.filter(x => !(x.id === item.id && x.parentId === item.parentId));
16754
17839
  }
16755
17840
  listChildren.forEach(x => {
16756
17841
  const index = this.selectedOptions.findIndex(node => node.id === x.id && node.parentId === x.parentId);
@@ -16869,7 +17954,7 @@ class SelectIncludeChildrenPopUpComponent {
16869
17954
  }
16870
17955
  }
16871
17956
  this.checkedNodeList = this.checkedNodeList.filter(x => x.id !== node.id || x.parentId !== node.parentId);
16872
- this.refactorSelectList(node);
17957
+ this.deleteNodeFromSelectedNode(node);
16873
17958
  }
16874
17959
  else {
16875
17960
  const itemIndex = this.selectedOptions.findIndex(item => node.id === item.id && node.parentId === item.parentId);
@@ -16942,6 +18027,16 @@ class SelectIncludeChildrenPopUpComponent {
16942
18027
  });
16943
18028
  }
16944
18029
  refactorSelectList(node) {
18030
+ this.combineNodes({
18031
+ id: node.id,
18032
+ itemName: node.name,
18033
+ type: SelectOptionTypes.IncludeChildren,
18034
+ parentId: node.parentId
18035
+ });
18036
+ }
18037
+ deleteNodeFromSelectedNode(node) {
18038
+ let children = [];
18039
+ children = this.getAllChildrenNodeRecursive(children, node);
16945
18040
  let parent;
16946
18041
  let parentList = [];
16947
18042
  parent = this.treeData.find(x => x.rootId === node.parentId);
@@ -16954,30 +18049,23 @@ class SelectIncludeChildrenPopUpComponent {
16954
18049
  });
16955
18050
  parentList = this.getParentLineOfNode(parentList, parent);
16956
18051
  }
18052
+ let parentIndex = -1;
16957
18053
  if (parentList.length > 0) {
16958
- const selectedParentList = parentList.filter(x => this.selectedOptions
16959
- .findIndex(selectedNode => x.id === selectedNode.id && x.parentId === selectedNode.parentId) >= 0);
16960
- if (selectedParentList.length > 0) {
16961
- const highestSelectedNode = selectedParentList[selectedParentList.length - 1];
16962
- this.combineNodes(highestSelectedNode);
16963
- this.disabledList = this.disabledList.filter(x => !(x.id === highestSelectedNode.id && x.parentId === highestSelectedNode.parentId));
16964
- }
16965
- else {
16966
- this.combineNodes({
16967
- id: node.id,
16968
- itemName: node.name,
16969
- type: SelectOptionTypes.IncludeChildren,
16970
- parentId: node.parentId
16971
- });
16972
- this.disabledList = this.disabledList.filter(x => !(x.id === node.id && x.parentId === node.parentId));
16973
- }
16974
- }
16975
- else {
16976
- this.combineNodes({
16977
- id: node.id,
16978
- itemName: node.name,
16979
- type: SelectOptionTypes.IncludeChildren,
16980
- parentId: node.parentId
18054
+ parentList.forEach(parent => {
18055
+ parentIndex = this.checkedNodeList.findIndex(x => x.id.toLowerCase() === parent.id.toLowerCase() && x.parentId.toLowerCase() === parent.parentId.toLowerCase());
18056
+ if (parentIndex >= 0) {
18057
+ const index = this.checkedNodeList[parentIndex].children.findIndex(x => x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase());
18058
+ if (index >= 0) {
18059
+ this.checkedNodeList[parentIndex].children.splice(index, 1);
18060
+ }
18061
+ children.forEach(child => {
18062
+ const index = this.checkedNodeList[parentIndex].children.findIndex(x => x.id.toLowerCase() === child.id.toLowerCase() && x.parentId.toLowerCase() === child.parentId.toLowerCase());
18063
+ if (index >= 0) {
18064
+ this.checkedNodeList[parentIndex].children.splice(index, 1);
18065
+ }
18066
+ });
18067
+ this.checkedNodeList[parentIndex].noSelectedChildren = this.checkedNodeList[parentIndex].children.length;
18068
+ }
16981
18069
  });
16982
18070
  }
16983
18071
  }
@@ -17021,7 +18109,7 @@ class SelectIncludeChildrenPopUpComponent {
17021
18109
  this.checkedNodeList[selectedNodeIndex].children = nodeList;
17022
18110
  this.checkedNodeList[selectedNodeIndex].noChildren = children.length;
17023
18111
  this.checkedNodeList[selectedNodeIndex].noSelectedChildren = nodeList.length;
17024
- this.checkedNodeList[selectedNodeIndex].type = children.length === 0 ? SelectOptionTypes.SelectOne : SelectOptionTypes.IncludeChildren;
18112
+ this.checkedNodeList[selectedNodeIndex].type = SelectOptionTypes.IncludeChildren;
17025
18113
  }
17026
18114
  }
17027
18115
  getParentLineOfNode(listParent, node) {
@@ -17045,7 +18133,7 @@ class SelectIncludeChildrenPopUpComponent {
17045
18133
  return {
17046
18134
  id: x.id,
17047
18135
  name: x.itemName,
17048
- parentId: node.id,
18136
+ parentId: x.parentId,
17049
18137
  level: 0,
17050
18138
  expandable: true,
17051
18139
  hasChild: true,
@@ -17077,18 +18165,11 @@ class SelectIncludeChildrenPopUpComponent {
17077
18165
  }
17078
18166
  }
17079
18167
  enableSelectedNode(node) {
17080
- let children = [];
17081
- children = this.getAllChildrenNodeRecursive(children, {
17082
- id: node.id,
17083
- name: node.itemName,
17084
- parentId: node.parentId,
17085
- level: 0,
17086
- expandable: true,
17087
- hasChild: true,
17088
- disabled: false
17089
- });
17090
- this.disabledList = this.disabledList.filter(x => children.filter(child => (x.id === child.id && x.parentId === child.parentId)).length === 0);
17091
18168
  this.disabledList = this.disabledList.filter(x => !(x.id === node.id && x.parentId === node.parentId));
18169
+ if (node.type === SelectOptionTypes.IncludeChildren) {
18170
+ let children = node.children;
18171
+ this.disabledList = this.disabledList.filter(x => children.filter(child => (x.id === child.id && x.parentId === child.parentId)).length === 0);
18172
+ }
17092
18173
  }
17093
18174
  }
17094
18175
  SelectIncludeChildrenPopUpComponent.decorators = [
@@ -17469,9 +18550,56 @@ class SelectOneDialog {
17469
18550
  children: [],
17470
18551
  parentId: node.parentId
17471
18552
  };
17472
- this.dataTrees.toArray()[0].todoFolderSelection([treeNode]);
18553
+ setTimeout(() => {
18554
+ this.dataTrees.toArray()[0].todoFolderSelection([treeNode]);
18555
+ this.expandAndScrollToNode(treeNode, node);
18556
+ }, 500);
17473
18557
  return;
17474
18558
  }
18559
+ expandAndScrollToNode(treeNode, node) {
18560
+ let parent;
18561
+ let parentList = [];
18562
+ parent = this.treeData.find(x => x.rootId === node.parentId);
18563
+ if (parent) {
18564
+ parentList.push({
18565
+ id: parent.rootId,
18566
+ itemName: parent.rootName,
18567
+ parentId: parent.parentId
18568
+ });
18569
+ parentList = this.getParentLineOfNode(parentList, parent);
18570
+ }
18571
+ if (parentList.length) {
18572
+ parentList.reverse().forEach(x => {
18573
+ this.focusEditItem(x);
18574
+ });
18575
+ }
18576
+ else {
18577
+ this.focusEditItem(treeNode);
18578
+ }
18579
+ }
18580
+ getParentLineOfNode(listParent, node) {
18581
+ let parent;
18582
+ parent = this.treeData.find(x => x.rootId === node.parentId);
18583
+ if (parent) {
18584
+ listParent = [...listParent, {
18585
+ id: parent.rootId,
18586
+ itemName: parent.rootName,
18587
+ parentId: parent.parentId
18588
+ }];
18589
+ this.getParentLineOfNode(listParent, parent);
18590
+ }
18591
+ return listParent;
18592
+ }
18593
+ focusEditItem(selectedOption) {
18594
+ const node = this.dataTrees.toArray()[0].getNodeByIdAndParentId(selectedOption.id, selectedOption.parentId);
18595
+ if (node) {
18596
+ this.dataTrees.toArray()[0].expandNode(node);
18597
+ const element = document.getElementById(`_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`);
18598
+ if (element) {
18599
+ element.scrollIntoView(false);
18600
+ }
18601
+ }
18602
+ }
17475
18603
  onCloseClick() {
17476
18604
  this.selectedFolder = null;
17477
18605
  this.dialogRef.close();
@@ -17595,7 +18723,7 @@ class SelectOneDialog {
17595
18723
  SelectOneDialog.decorators = [
17596
18724
  { type: Component, args: [{
17597
18725
  selector: 'qms-select-one',
17598
- 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",
18726
+ 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",
17599
18727
  encapsulation: ViewEncapsulation.None,
17600
18728
  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}"]
17601
18729
  },] }
@@ -18006,12 +19134,15 @@ class NewTreeComponent {
18006
19134
  }
18007
19135
  checkDisabledList() {
18008
19136
  // Disable List
19137
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
19138
+ this.treeControl.dataNodes[i].disabled = false;
19139
+ }
18009
19140
  if (this.disabledList.length) {
18010
19141
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
18011
19142
  this.disabledList.forEach(x => {
18012
19143
  var _a;
18013
- if (x.id === this.treeControl.dataNodes[i].id
18014
- && (!x.parentId || x.parentId === ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.parentId))) {
19144
+ if (x.id.toLowerCase() === this.treeControl.dataNodes[i].id.toLowerCase()
19145
+ && (!x.parentId || x.parentId.toLowerCase() === ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.parentId.toLowerCase()))) {
18015
19146
  this.treeControl.dataNodes[i].disabled = true;
18016
19147
  }
18017
19148
  });
@@ -19472,6 +20603,7 @@ class QMSNavigationDrawerComponent {
19472
20603
  this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
19473
20604
  this.hoverNode = {};
19474
20605
  this.expandingNodes = [];
20606
+ this.activeNode = '';
19475
20607
  this.hasChild = (_, node) => node.expandable;
19476
20608
  this.dataSource.data = this.treeData;
19477
20609
  }
@@ -19513,6 +20645,7 @@ class QMSNavigationDrawerComponent {
19513
20645
  });
19514
20646
  }
19515
20647
  onClickNode(nodeId) {
20648
+ this.activeNode = nodeId;
19516
20649
  this.onClickNodeEvent.emit(nodeId);
19517
20650
  }
19518
20651
  onOver(node) {
@@ -19769,8 +20902,8 @@ class QMSNavigationDrawerComponent {
19769
20902
  QMSNavigationDrawerComponent.decorators = [
19770
20903
  { type: Component, args: [{
19771
20904
  selector: 'app-qms-navigation-drawer',
19772
- template: "<mat-tree class=\"qms-navigation-drawer-container\" [dataSource]=\"dataSource\" [treeControl]=\"treeControl\" cdkDropList\r\n (cdkDropListDropped)=\"drop($event)\" [cdkDropListDisabled]=\"dragDropListDisabled\">\r\n <!-- This is the tree node template for leaf nodes -->\r\n <mat-tree-node *matTreeNodeDef=\"let node\" routerLinkActive=\"active\" (mouseover)=\"onOver(node)\" matTreeNodePadding\r\n matTreeNodePaddingIndent=\"34\" cdkDrag [cdkDragData]=\"node\" (mouseenter)=\"dragHover(node)\"\r\n (mouseleave)=\"dragHoverEnd()\" (cdkDragStarted)=\"dragStart()\" (cdkDragReleased)=\"dragEnd()\"\r\n [ngClass]=\"{'expand-node' : treeControl.isExpanded(node), 'collapse-node': !treeControl.isExpanded(node)}\">\r\n <div *ngIf=\"!node.isReadOnly\" (click)=\"onClickNode(node.id)\"\r\n class=\"tree-content\">\r\n <div class=\"span-text\" mode=\"dark\" position=\"below\">{{ node.name }}</div>\r\n <button tabindex=\"-1\" class=\"button-icon collapse-expand-icon space-icon\" mat-icon-button>\r\n <img class=\"img-icon\" [src]=\"faIconPath\" alt=\"\" />\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\"\r\n *ngIf=\"showFavoriteIcon && (node.id === hoverNode.id || node.favorite)\"\r\n (click)=\"addFavoriteNode(node.id, $event)\" (mouseenter)=\"setHoverFavorite(node.id)\"\r\n (mouseleave)=\"setHoverFavorite(null)\" [ngClass]=\"{'btn-favorite': (node.id === hoverNode.id && showAddIcon)}\"\r\n matTooltip=\"{{!node.favorite ? addFavoriteTooltip : deleteFavoriteTooltip}}\" mode=\"dark\" position=\"below\"\r\n mat-icon-button>\r\n <mat-icon class=\"mat-icon-rtl-mirror blur-icon\" [class.favorite]=\"true\">\r\n {{node.favorite && node.id !== hoverFavoriteNodeId && !favoriteMode\r\n ? 'star_rate_outline' :\r\n (hoverFavoriteNodeId !== null || (isHover && node.id === hoverNode.id)) && !favoriteMode ? 'star_border' : ''\r\n }}\r\n {{node.id === hoverNode.id && favoriteMode && isHover ? 'close' : ''}}\r\n </mat-icon>\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\" *ngIf=\"node.id === hoverNode.id && showAddIcon\"\r\n matTooltip=\"{{addNodeTooltip}}\" (click)=\"addNewNode(node.id, $event)\" mode=\"dark\" position=\"below\"\r\n mat-icon-button>\r\n <mat-icon class=\"mat-icon-rtl-mirror add-icon\">\r\n add\r\n </mat-icon>\r\n </button>\r\n </div>\r\n </mat-tree-node>\r\n <!-- This is the tree node template for expandable nodes -->\r\n <mat-tree-node *matTreeNodeDef=\"let node;when: hasChild\" routerLinkActive=\"active\" (mouseover)=\"onOver(node)\"\r\n matTreeNodePadding matTreeNodePaddingIndent=\"34\" cdkDrag [cdkDragData]=\"node\" (mouseenter)=\"dragHover(node)\"\r\n (mouseleave)=\"dragHoverEnd()\" (cdkDragStarted)=\"dragStart()\" (cdkDragReleased)=\"dragEnd()\" [ngClass]=\"\r\n {'expand-node' : treeControl.isExpanded(node), 'collapse-node': !treeControl.isExpanded(node)}\">\r\n <div *ngIf=\"!node.isReadOnly\" (click)=\"onClickNode(node.id)\"\r\n class=\"tree-content\" (keydown)=\"onKeyDownNode($event, node)\">\r\n <span class=\"span-text\" mode=\"dark\" position=\"below\">{{ node.name }}</span>\r\n <button tabindex=\"-1\" class=\"button-icon space-icon collapse-expand-icon\" mat-icon-button matTreeNodeToggle\r\n [attr.aria-label]=\"'toggle ' + node.name\" (click)=\"onClickToggleNode(node)\">\r\n <mat-icon class=\"mat-icon-rtl-mirror arrow-icon left-icon\">\r\n {{treeControl.isExpanded(node) ? 'expand_less' : 'expand_more'}}\r\n </mat-icon>\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\"\r\n matTooltip=\"{{!node.favorite ? addFavoriteTooltip : deleteFavoriteTooltip}}\"\r\n *ngIf=\"showFavoriteIcon && (node.id === hoverNode.id || node.favorite)\"\r\n (click)=\"addFavoriteNode(node.id, $event)\"\r\n [ngClass]=\"{'btn-favorite': (node.id === hoverNode.id && showAddIcon)}\" (mouseenter)=\"setHoverFavorite(node.id)\"\r\n (mouseleave)=\"setHoverFavorite(null)\" mode=\"dark\" position=\"below\" mat-icon-button>\r\n <mat-icon class=\"mat-icon-rtl-mirror blur-icon\" [class.favorite]=\"true\">\r\n {{node.favorite && node.id !== hoverFavoriteNodeId && !favoriteMode\r\n ? 'star_rate_outline' :\r\n (hoverFavoriteNodeId !== null || (isHover && node.id === hoverNode.id)) && !favoriteMode ? 'star_border' : ''\r\n }}\r\n {{node.id === hoverNode.id && favoriteMode && isHover ? 'close' : ''}}\r\n </mat-icon>\r\n </button>\r\n <button tabindex=\"-1\" class=\"button-icon add-icon\" *ngIf=\"node.id === hoverNode.id && showAddIcon\"\r\n matTooltip=\"{{addNodeTooltip}}\" (click)=\"addNewNode(node.id, $event)\" mat-icon-button>\r\n <mat-icon class=\"mat-icon-rtl-mirror add-icon\">\r\n add\r\n </mat-icon>\r\n </button>\r\n </div>\r\n </mat-tree-node>\r\n</mat-tree>",
19773
- styles: ["::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node{width:272px!important;height:48px!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node{min-height:34px;margin:16px 0;padding-right:34px}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content{width:100%;position:relative;cursor:pointer}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .arrow-icon{color:#00324e}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .collapse-expand-icon{color:#3e57b7}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .collapse-expand-icon:hover{background:rgba(0,0,0,.08)}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .add-icon{color:#3e57b7}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .add-icon:hover{background:rgba(0,0,0,.08)}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .left-icon{color:#919191}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.expand-node{padding-left:0;position:static;height:32px;left:calc(50% - 216px/2);top:0;font-family:Open Sans;font-style:normal;font-weight:400;font-size:14px;line-height:19px;display:flex;align-items:center;color:#1954a9;flex:none;order:0;align-self:stretch;flex-grow:1}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.expand-node ::ng-deep mat-icon{color:#1954a9!important}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.collapse-node{position:static;height:32px;left:calc(50% - 176px/2);top:0;font-family:Open Sans;font-style:normal;font-weight:400;font-size:14px;line-height:19px;display:flex;align-items:center;color:#323232;flex:none;order:0;align-self:stretch;flex-grow:1}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .button-icon{width:30px;height:30px;line-height:30px!important;border-radius:50%}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .button-icon:hover{border-radius:50%}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .img-icon{max-height:25px;max-width:25px}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .add-icon{position:absolute;top:-2px;right:-34px}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .add-icon mat-icon{top:3px;right:3px;border-radius:50%}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .favorite{color:#b13514}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .btn-favorite{right:-5px;color:unset}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .space-icon{position:absolute;top:-5px;left:0}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .span-text{position:relative;overflow:hidden;text-overflow:ellipsis;padding-left:42px;max-width:calc(100% - 56px);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node .tree-content .span-text:after{content:\"\";display:block;clear:both}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node:first-child{margin:0}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.collapse-node:hover{background:#00000014}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.collapse-node:active{background:#0000001f}::ng-deep mat-tree.qms-navigation-drawer-container .mat-tree-node.expand-node:active{background:#f2f7fd}"]
20905
+ 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.id)\" class=\"tree-content\">\r\n <button tabindex=\"-1\" class=\"button-icon collapse-expand-icon\" qms-btn-icon>\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\" (click)=\"onClickNode(node.id)\" class=\"tree-content\"\r\n (keydown)=\"onKeyDownNode($event, node)\">\r\n <button tabindex=\"-1\" class=\"button-icon collapse-expand-icon\" qms-btn-icon matTreeNodeToggle [attr.aria-label]=\"'toggle ' + node.name\"\r\n (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 <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",
20906
+ 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 .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.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)}"]
19774
20907
  },] }
19775
20908
  ];
19776
20909
  QMSNavigationDrawerComponent.ctorParameters = () => [];
@@ -19804,11 +20937,11 @@ QMSNavigationDrawerModule.decorators = [
19804
20937
  CommonModule,
19805
20938
  MatIconModule,
19806
20939
  MatToolbarModule,
19807
- MatButtonModule,
19808
20940
  QMSButtonModule,
19809
20941
  MatTooltipModule,
19810
20942
  DragDropModule,
19811
- MatTreeModule
20943
+ MatTreeModule,
20944
+ QmsAngularModule
19812
20945
  ],
19813
20946
  exports: [
19814
20947
  QMSNavigationDrawerComponent
@@ -19816,6 +20949,201 @@ QMSNavigationDrawerModule.decorators = [
19816
20949
  },] }
19817
20950
  ];
19818
20951
 
20952
+ const DEFAULT_PAGE_SIZE = 50;
20953
+ var PaginationSize;
20954
+ (function (PaginationSize) {
20955
+ PaginationSize["small"] = "small";
20956
+ PaginationSize["medium"] = "medium";
20957
+ PaginationSize["large"] = "large";
20958
+ PaginationSize["mobile"] = "mobile";
20959
+ })(PaginationSize || (PaginationSize = {}));
20960
+ class QMSPaginatorComponent {
20961
+ constructor() {
20962
+ this.sizeMedium = 'medium';
20963
+ this.sizeSmall = 'small';
20964
+ this.sizeLarge = 'large';
20965
+ this.sizeMobile = 'mobile';
20966
+ this.size = PaginationSize.large;
20967
+ this._pageSizeOptions = [5, 10, 25, 100];
20968
+ this._pageSize = 10;
20969
+ this._length = 0;
20970
+ this._pageIndex = 0;
20971
+ this.page = new EventEmitter();
20972
+ this.previousPageIndex = 0;
20973
+ this.numberOfPages = [];
20974
+ this.displayNumberOfPages = [];
20975
+ }
20976
+ get pageSizeOptions() {
20977
+ return this._pageSizeOptions;
20978
+ }
20979
+ set pageSizeOptions(value) {
20980
+ this._pageSizeOptions = (value || []).map(p => coerceNumberProperty(p));
20981
+ }
20982
+ get pageSize() {
20983
+ return this._pageSize;
20984
+ }
20985
+ set pageSize(value) {
20986
+ this._pageSize = Math.max(coerceNumberProperty(value), 0);
20987
+ this._updateDisplayedPageSizeOptions();
20988
+ }
20989
+ get length() {
20990
+ return this._length;
20991
+ }
20992
+ set length(value) {
20993
+ this._length = coerceNumberProperty(value);
20994
+ }
20995
+ get pageIndex() {
20996
+ return this._pageIndex + 1;
20997
+ }
20998
+ set pageIndex(value) {
20999
+ this.previousPageIndex = this._pageIndex;
21000
+ this._pageIndex = Math.max(coerceNumberProperty(value - 1), 0);
21001
+ this.displayNumberOfPages = this.pagination(this._pageIndex, this.numberOfPages.length);
21002
+ this._emitPageEvent(this.previousPageIndex);
21003
+ }
21004
+ ngOnInit() {
21005
+ this.getNumberOfPages();
21006
+ }
21007
+ _updateDisplayedPageSizeOptions() {
21008
+ if (!this.pageSize) {
21009
+ this._pageSize =
21010
+ this.pageSizeOptions.length != 0 ? this.pageSizeOptions[0] : DEFAULT_PAGE_SIZE;
21011
+ }
21012
+ }
21013
+ getNumberOfPages() {
21014
+ if (!this.pageSize) {
21015
+ return;
21016
+ }
21017
+ this.numberOfPages = [];
21018
+ const Arrlength = Math.ceil(this._length / this._pageSize);
21019
+ for (let index = 1; index <= Arrlength; index++) {
21020
+ this.numberOfPages.push(index);
21021
+ }
21022
+ this.minPage = 1;
21023
+ this.maxpage = this.numberOfPages.length;
21024
+ this.renderDisplayNumberOfpages();
21025
+ }
21026
+ renderDisplayNumberOfpages() {
21027
+ if (this.numberOfPages.length <= 5) {
21028
+ this.displayNumberOfPages = this.numberOfPages.map(x => x.toString());
21029
+ return;
21030
+ }
21031
+ this.displayNumberOfPages = this.numberOfPages.map(x => x.toString());
21032
+ this.displayNumberOfPages = this.pagination(this.pageIndex, this.numberOfPages.length);
21033
+ }
21034
+ changePage(page) {
21035
+ this.pageIndex = page;
21036
+ this.displayNumberOfPages = this.pagination(parseInt(page.toString()), this.numberOfPages.length);
21037
+ }
21038
+ pagination(c, m) {
21039
+ let current = c;
21040
+ let last = m;
21041
+ let delta = 1;
21042
+ if (current == this.minPage || current == this.maxpage) {
21043
+ delta = 3;
21044
+ }
21045
+ else if (current == (this.minPage + 1)) {
21046
+ delta = 2;
21047
+ }
21048
+ else if (current == (this.maxpage - 1)) {
21049
+ delta = 2;
21050
+ }
21051
+ let left = current - delta;
21052
+ let right = current + delta + 1;
21053
+ let range = [];
21054
+ let rangeWithDots = [];
21055
+ let l;
21056
+ for (let i = 1; i <= last; i++) {
21057
+ if (i == 1 || i == last || i >= left && i < right) {
21058
+ range.push(i);
21059
+ }
21060
+ }
21061
+ for (let i of range) {
21062
+ if (l) {
21063
+ if (i - l !== 1) {
21064
+ rangeWithDots.push('...');
21065
+ }
21066
+ }
21067
+ rangeWithDots.push(i);
21068
+ l = i;
21069
+ }
21070
+ return rangeWithDots;
21071
+ }
21072
+ nextPage() {
21073
+ this.previousPageIndex = this.pageIndex;
21074
+ this.pageIndex = this.pageIndex + 1;
21075
+ this.displayNumberOfPages = this.pagination(this.pageIndex, this.numberOfPages.length);
21076
+ }
21077
+ previousPage() {
21078
+ this.previousPageIndex = this.pageIndex;
21079
+ this.pageIndex = this.pageIndex - 1;
21080
+ this.displayNumberOfPages = this.pagination(this.pageIndex, this.numberOfPages.length);
21081
+ }
21082
+ _changePageSize(pageSize) {
21083
+ this.previousPageIndex = this.pageIndex;
21084
+ this.pageSize = pageSize;
21085
+ this.pageIndex = 1;
21086
+ this.getNumberOfPages();
21087
+ }
21088
+ _changePageNumber(pageNumber) {
21089
+ this.pageIndex = pageNumber;
21090
+ this.getNumberOfPages();
21091
+ }
21092
+ _emitPageEvent(previousPageIndex) {
21093
+ this.page.emit({
21094
+ previousPageIndex,
21095
+ pageIndex: this._pageIndex,
21096
+ pageSize: this.pageSize,
21097
+ length: this.length,
21098
+ });
21099
+ }
21100
+ ngAfterViewChecked() {
21101
+ }
21102
+ }
21103
+ QMSPaginatorComponent.decorators = [
21104
+ { type: Component, args: [{
21105
+ selector: 'qms-paginator',
21106
+ 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>",
21107
+ host: {
21108
+ 'class': 'qms-paginator'
21109
+ },
21110
+ 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}"]
21111
+ },] }
21112
+ ];
21113
+ QMSPaginatorComponent.ctorParameters = () => [];
21114
+ QMSPaginatorComponent.propDecorators = {
21115
+ size: [{ type: Input }],
21116
+ pageSizeOptions: [{ type: Input }],
21117
+ pageSize: [{ type: Input }],
21118
+ length: [{ type: Input }],
21119
+ pageIndex: [{ type: Input }],
21120
+ page: [{ type: Output }]
21121
+ };
21122
+
21123
+ class QmsPaginatorModule {
21124
+ }
21125
+ QmsPaginatorModule.decorators = [
21126
+ { type: NgModule, args: [{
21127
+ declarations: [
21128
+ QMSPaginatorComponent
21129
+ ],
21130
+ imports: [
21131
+ CommonModule,
21132
+ FormsModule,
21133
+ ReactiveFormsModule,
21134
+ MatIconModule,
21135
+ MatTooltipModule,
21136
+ MatSelectModule,
21137
+ MatButtonModule,
21138
+ QmsAngularModule,
21139
+ QMSButtonModule,
21140
+ ],
21141
+ exports: [
21142
+ QMSPaginatorComponent
21143
+ ]
21144
+ },] }
21145
+ ];
21146
+
19819
21147
  /*
19820
21148
  * Public API Surface of qms-angular
19821
21149
  */
@@ -19824,5 +21152,5 @@ QMSNavigationDrawerModule.decorators = [
19824
21152
  * Generated bundle index. Do not edit.
19825
21153
  */
19826
21154
 
19827
- export { AutocompleteOffDirective, BREADCRUMB_DROPDOWN_ICON, BUTTON_TOGGLE_DEFAULT_OPTIONS, BUTTON_TOGGLE_GROUP, BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, BannerType, BpmnService, BreadcrumbNode, ButtonToggleChange, CHECKLIST_ICON, CKEditorEventConst, CKEditorModule, CdkDetailRowDirective, ConfirmDialog, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, DataType$1 as DataType, DateFormatPipe, DocumentNodeType$1 as DocumentNodeType, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, FileErrorType, FlowChartConst, FlowchartViewMode, ISelectOneItem, InformationCoverItem, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, LinkAnchor, LinkType, MarginDirective, ModuleType$1 as ModuleType, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, NewTreeComponent, NewTreeModel, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, PopupData, ProtocolType, ProtocolTypeName, QMSAnchor, QMSAppBar, QMSAppIconModule, QMSAttachmentListDirective, QMSBreadcrumb, QMSBreadcrumbDirectionIconDirective, QMSBreadcrumbItemDirective, QMSBreadcrumbModule, QMSButton, QMSButtonIcon, QMSButtonModule, QMSButtonToggle, QMSButtonToggleGroup, QMSCKEditorBaseComponent, QMSCKEditorBaseService, QMSCKEditorBpmn, QMSCKEditorBpmnApiService, QMSCKEditorBpmnComponent, QMSCKEditorBpmnTemplate, QMSCKEditorComponent, QMSCKEditorConfirmComponent, QMSCKEditorData, QMSCKEditorDialogData, QMSCKEditorDocumentType, QMSCKEditorFullscreenComponent, QMSCKEditorGlobalService, QMSCKEditorInjector, QMSCKEditorLinkAnchorDocument, QMSCKEditorLinkComponent, QMSCKEditorLinkService, QMSCKEditorLoadTemplateComponent, QMSCKEditorModule, QMSCKEditorPlugin, QMSCKEditorRelatedComponent, QMSCKEditorRelation, QMSCKEditorTemplate, QMSCKEditorTemplateService, QMSCKEditorToastService, QMSCKEditorTreeComponent, QMSCKEdtiorInputData, QMSChipBodyDirective, QMSChipInputChipListDirective, QMSChipInputDirective, QMSChipInputSelectDropWDownDirective, QMSChipInputSelectFieldDirective, QMSChipInputSelectTriggerDirective, QMSCollapseGroupDirective, QMSComment, QMSConfirmDialog, QMSDialogConfig, QMSDrawerContentDirective, QMSDrawerDirective, QMSDrawerHeaderActionDirective, QMSDrawerHeaderDirective, QMSDropdownMenuItem, QMSEditFileNameDialog, QMSEditFileNameDialogModule, QMSFileAttachment, QMSFileUploadDirective, QMSFileUploadDisplayDirective, QMSFileUploadMultipleDirective, QMSFileUploadMultipleDisplayDirective, QMSFileUploadMultipleSelectorDirective, QMSFileUploadSelectorDirective, QMSFormDialog, QMSFormFieldDatePickerDirective, QMSFormFieldDirective, QMSFormFieldTextareaDirective, QMSGroupOptionDirective, QMSIconRegistryService, QMSInputChipDirective, QMSInputClearDirective, QMSList, QMSListExpansion, QMSListExpansionHeader, QMSListHeader, QMSListItem, QMSListLeadingIcon, QMSListLine, QMSListModule, QMSNavigationDrawerComponent, QMSNavigationDrawerModule, QMSNewTreeModule, QMSProcessDocumentItem, QMSRangeSliderDirective, QMSRangeSliderLockUpDirective, QMSRelatedGlobalService, QMSRelatedModule, QMSRichText, QMSRichTextModule, QMSRowDetailDirective, QMSRowExpandDirective, QMSScrolableAttachmentListDirective, QMSScrollbarDirective, QMSSearchFieldDirective, QMSSelectGlobalService, QMSSelectIncludeChildrenModule, QMSSelectOneGlobalService, QMSSelectOneModule, QMSSelectProcessDocumentGlobalService, QMSSelectProcessDocumentModule, QMSSnackbarConfig, QMSSuffixDirective, QMSSuffixFieldDirective, QMSTabGroupAdvancedDirective, QMSTabGroupDirective, QMSTabLabelDirective, QMSTabModule, QMSTableAction, QMSTableActionBlock, QMSTableChildrenDirective, QMSTableDirective, QMSTableExpandDirective, QMSTableModule, QMSTextBlockDirective, QMSTextBlockLine, QMSToolTipComponent, QMSToolTipRendererDirective, QMSTooltipImageDirective, QMSTooltipModule, QMSTreeModule, QMSUploadFileErrorDialog, QMSUploadFileErrorDialogModule, QMSUploadingFileGuard, QmsAngularComponent, QmsAngularModule, QmsAngularService, QmsAppBarComponent, QmsAppBarModule, QmsBadgesComponent, QmsBadgesModule, QmsBannerComponent, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerConfirmComponent, QmsBannerConfirmModule, QmsBannerContent, QmsBannerLoadingComponent, QmsBannerLoadingModule, QmsBannerModule, QmsReportContentPortraitComponent, QmsReportCoverPortraitComponent, QmsReportModule, QmsStatusDropdownComponent, QmsStatusDropdownModule, QmsStatusDropdownOption, QmsStatusDropdownType, QmsStepperComponent, QmsStepperModule, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON, RelatedConst, RelatedContentComponent, RelatedItemType, RelatedListComponent, RelatedPopupComponent, Result, RiskAnalysis, RiskAnalysisComponent, RiskDanger, RiskListComponent, RiskResult, RiskResultComponent, SaveTemplateComponent, ScrollToSelectedDirective, SelectConst, SelectDialog, SelectIncludeChildrenPopUpComponent, SelectOneDialog, SelectOnePopupData, SelectOption, SelectOptionTypes, SelectPopupData, SelectProcessDocumentPopupComponent, SelectProcessDocumentPopupData, SelectedOption, SelectedProcessDocumentItem, SharedModule, ShowHideSearchResultConst, SideNav, SideNavItem, SidenavComponent, TargetType, TargetTypeName, TranslateLibraryService, TreeComponent, TreeConfig, TreeFlatNode, TreeModel, TreeNode$1 as TreeNode, UploadErrorData, en, mixinColor, no, notExceedSize, requiredFileType, ɵ1, SharedMaterialModule as ɵa, QMSCKEditorTemplateComponent as ɵb, QMSCKEditorTreeService as ɵc, LinkAttachmentComponent as ɵd, QMSCKEditorTooltipComponent as ɵe, QMSCKEditorTooltip as ɵf, QMSCKEditorImageMapComponent as ɵg, QMSCKEditorImageMap as ɵh };
21155
+ 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, 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, QMSTableRowDirective as ɵa, SharedMaterialModule as ɵb, QMSCKEditorTreeService as ɵc, QMSCKEditorTemplateComponent as ɵd, LinkAttachmentComponent as ɵe, QMSCKEditorTooltipComponent as ɵf, QMSCKEditorTooltip as ɵg, QMSCKEditorImageMapComponent as ɵh, QMSCKEditorImageMap as ɵi, QMSCKEditorUploadService as ɵj, QMSCKEditorBpmnData as ɵk, QMSCKEditorAboutComponent as ɵl };
19828
21156
  //# sourceMappingURL=qms-angular.js.map