qms-angular 1.0.36 → 1.0.40

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 (1174) hide show
  1. package/bundles/qms-angular.umd.js +7101 -221
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/breadcrumb/breadcrumb.js +29 -6
  4. package/esm2015/lib/components/qms-app-bar/qms-app-bar.component.js +2 -2
  5. package/esm2015/lib/components/related/popup/related-popup.component.js +2 -2
  6. package/esm2015/lib/model/en.js +144 -1
  7. package/esm2015/lib/model/no.js +148 -5
  8. package/esm2015/lib/qms-ckeditor-components/common/bpmn/inspector.function.js +2147 -0
  9. package/esm2015/lib/qms-ckeditor-components/common/bpmn/toolbar.function.js +200 -0
  10. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.js +6 -1
  11. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.js +36 -0
  12. package/esm2015/lib/qms-ckeditor-components/common/constants/iconSvg.constants.js +8 -0
  13. package/esm2015/lib/qms-ckeditor-components/common/enums/flowchart-view-mode.enum.js +6 -0
  14. package/esm2015/lib/qms-ckeditor-components/common/enums/image-mode.enum.js +9 -0
  15. package/esm2015/lib/qms-ckeditor-components/common/enums/protocol-type.enum.js +11 -3
  16. package/esm2015/lib/qms-ckeditor-components/common/enums/related-to-item-type.js +11 -0
  17. package/esm2015/lib/qms-ckeditor-components/common/enums/target-type.enum.js +8 -1
  18. package/esm2015/lib/qms-ckeditor-components/common/functions/common.function.js +6 -2
  19. package/esm2015/lib/qms-ckeditor-components/common/helper/guidHelper.js +14 -0
  20. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn-template.model.js +9 -0
  21. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn.model.js +9 -0
  22. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.js +1 -1
  23. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.js +1 -9
  24. package/esm2015/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.js +3 -3
  25. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.js +266 -0
  26. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.js +67 -0
  27. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +524 -0
  28. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.lib.js +1948 -0
  29. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.validator.js +7 -0
  30. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.js +1 -1
  31. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +5 -5
  32. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.js +1 -1
  33. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.js +1 -1
  34. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.js +1 -1
  35. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.js +1 -1
  36. package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model.js +22 -0
  37. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +68 -5
  38. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +16 -2
  39. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn-api.service.js +26 -0
  40. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.js +1156 -0
  41. package/esm2015/public-api.js +14 -1
  42. package/esm2015/qms-angular.js +3 -1
  43. package/fesm2015/qms-angular.js +7017 -226
  44. package/fesm2015/qms-angular.js.map +1 -1
  45. package/lib/components/breadcrumb/breadcrumb.d.ts +6 -3
  46. package/lib/model/en.d.ts +143 -0
  47. package/lib/model/no.d.ts +143 -0
  48. package/lib/qms-ckeditor-components/common/bpmn/inspector.function.d.ts +1825 -0
  49. package/lib/qms-ckeditor-components/common/bpmn/toolbar.function.d.ts +163 -0
  50. package/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.d.ts +5 -0
  51. package/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.d.ts +34 -0
  52. package/lib/qms-ckeditor-components/common/constants/iconSvg.constants.d.ts +7 -0
  53. package/lib/qms-ckeditor-components/common/enums/flowchart-view-mode.enum.d.ts +4 -0
  54. package/lib/qms-ckeditor-components/common/enums/image-mode.enum.d.ts +7 -0
  55. package/lib/qms-ckeditor-components/common/enums/protocol-type.enum.d.ts +9 -2
  56. package/lib/qms-ckeditor-components/common/enums/related-to-item-type.d.ts +9 -0
  57. package/lib/qms-ckeditor-components/common/enums/target-type.enum.d.ts +6 -0
  58. package/lib/qms-ckeditor-components/common/helper/guidHelper.d.ts +6 -0
  59. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn-template.model.d.ts +7 -0
  60. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn.model.d.ts +7 -0
  61. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.d.ts +1 -0
  62. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.d.ts +7 -7
  63. package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.d.ts +37 -0
  64. package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.d.ts +23 -0
  65. package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.d.ts +123 -0
  66. package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.lib.d.ts +542 -0
  67. package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.validator.d.ts +2 -0
  68. package/lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model.d.ts +20 -0
  69. package/lib/qms-ckeditor-components/qms-ckeditor.component.d.ts +7 -2
  70. package/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn-api.service.d.ts +10 -0
  71. package/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.d.ts +33 -0
  72. package/lib.theme.scss +4 -1
  73. package/package.json +1 -1
  74. package/public-api.d.ts +12 -0
  75. package/qms-angular.d.ts +2 -0
  76. package/qms-angular.metadata.json +1 -1
  77. package/src/assets/images/panel-stencil-container-background-image.png +0 -0
  78. package/src/assets/jointjs/js/backbone/backbone.js +2096 -0
  79. package/src/assets/jointjs/js/client.js +17 -0
  80. package/src/assets/jointjs/js/example.js +42 -0
  81. package/src/assets/jointjs/js/gd.js +135 -0
  82. package/src/assets/jointjs/js/joint.format.raster.js +386 -0
  83. package/src/assets/jointjs/js/joint.format.svg.js +252 -0
  84. package/src/assets/jointjs/js/jquery/jquery.js +10872 -0
  85. package/src/assets/jointjs/js/lodash/LICENSE +47 -0
  86. package/src/assets/jointjs/js/lodash/README.md +39 -0
  87. package/src/assets/jointjs/js/lodash/_DataView.js +7 -0
  88. package/src/assets/jointjs/js/lodash/_Hash.js +32 -0
  89. package/src/assets/jointjs/js/lodash/_LazyWrapper.js +28 -0
  90. package/src/assets/jointjs/js/lodash/_ListCache.js +32 -0
  91. package/src/assets/jointjs/js/lodash/_LodashWrapper.js +22 -0
  92. package/src/assets/jointjs/js/lodash/_Map.js +7 -0
  93. package/src/assets/jointjs/js/lodash/_MapCache.js +32 -0
  94. package/src/assets/jointjs/js/lodash/_Promise.js +7 -0
  95. package/src/assets/jointjs/js/lodash/_Set.js +7 -0
  96. package/src/assets/jointjs/js/lodash/_SetCache.js +27 -0
  97. package/src/assets/jointjs/js/lodash/_Stack.js +27 -0
  98. package/src/assets/jointjs/js/lodash/_Symbol.js +6 -0
  99. package/src/assets/jointjs/js/lodash/_Uint8Array.js +6 -0
  100. package/src/assets/jointjs/js/lodash/_WeakMap.js +7 -0
  101. package/src/assets/jointjs/js/lodash/_apply.js +21 -0
  102. package/src/assets/jointjs/js/lodash/_arrayAggregator.js +22 -0
  103. package/src/assets/jointjs/js/lodash/_arrayEach.js +22 -0
  104. package/src/assets/jointjs/js/lodash/_arrayEachRight.js +21 -0
  105. package/src/assets/jointjs/js/lodash/_arrayEvery.js +23 -0
  106. package/src/assets/jointjs/js/lodash/_arrayFilter.js +25 -0
  107. package/src/assets/jointjs/js/lodash/_arrayIncludes.js +17 -0
  108. package/src/assets/jointjs/js/lodash/_arrayIncludesWith.js +22 -0
  109. package/src/assets/jointjs/js/lodash/_arrayLikeKeys.js +49 -0
  110. package/src/assets/jointjs/js/lodash/_arrayMap.js +21 -0
  111. package/src/assets/jointjs/js/lodash/_arrayPush.js +20 -0
  112. package/src/assets/jointjs/js/lodash/_arrayReduce.js +26 -0
  113. package/src/assets/jointjs/js/lodash/_arrayReduceRight.js +24 -0
  114. package/src/assets/jointjs/js/lodash/_arraySample.js +15 -0
  115. package/src/assets/jointjs/js/lodash/_arraySampleSize.js +17 -0
  116. package/src/assets/jointjs/js/lodash/_arrayShuffle.js +15 -0
  117. package/src/assets/jointjs/js/lodash/_arraySome.js +23 -0
  118. package/src/assets/jointjs/js/lodash/_asciiSize.js +12 -0
  119. package/src/assets/jointjs/js/lodash/_asciiToArray.js +12 -0
  120. package/src/assets/jointjs/js/lodash/_asciiWords.js +15 -0
  121. package/src/assets/jointjs/js/lodash/_assignMergeValue.js +20 -0
  122. package/src/assets/jointjs/js/lodash/_assignValue.js +28 -0
  123. package/src/assets/jointjs/js/lodash/_assocIndexOf.js +21 -0
  124. package/src/assets/jointjs/js/lodash/_baseAggregator.js +21 -0
  125. package/src/assets/jointjs/js/lodash/_baseAssign.js +17 -0
  126. package/src/assets/jointjs/js/lodash/_baseAssignIn.js +17 -0
  127. package/src/assets/jointjs/js/lodash/_baseAssignValue.js +25 -0
  128. package/src/assets/jointjs/js/lodash/_baseAt.js +23 -0
  129. package/src/assets/jointjs/js/lodash/_baseClamp.js +22 -0
  130. package/src/assets/jointjs/js/lodash/_baseClone.js +165 -0
  131. package/src/assets/jointjs/js/lodash/_baseConforms.js +18 -0
  132. package/src/assets/jointjs/js/lodash/_baseConformsTo.js +27 -0
  133. package/src/assets/jointjs/js/lodash/_baseCreate.js +30 -0
  134. package/src/assets/jointjs/js/lodash/_baseDelay.js +21 -0
  135. package/src/assets/jointjs/js/lodash/_baseDifference.js +67 -0
  136. package/src/assets/jointjs/js/lodash/_baseEach.js +14 -0
  137. package/src/assets/jointjs/js/lodash/_baseEachRight.js +14 -0
  138. package/src/assets/jointjs/js/lodash/_baseEvery.js +21 -0
  139. package/src/assets/jointjs/js/lodash/_baseExtremum.js +32 -0
  140. package/src/assets/jointjs/js/lodash/_baseFill.js +32 -0
  141. package/src/assets/jointjs/js/lodash/_baseFilter.js +21 -0
  142. package/src/assets/jointjs/js/lodash/_baseFindIndex.js +24 -0
  143. package/src/assets/jointjs/js/lodash/_baseFindKey.js +23 -0
  144. package/src/assets/jointjs/js/lodash/_baseFlatten.js +38 -0
  145. package/src/assets/jointjs/js/lodash/_baseFor.js +16 -0
  146. package/src/assets/jointjs/js/lodash/_baseForOwn.js +16 -0
  147. package/src/assets/jointjs/js/lodash/_baseForOwnRight.js +16 -0
  148. package/src/assets/jointjs/js/lodash/_baseForRight.js +15 -0
  149. package/src/assets/jointjs/js/lodash/_baseFunctions.js +19 -0
  150. package/src/assets/jointjs/js/lodash/_baseGet.js +24 -0
  151. package/src/assets/jointjs/js/lodash/_baseGetAllKeys.js +20 -0
  152. package/src/assets/jointjs/js/lodash/_baseGetTag.js +28 -0
  153. package/src/assets/jointjs/js/lodash/_baseGt.js +14 -0
  154. package/src/assets/jointjs/js/lodash/_baseHas.js +19 -0
  155. package/src/assets/jointjs/js/lodash/_baseHasIn.js +13 -0
  156. package/src/assets/jointjs/js/lodash/_baseInRange.js +18 -0
  157. package/src/assets/jointjs/js/lodash/_baseIndexOf.js +20 -0
  158. package/src/assets/jointjs/js/lodash/_baseIndexOfWith.js +23 -0
  159. package/src/assets/jointjs/js/lodash/_baseIntersection.js +74 -0
  160. package/src/assets/jointjs/js/lodash/_baseInverter.js +21 -0
  161. package/src/assets/jointjs/js/lodash/_baseInvoke.js +24 -0
  162. package/src/assets/jointjs/js/lodash/_baseIsArguments.js +18 -0
  163. package/src/assets/jointjs/js/lodash/_baseIsArrayBuffer.js +17 -0
  164. package/src/assets/jointjs/js/lodash/_baseIsDate.js +18 -0
  165. package/src/assets/jointjs/js/lodash/_baseIsEqual.js +28 -0
  166. package/src/assets/jointjs/js/lodash/_baseIsEqualDeep.js +83 -0
  167. package/src/assets/jointjs/js/lodash/_baseIsMap.js +18 -0
  168. package/src/assets/jointjs/js/lodash/_baseIsMatch.js +62 -0
  169. package/src/assets/jointjs/js/lodash/_baseIsNaN.js +12 -0
  170. package/src/assets/jointjs/js/lodash/_baseIsNative.js +47 -0
  171. package/src/assets/jointjs/js/lodash/_baseIsRegExp.js +18 -0
  172. package/src/assets/jointjs/js/lodash/_baseIsSet.js +18 -0
  173. package/src/assets/jointjs/js/lodash/_baseIsTypedArray.js +60 -0
  174. package/src/assets/jointjs/js/lodash/_baseIteratee.js +31 -0
  175. package/src/assets/jointjs/js/lodash/_baseKeys.js +30 -0
  176. package/src/assets/jointjs/js/lodash/_baseKeysIn.js +33 -0
  177. package/src/assets/jointjs/js/lodash/_baseLodash.js +10 -0
  178. package/src/assets/jointjs/js/lodash/_baseLt.js +14 -0
  179. package/src/assets/jointjs/js/lodash/_baseMap.js +22 -0
  180. package/src/assets/jointjs/js/lodash/_baseMatches.js +22 -0
  181. package/src/assets/jointjs/js/lodash/_baseMatchesProperty.js +33 -0
  182. package/src/assets/jointjs/js/lodash/_baseMean.js +20 -0
  183. package/src/assets/jointjs/js/lodash/_baseMerge.js +42 -0
  184. package/src/assets/jointjs/js/lodash/_baseMergeDeep.js +94 -0
  185. package/src/assets/jointjs/js/lodash/_baseNth.js +20 -0
  186. package/src/assets/jointjs/js/lodash/_baseOrderBy.js +34 -0
  187. package/src/assets/jointjs/js/lodash/_basePick.js +19 -0
  188. package/src/assets/jointjs/js/lodash/_basePickBy.js +30 -0
  189. package/src/assets/jointjs/js/lodash/_baseProperty.js +14 -0
  190. package/src/assets/jointjs/js/lodash/_basePropertyDeep.js +16 -0
  191. package/src/assets/jointjs/js/lodash/_basePropertyOf.js +14 -0
  192. package/src/assets/jointjs/js/lodash/_basePullAll.js +51 -0
  193. package/src/assets/jointjs/js/lodash/_basePullAt.js +37 -0
  194. package/src/assets/jointjs/js/lodash/_baseRandom.js +18 -0
  195. package/src/assets/jointjs/js/lodash/_baseRange.js +28 -0
  196. package/src/assets/jointjs/js/lodash/_baseReduce.js +23 -0
  197. package/src/assets/jointjs/js/lodash/_baseRepeat.js +35 -0
  198. package/src/assets/jointjs/js/lodash/_baseRest.js +17 -0
  199. package/src/assets/jointjs/js/lodash/_baseSample.js +15 -0
  200. package/src/assets/jointjs/js/lodash/_baseSampleSize.js +18 -0
  201. package/src/assets/jointjs/js/lodash/_baseSet.js +47 -0
  202. package/src/assets/jointjs/js/lodash/_baseSetData.js +17 -0
  203. package/src/assets/jointjs/js/lodash/_baseSetToString.js +22 -0
  204. package/src/assets/jointjs/js/lodash/_baseShuffle.js +15 -0
  205. package/src/assets/jointjs/js/lodash/_baseSlice.js +31 -0
  206. package/src/assets/jointjs/js/lodash/_baseSome.js +22 -0
  207. package/src/assets/jointjs/js/lodash/_baseSortBy.js +21 -0
  208. package/src/assets/jointjs/js/lodash/_baseSortedIndex.js +42 -0
  209. package/src/assets/jointjs/js/lodash/_baseSortedIndexBy.js +64 -0
  210. package/src/assets/jointjs/js/lodash/_baseSortedUniq.js +30 -0
  211. package/src/assets/jointjs/js/lodash/_baseSum.js +24 -0
  212. package/src/assets/jointjs/js/lodash/_baseTimes.js +20 -0
  213. package/src/assets/jointjs/js/lodash/_baseToNumber.js +24 -0
  214. package/src/assets/jointjs/js/lodash/_baseToPairs.js +18 -0
  215. package/src/assets/jointjs/js/lodash/_baseToString.js +37 -0
  216. package/src/assets/jointjs/js/lodash/_baseUnary.js +14 -0
  217. package/src/assets/jointjs/js/lodash/_baseUniq.js +72 -0
  218. package/src/assets/jointjs/js/lodash/_baseUnset.js +20 -0
  219. package/src/assets/jointjs/js/lodash/_baseUpdate.js +18 -0
  220. package/src/assets/jointjs/js/lodash/_baseValues.js +19 -0
  221. package/src/assets/jointjs/js/lodash/_baseWhile.js +26 -0
  222. package/src/assets/jointjs/js/lodash/_baseWrapperValue.js +25 -0
  223. package/src/assets/jointjs/js/lodash/_baseXor.js +36 -0
  224. package/src/assets/jointjs/js/lodash/_baseZipObject.js +23 -0
  225. package/src/assets/jointjs/js/lodash/_cacheHas.js +13 -0
  226. package/src/assets/jointjs/js/lodash/_castArrayLikeObject.js +14 -0
  227. package/src/assets/jointjs/js/lodash/_castFunction.js +14 -0
  228. package/src/assets/jointjs/js/lodash/_castPath.js +21 -0
  229. package/src/assets/jointjs/js/lodash/_castRest.js +14 -0
  230. package/src/assets/jointjs/js/lodash/_castSlice.js +18 -0
  231. package/src/assets/jointjs/js/lodash/_charsEndIndex.js +19 -0
  232. package/src/assets/jointjs/js/lodash/_charsStartIndex.js +20 -0
  233. package/src/assets/jointjs/js/lodash/_cloneArrayBuffer.js +16 -0
  234. package/src/assets/jointjs/js/lodash/_cloneBuffer.js +35 -0
  235. package/src/assets/jointjs/js/lodash/_cloneDataView.js +16 -0
  236. package/src/assets/jointjs/js/lodash/_cloneRegExp.js +17 -0
  237. package/src/assets/jointjs/js/lodash/_cloneSymbol.js +18 -0
  238. package/src/assets/jointjs/js/lodash/_cloneTypedArray.js +16 -0
  239. package/src/assets/jointjs/js/lodash/_compareAscending.js +41 -0
  240. package/src/assets/jointjs/js/lodash/_compareMultiple.js +44 -0
  241. package/src/assets/jointjs/js/lodash/_composeArgs.js +39 -0
  242. package/src/assets/jointjs/js/lodash/_composeArgsRight.js +41 -0
  243. package/src/assets/jointjs/js/lodash/_copyArray.js +20 -0
  244. package/src/assets/jointjs/js/lodash/_copyObject.js +40 -0
  245. package/src/assets/jointjs/js/lodash/_copySymbols.js +16 -0
  246. package/src/assets/jointjs/js/lodash/_copySymbolsIn.js +16 -0
  247. package/src/assets/jointjs/js/lodash/_coreJsData.js +6 -0
  248. package/src/assets/jointjs/js/lodash/_countHolders.js +21 -0
  249. package/src/assets/jointjs/js/lodash/_createAggregator.js +23 -0
  250. package/src/assets/jointjs/js/lodash/_createAssigner.js +37 -0
  251. package/src/assets/jointjs/js/lodash/_createBaseEach.js +32 -0
  252. package/src/assets/jointjs/js/lodash/_createBaseFor.js +25 -0
  253. package/src/assets/jointjs/js/lodash/_createBind.js +28 -0
  254. package/src/assets/jointjs/js/lodash/_createCaseFirst.js +33 -0
  255. package/src/assets/jointjs/js/lodash/_createCompounder.js +24 -0
  256. package/src/assets/jointjs/js/lodash/_createCtor.js +37 -0
  257. package/src/assets/jointjs/js/lodash/_createCurry.js +46 -0
  258. package/src/assets/jointjs/js/lodash/_createFind.js +25 -0
  259. package/src/assets/jointjs/js/lodash/_createFlow.js +78 -0
  260. package/src/assets/jointjs/js/lodash/_createHybrid.js +92 -0
  261. package/src/assets/jointjs/js/lodash/_createInverter.js +17 -0
  262. package/src/assets/jointjs/js/lodash/_createMathOperation.js +38 -0
  263. package/src/assets/jointjs/js/lodash/_createOver.js +27 -0
  264. package/src/assets/jointjs/js/lodash/_createPadding.js +33 -0
  265. package/src/assets/jointjs/js/lodash/_createPartial.js +43 -0
  266. package/src/assets/jointjs/js/lodash/_createRange.js +30 -0
  267. package/src/assets/jointjs/js/lodash/_createRecurry.js +56 -0
  268. package/src/assets/jointjs/js/lodash/_createRelationalOperation.js +20 -0
  269. package/src/assets/jointjs/js/lodash/_createRound.js +35 -0
  270. package/src/assets/jointjs/js/lodash/_createSet.js +19 -0
  271. package/src/assets/jointjs/js/lodash/_createToPairs.js +30 -0
  272. package/src/assets/jointjs/js/lodash/_createWrap.js +106 -0
  273. package/src/assets/jointjs/js/lodash/_customDefaultsAssignIn.js +29 -0
  274. package/src/assets/jointjs/js/lodash/_customDefaultsMerge.js +28 -0
  275. package/src/assets/jointjs/js/lodash/_customOmitClone.js +16 -0
  276. package/src/assets/jointjs/js/lodash/_deburrLetter.js +71 -0
  277. package/src/assets/jointjs/js/lodash/_defineProperty.js +11 -0
  278. package/src/assets/jointjs/js/lodash/_equalArrays.js +83 -0
  279. package/src/assets/jointjs/js/lodash/_equalByTag.js +112 -0
  280. package/src/assets/jointjs/js/lodash/_equalObjects.js +89 -0
  281. package/src/assets/jointjs/js/lodash/_escapeHtmlChar.js +21 -0
  282. package/src/assets/jointjs/js/lodash/_escapeStringChar.js +22 -0
  283. package/src/assets/jointjs/js/lodash/_flatRest.js +16 -0
  284. package/src/assets/jointjs/js/lodash/_freeGlobal.js +4 -0
  285. package/src/assets/jointjs/js/lodash/_getAllKeys.js +16 -0
  286. package/src/assets/jointjs/js/lodash/_getAllKeysIn.js +17 -0
  287. package/src/assets/jointjs/js/lodash/_getData.js +15 -0
  288. package/src/assets/jointjs/js/lodash/_getFuncName.js +31 -0
  289. package/src/assets/jointjs/js/lodash/_getHolder.js +13 -0
  290. package/src/assets/jointjs/js/lodash/_getMapData.js +18 -0
  291. package/src/assets/jointjs/js/lodash/_getMatchData.js +24 -0
  292. package/src/assets/jointjs/js/lodash/_getNative.js +17 -0
  293. package/src/assets/jointjs/js/lodash/_getPrototype.js +6 -0
  294. package/src/assets/jointjs/js/lodash/_getRawTag.js +46 -0
  295. package/src/assets/jointjs/js/lodash/_getSymbols.js +30 -0
  296. package/src/assets/jointjs/js/lodash/_getSymbolsIn.js +25 -0
  297. package/src/assets/jointjs/js/lodash/_getTag.js +58 -0
  298. package/src/assets/jointjs/js/lodash/_getValue.js +13 -0
  299. package/src/assets/jointjs/js/lodash/_getView.js +33 -0
  300. package/src/assets/jointjs/js/lodash/_getWrapDetails.js +17 -0
  301. package/src/assets/jointjs/js/lodash/_hasPath.js +39 -0
  302. package/src/assets/jointjs/js/lodash/_hasUnicode.js +26 -0
  303. package/src/assets/jointjs/js/lodash/_hasUnicodeWord.js +15 -0
  304. package/src/assets/jointjs/js/lodash/_hashClear.js +15 -0
  305. package/src/assets/jointjs/js/lodash/_hashDelete.js +17 -0
  306. package/src/assets/jointjs/js/lodash/_hashGet.js +30 -0
  307. package/src/assets/jointjs/js/lodash/_hashHas.js +23 -0
  308. package/src/assets/jointjs/js/lodash/_hashSet.js +23 -0
  309. package/src/assets/jointjs/js/lodash/_initCloneArray.js +26 -0
  310. package/src/assets/jointjs/js/lodash/_initCloneByTag.js +77 -0
  311. package/src/assets/jointjs/js/lodash/_initCloneObject.js +18 -0
  312. package/src/assets/jointjs/js/lodash/_insertWrapDetails.js +23 -0
  313. package/src/assets/jointjs/js/lodash/_isFlattenable.js +20 -0
  314. package/src/assets/jointjs/js/lodash/_isIndex.js +25 -0
  315. package/src/assets/jointjs/js/lodash/_isIterateeCall.js +30 -0
  316. package/src/assets/jointjs/js/lodash/_isKey.js +29 -0
  317. package/src/assets/jointjs/js/lodash/_isKeyable.js +15 -0
  318. package/src/assets/jointjs/js/lodash/_isLaziable.js +28 -0
  319. package/src/assets/jointjs/js/lodash/_isMaskable.js +14 -0
  320. package/src/assets/jointjs/js/lodash/_isMasked.js +20 -0
  321. package/src/assets/jointjs/js/lodash/_isPrototype.js +18 -0
  322. package/src/assets/jointjs/js/lodash/_isStrictComparable.js +15 -0
  323. package/src/assets/jointjs/js/lodash/_iteratorToArray.js +18 -0
  324. package/src/assets/jointjs/js/lodash/_lazyClone.js +23 -0
  325. package/src/assets/jointjs/js/lodash/_lazyReverse.js +23 -0
  326. package/src/assets/jointjs/js/lodash/_lazyValue.js +69 -0
  327. package/src/assets/jointjs/js/lodash/_listCacheClear.js +13 -0
  328. package/src/assets/jointjs/js/lodash/_listCacheDelete.js +35 -0
  329. package/src/assets/jointjs/js/lodash/_listCacheGet.js +19 -0
  330. package/src/assets/jointjs/js/lodash/_listCacheHas.js +16 -0
  331. package/src/assets/jointjs/js/lodash/_listCacheSet.js +26 -0
  332. package/src/assets/jointjs/js/lodash/_mapCacheClear.js +21 -0
  333. package/src/assets/jointjs/js/lodash/_mapCacheDelete.js +18 -0
  334. package/src/assets/jointjs/js/lodash/_mapCacheGet.js +16 -0
  335. package/src/assets/jointjs/js/lodash/_mapCacheHas.js +16 -0
  336. package/src/assets/jointjs/js/lodash/_mapCacheSet.js +22 -0
  337. package/src/assets/jointjs/js/lodash/_mapToArray.js +18 -0
  338. package/src/assets/jointjs/js/lodash/_matchesStrictComparable.js +20 -0
  339. package/src/assets/jointjs/js/lodash/_memoizeCapped.js +26 -0
  340. package/src/assets/jointjs/js/lodash/_mergeData.js +90 -0
  341. package/src/assets/jointjs/js/lodash/_metaMap.js +6 -0
  342. package/src/assets/jointjs/js/lodash/_nativeCreate.js +6 -0
  343. package/src/assets/jointjs/js/lodash/_nativeKeys.js +6 -0
  344. package/src/assets/jointjs/js/lodash/_nativeKeysIn.js +20 -0
  345. package/src/assets/jointjs/js/lodash/_nodeUtil.js +30 -0
  346. package/src/assets/jointjs/js/lodash/_objectToString.js +22 -0
  347. package/src/assets/jointjs/js/lodash/_overArg.js +15 -0
  348. package/src/assets/jointjs/js/lodash/_overRest.js +36 -0
  349. package/src/assets/jointjs/js/lodash/_parent.js +16 -0
  350. package/src/assets/jointjs/js/lodash/_reEscape.js +4 -0
  351. package/src/assets/jointjs/js/lodash/_reEvaluate.js +4 -0
  352. package/src/assets/jointjs/js/lodash/_reInterpolate.js +4 -0
  353. package/src/assets/jointjs/js/lodash/_realNames.js +4 -0
  354. package/src/assets/jointjs/js/lodash/_reorder.js +29 -0
  355. package/src/assets/jointjs/js/lodash/_replaceHolders.js +29 -0
  356. package/src/assets/jointjs/js/lodash/_root.js +9 -0
  357. package/src/assets/jointjs/js/lodash/_safeGet.js +21 -0
  358. package/src/assets/jointjs/js/lodash/_setCacheAdd.js +19 -0
  359. package/src/assets/jointjs/js/lodash/_setCacheHas.js +14 -0
  360. package/src/assets/jointjs/js/lodash/_setData.js +20 -0
  361. package/src/assets/jointjs/js/lodash/_setToArray.js +18 -0
  362. package/src/assets/jointjs/js/lodash/_setToPairs.js +18 -0
  363. package/src/assets/jointjs/js/lodash/_setToString.js +14 -0
  364. package/src/assets/jointjs/js/lodash/_setWrapToString.js +21 -0
  365. package/src/assets/jointjs/js/lodash/_shortOut.js +37 -0
  366. package/src/assets/jointjs/js/lodash/_shuffleSelf.js +28 -0
  367. package/src/assets/jointjs/js/lodash/_stackClear.js +15 -0
  368. package/src/assets/jointjs/js/lodash/_stackDelete.js +18 -0
  369. package/src/assets/jointjs/js/lodash/_stackGet.js +14 -0
  370. package/src/assets/jointjs/js/lodash/_stackHas.js +14 -0
  371. package/src/assets/jointjs/js/lodash/_stackSet.js +34 -0
  372. package/src/assets/jointjs/js/lodash/_strictIndexOf.js +23 -0
  373. package/src/assets/jointjs/js/lodash/_strictLastIndexOf.js +21 -0
  374. package/src/assets/jointjs/js/lodash/_stringSize.js +18 -0
  375. package/src/assets/jointjs/js/lodash/_stringToArray.js +18 -0
  376. package/src/assets/jointjs/js/lodash/_stringToPath.js +27 -0
  377. package/src/assets/jointjs/js/lodash/_toKey.js +21 -0
  378. package/src/assets/jointjs/js/lodash/_toSource.js +26 -0
  379. package/src/assets/jointjs/js/lodash/_unescapeHtmlChar.js +21 -0
  380. package/src/assets/jointjs/js/lodash/_unicodeSize.js +44 -0
  381. package/src/assets/jointjs/js/lodash/_unicodeToArray.js +40 -0
  382. package/src/assets/jointjs/js/lodash/_unicodeWords.js +69 -0
  383. package/src/assets/jointjs/js/lodash/_updateWrapDetails.js +46 -0
  384. package/src/assets/jointjs/js/lodash/_wrapperClone.js +23 -0
  385. package/src/assets/jointjs/js/lodash/add.js +22 -0
  386. package/src/assets/jointjs/js/lodash/after.js +42 -0
  387. package/src/assets/jointjs/js/lodash/array.js +67 -0
  388. package/src/assets/jointjs/js/lodash/ary.js +29 -0
  389. package/src/assets/jointjs/js/lodash/assign.js +58 -0
  390. package/src/assets/jointjs/js/lodash/assignIn.js +40 -0
  391. package/src/assets/jointjs/js/lodash/assignInWith.js +38 -0
  392. package/src/assets/jointjs/js/lodash/assignWith.js +37 -0
  393. package/src/assets/jointjs/js/lodash/at.js +23 -0
  394. package/src/assets/jointjs/js/lodash/attempt.js +35 -0
  395. package/src/assets/jointjs/js/lodash/before.js +40 -0
  396. package/src/assets/jointjs/js/lodash/bind.js +57 -0
  397. package/src/assets/jointjs/js/lodash/bindAll.js +41 -0
  398. package/src/assets/jointjs/js/lodash/bindKey.js +68 -0
  399. package/src/assets/jointjs/js/lodash/camelCase.js +29 -0
  400. package/src/assets/jointjs/js/lodash/capitalize.js +23 -0
  401. package/src/assets/jointjs/js/lodash/castArray.js +44 -0
  402. package/src/assets/jointjs/js/lodash/ceil.js +26 -0
  403. package/src/assets/jointjs/js/lodash/chain.js +38 -0
  404. package/src/assets/jointjs/js/lodash/chunk.js +50 -0
  405. package/src/assets/jointjs/js/lodash/clamp.js +39 -0
  406. package/src/assets/jointjs/js/lodash/clone.js +36 -0
  407. package/src/assets/jointjs/js/lodash/cloneDeep.js +29 -0
  408. package/src/assets/jointjs/js/lodash/cloneDeepWith.js +40 -0
  409. package/src/assets/jointjs/js/lodash/cloneWith.js +42 -0
  410. package/src/assets/jointjs/js/lodash/collection.js +30 -0
  411. package/src/assets/jointjs/js/lodash/commit.js +33 -0
  412. package/src/assets/jointjs/js/lodash/compact.js +31 -0
  413. package/src/assets/jointjs/js/lodash/concat.js +43 -0
  414. package/src/assets/jointjs/js/lodash/cond.js +60 -0
  415. package/src/assets/jointjs/js/lodash/conforms.js +35 -0
  416. package/src/assets/jointjs/js/lodash/conformsTo.js +32 -0
  417. package/src/assets/jointjs/js/lodash/constant.js +26 -0
  418. package/src/assets/jointjs/js/lodash/core.js +3854 -0
  419. package/src/assets/jointjs/js/lodash/core.min.js +29 -0
  420. package/src/assets/jointjs/js/lodash/countBy.js +40 -0
  421. package/src/assets/jointjs/js/lodash/create.js +43 -0
  422. package/src/assets/jointjs/js/lodash/curry.js +57 -0
  423. package/src/assets/jointjs/js/lodash/curryRight.js +54 -0
  424. package/src/assets/jointjs/js/lodash/date.js +3 -0
  425. package/src/assets/jointjs/js/lodash/debounce.js +191 -0
  426. package/src/assets/jointjs/js/lodash/deburr.js +45 -0
  427. package/src/assets/jointjs/js/lodash/defaultTo.js +25 -0
  428. package/src/assets/jointjs/js/lodash/defaults.js +64 -0
  429. package/src/assets/jointjs/js/lodash/defaultsDeep.js +30 -0
  430. package/src/assets/jointjs/js/lodash/defer.js +26 -0
  431. package/src/assets/jointjs/js/lodash/delay.js +28 -0
  432. package/src/assets/jointjs/js/lodash/difference.js +33 -0
  433. package/src/assets/jointjs/js/lodash/differenceBy.js +44 -0
  434. package/src/assets/jointjs/js/lodash/differenceWith.js +40 -0
  435. package/src/assets/jointjs/js/lodash/divide.js +22 -0
  436. package/src/assets/jointjs/js/lodash/drop.js +38 -0
  437. package/src/assets/jointjs/js/lodash/dropRight.js +39 -0
  438. package/src/assets/jointjs/js/lodash/dropRightWhile.js +45 -0
  439. package/src/assets/jointjs/js/lodash/dropWhile.js +45 -0
  440. package/src/assets/jointjs/js/lodash/each.js +1 -0
  441. package/src/assets/jointjs/js/lodash/eachRight.js +1 -0
  442. package/src/assets/jointjs/js/lodash/endsWith.js +43 -0
  443. package/src/assets/jointjs/js/lodash/entries.js +1 -0
  444. package/src/assets/jointjs/js/lodash/entriesIn.js +1 -0
  445. package/src/assets/jointjs/js/lodash/eq.js +37 -0
  446. package/src/assets/jointjs/js/lodash/escape.js +43 -0
  447. package/src/assets/jointjs/js/lodash/escapeRegExp.js +32 -0
  448. package/src/assets/jointjs/js/lodash/every.js +56 -0
  449. package/src/assets/jointjs/js/lodash/extend.js +1 -0
  450. package/src/assets/jointjs/js/lodash/extendWith.js +1 -0
  451. package/src/assets/jointjs/js/lodash/fill.js +45 -0
  452. package/src/assets/jointjs/js/lodash/filter.js +48 -0
  453. package/src/assets/jointjs/js/lodash/find.js +42 -0
  454. package/src/assets/jointjs/js/lodash/findIndex.js +55 -0
  455. package/src/assets/jointjs/js/lodash/findKey.js +44 -0
  456. package/src/assets/jointjs/js/lodash/findLast.js +25 -0
  457. package/src/assets/jointjs/js/lodash/findLastIndex.js +59 -0
  458. package/src/assets/jointjs/js/lodash/findLastKey.js +44 -0
  459. package/src/assets/jointjs/js/lodash/first.js +1 -0
  460. package/src/assets/jointjs/js/lodash/flatMap.js +29 -0
  461. package/src/assets/jointjs/js/lodash/flatMapDeep.js +31 -0
  462. package/src/assets/jointjs/js/lodash/flatMapDepth.js +31 -0
  463. package/src/assets/jointjs/js/lodash/flatten.js +22 -0
  464. package/src/assets/jointjs/js/lodash/flattenDeep.js +25 -0
  465. package/src/assets/jointjs/js/lodash/flattenDepth.js +33 -0
  466. package/src/assets/jointjs/js/lodash/flip.js +28 -0
  467. package/src/assets/jointjs/js/lodash/floor.js +26 -0
  468. package/src/assets/jointjs/js/lodash/flow.js +27 -0
  469. package/src/assets/jointjs/js/lodash/flowRight.js +26 -0
  470. package/src/assets/jointjs/js/lodash/forEach.js +41 -0
  471. package/src/assets/jointjs/js/lodash/forEachRight.js +31 -0
  472. package/src/assets/jointjs/js/lodash/forIn.js +39 -0
  473. package/src/assets/jointjs/js/lodash/forInRight.js +37 -0
  474. package/src/assets/jointjs/js/lodash/forOwn.js +36 -0
  475. package/src/assets/jointjs/js/lodash/forOwnRight.js +34 -0
  476. package/src/assets/jointjs/js/lodash/fp/F.js +1 -0
  477. package/src/assets/jointjs/js/lodash/fp/T.js +1 -0
  478. package/src/assets/jointjs/js/lodash/fp/__.js +1 -0
  479. package/src/assets/jointjs/js/lodash/fp/_baseConvert.js +569 -0
  480. package/src/assets/jointjs/js/lodash/fp/_convertBrowser.js +18 -0
  481. package/src/assets/jointjs/js/lodash/fp/_falseOptions.js +7 -0
  482. package/src/assets/jointjs/js/lodash/fp/_mapping.js +358 -0
  483. package/src/assets/jointjs/js/lodash/fp/_util.js +16 -0
  484. package/src/assets/jointjs/js/lodash/fp/add.js +5 -0
  485. package/src/assets/jointjs/js/lodash/fp/after.js +5 -0
  486. package/src/assets/jointjs/js/lodash/fp/all.js +1 -0
  487. package/src/assets/jointjs/js/lodash/fp/allPass.js +1 -0
  488. package/src/assets/jointjs/js/lodash/fp/always.js +1 -0
  489. package/src/assets/jointjs/js/lodash/fp/any.js +1 -0
  490. package/src/assets/jointjs/js/lodash/fp/anyPass.js +1 -0
  491. package/src/assets/jointjs/js/lodash/fp/apply.js +1 -0
  492. package/src/assets/jointjs/js/lodash/fp/array.js +2 -0
  493. package/src/assets/jointjs/js/lodash/fp/ary.js +5 -0
  494. package/src/assets/jointjs/js/lodash/fp/assign.js +5 -0
  495. package/src/assets/jointjs/js/lodash/fp/assignAll.js +5 -0
  496. package/src/assets/jointjs/js/lodash/fp/assignAllWith.js +5 -0
  497. package/src/assets/jointjs/js/lodash/fp/assignIn.js +5 -0
  498. package/src/assets/jointjs/js/lodash/fp/assignInAll.js +5 -0
  499. package/src/assets/jointjs/js/lodash/fp/assignInAllWith.js +5 -0
  500. package/src/assets/jointjs/js/lodash/fp/assignInWith.js +5 -0
  501. package/src/assets/jointjs/js/lodash/fp/assignWith.js +5 -0
  502. package/src/assets/jointjs/js/lodash/fp/assoc.js +1 -0
  503. package/src/assets/jointjs/js/lodash/fp/assocPath.js +1 -0
  504. package/src/assets/jointjs/js/lodash/fp/at.js +5 -0
  505. package/src/assets/jointjs/js/lodash/fp/attempt.js +5 -0
  506. package/src/assets/jointjs/js/lodash/fp/before.js +5 -0
  507. package/src/assets/jointjs/js/lodash/fp/bind.js +5 -0
  508. package/src/assets/jointjs/js/lodash/fp/bindAll.js +5 -0
  509. package/src/assets/jointjs/js/lodash/fp/bindKey.js +5 -0
  510. package/src/assets/jointjs/js/lodash/fp/camelCase.js +5 -0
  511. package/src/assets/jointjs/js/lodash/fp/capitalize.js +5 -0
  512. package/src/assets/jointjs/js/lodash/fp/castArray.js +5 -0
  513. package/src/assets/jointjs/js/lodash/fp/ceil.js +5 -0
  514. package/src/assets/jointjs/js/lodash/fp/chain.js +5 -0
  515. package/src/assets/jointjs/js/lodash/fp/chunk.js +5 -0
  516. package/src/assets/jointjs/js/lodash/fp/clamp.js +5 -0
  517. package/src/assets/jointjs/js/lodash/fp/clone.js +5 -0
  518. package/src/assets/jointjs/js/lodash/fp/cloneDeep.js +5 -0
  519. package/src/assets/jointjs/js/lodash/fp/cloneDeepWith.js +5 -0
  520. package/src/assets/jointjs/js/lodash/fp/cloneWith.js +5 -0
  521. package/src/assets/jointjs/js/lodash/fp/collection.js +2 -0
  522. package/src/assets/jointjs/js/lodash/fp/commit.js +5 -0
  523. package/src/assets/jointjs/js/lodash/fp/compact.js +5 -0
  524. package/src/assets/jointjs/js/lodash/fp/complement.js +1 -0
  525. package/src/assets/jointjs/js/lodash/fp/compose.js +1 -0
  526. package/src/assets/jointjs/js/lodash/fp/concat.js +5 -0
  527. package/src/assets/jointjs/js/lodash/fp/cond.js +5 -0
  528. package/src/assets/jointjs/js/lodash/fp/conforms.js +1 -0
  529. package/src/assets/jointjs/js/lodash/fp/conformsTo.js +5 -0
  530. package/src/assets/jointjs/js/lodash/fp/constant.js +5 -0
  531. package/src/assets/jointjs/js/lodash/fp/contains.js +1 -0
  532. package/src/assets/jointjs/js/lodash/fp/convert.js +18 -0
  533. package/src/assets/jointjs/js/lodash/fp/countBy.js +5 -0
  534. package/src/assets/jointjs/js/lodash/fp/create.js +5 -0
  535. package/src/assets/jointjs/js/lodash/fp/curry.js +5 -0
  536. package/src/assets/jointjs/js/lodash/fp/curryN.js +5 -0
  537. package/src/assets/jointjs/js/lodash/fp/curryRight.js +5 -0
  538. package/src/assets/jointjs/js/lodash/fp/curryRightN.js +5 -0
  539. package/src/assets/jointjs/js/lodash/fp/date.js +2 -0
  540. package/src/assets/jointjs/js/lodash/fp/debounce.js +5 -0
  541. package/src/assets/jointjs/js/lodash/fp/deburr.js +5 -0
  542. package/src/assets/jointjs/js/lodash/fp/defaultTo.js +5 -0
  543. package/src/assets/jointjs/js/lodash/fp/defaults.js +5 -0
  544. package/src/assets/jointjs/js/lodash/fp/defaultsAll.js +5 -0
  545. package/src/assets/jointjs/js/lodash/fp/defaultsDeep.js +5 -0
  546. package/src/assets/jointjs/js/lodash/fp/defaultsDeepAll.js +5 -0
  547. package/src/assets/jointjs/js/lodash/fp/defer.js +5 -0
  548. package/src/assets/jointjs/js/lodash/fp/delay.js +5 -0
  549. package/src/assets/jointjs/js/lodash/fp/difference.js +5 -0
  550. package/src/assets/jointjs/js/lodash/fp/differenceBy.js +5 -0
  551. package/src/assets/jointjs/js/lodash/fp/differenceWith.js +5 -0
  552. package/src/assets/jointjs/js/lodash/fp/dissoc.js +1 -0
  553. package/src/assets/jointjs/js/lodash/fp/dissocPath.js +1 -0
  554. package/src/assets/jointjs/js/lodash/fp/divide.js +5 -0
  555. package/src/assets/jointjs/js/lodash/fp/drop.js +5 -0
  556. package/src/assets/jointjs/js/lodash/fp/dropLast.js +1 -0
  557. package/src/assets/jointjs/js/lodash/fp/dropLastWhile.js +1 -0
  558. package/src/assets/jointjs/js/lodash/fp/dropRight.js +5 -0
  559. package/src/assets/jointjs/js/lodash/fp/dropRightWhile.js +5 -0
  560. package/src/assets/jointjs/js/lodash/fp/dropWhile.js +5 -0
  561. package/src/assets/jointjs/js/lodash/fp/each.js +1 -0
  562. package/src/assets/jointjs/js/lodash/fp/eachRight.js +1 -0
  563. package/src/assets/jointjs/js/lodash/fp/endsWith.js +5 -0
  564. package/src/assets/jointjs/js/lodash/fp/entries.js +1 -0
  565. package/src/assets/jointjs/js/lodash/fp/entriesIn.js +1 -0
  566. package/src/assets/jointjs/js/lodash/fp/eq.js +5 -0
  567. package/src/assets/jointjs/js/lodash/fp/equals.js +1 -0
  568. package/src/assets/jointjs/js/lodash/fp/escape.js +5 -0
  569. package/src/assets/jointjs/js/lodash/fp/escapeRegExp.js +5 -0
  570. package/src/assets/jointjs/js/lodash/fp/every.js +5 -0
  571. package/src/assets/jointjs/js/lodash/fp/extend.js +1 -0
  572. package/src/assets/jointjs/js/lodash/fp/extendAll.js +1 -0
  573. package/src/assets/jointjs/js/lodash/fp/extendAllWith.js +1 -0
  574. package/src/assets/jointjs/js/lodash/fp/extendWith.js +1 -0
  575. package/src/assets/jointjs/js/lodash/fp/fill.js +5 -0
  576. package/src/assets/jointjs/js/lodash/fp/filter.js +5 -0
  577. package/src/assets/jointjs/js/lodash/fp/find.js +5 -0
  578. package/src/assets/jointjs/js/lodash/fp/findFrom.js +5 -0
  579. package/src/assets/jointjs/js/lodash/fp/findIndex.js +5 -0
  580. package/src/assets/jointjs/js/lodash/fp/findIndexFrom.js +5 -0
  581. package/src/assets/jointjs/js/lodash/fp/findKey.js +5 -0
  582. package/src/assets/jointjs/js/lodash/fp/findLast.js +5 -0
  583. package/src/assets/jointjs/js/lodash/fp/findLastFrom.js +5 -0
  584. package/src/assets/jointjs/js/lodash/fp/findLastIndex.js +5 -0
  585. package/src/assets/jointjs/js/lodash/fp/findLastIndexFrom.js +5 -0
  586. package/src/assets/jointjs/js/lodash/fp/findLastKey.js +5 -0
  587. package/src/assets/jointjs/js/lodash/fp/first.js +1 -0
  588. package/src/assets/jointjs/js/lodash/fp/flatMap.js +5 -0
  589. package/src/assets/jointjs/js/lodash/fp/flatMapDeep.js +5 -0
  590. package/src/assets/jointjs/js/lodash/fp/flatMapDepth.js +5 -0
  591. package/src/assets/jointjs/js/lodash/fp/flatten.js +5 -0
  592. package/src/assets/jointjs/js/lodash/fp/flattenDeep.js +5 -0
  593. package/src/assets/jointjs/js/lodash/fp/flattenDepth.js +5 -0
  594. package/src/assets/jointjs/js/lodash/fp/flip.js +5 -0
  595. package/src/assets/jointjs/js/lodash/fp/floor.js +5 -0
  596. package/src/assets/jointjs/js/lodash/fp/flow.js +5 -0
  597. package/src/assets/jointjs/js/lodash/fp/flowRight.js +5 -0
  598. package/src/assets/jointjs/js/lodash/fp/forEach.js +5 -0
  599. package/src/assets/jointjs/js/lodash/fp/forEachRight.js +5 -0
  600. package/src/assets/jointjs/js/lodash/fp/forIn.js +5 -0
  601. package/src/assets/jointjs/js/lodash/fp/forInRight.js +5 -0
  602. package/src/assets/jointjs/js/lodash/fp/forOwn.js +5 -0
  603. package/src/assets/jointjs/js/lodash/fp/forOwnRight.js +5 -0
  604. package/src/assets/jointjs/js/lodash/fp/fromPairs.js +5 -0
  605. package/src/assets/jointjs/js/lodash/fp/function.js +2 -0
  606. package/src/assets/jointjs/js/lodash/fp/functions.js +5 -0
  607. package/src/assets/jointjs/js/lodash/fp/functionsIn.js +5 -0
  608. package/src/assets/jointjs/js/lodash/fp/get.js +5 -0
  609. package/src/assets/jointjs/js/lodash/fp/getOr.js +5 -0
  610. package/src/assets/jointjs/js/lodash/fp/groupBy.js +5 -0
  611. package/src/assets/jointjs/js/lodash/fp/gt.js +5 -0
  612. package/src/assets/jointjs/js/lodash/fp/gte.js +5 -0
  613. package/src/assets/jointjs/js/lodash/fp/has.js +5 -0
  614. package/src/assets/jointjs/js/lodash/fp/hasIn.js +5 -0
  615. package/src/assets/jointjs/js/lodash/fp/head.js +5 -0
  616. package/src/assets/jointjs/js/lodash/fp/identical.js +1 -0
  617. package/src/assets/jointjs/js/lodash/fp/identity.js +5 -0
  618. package/src/assets/jointjs/js/lodash/fp/inRange.js +5 -0
  619. package/src/assets/jointjs/js/lodash/fp/includes.js +5 -0
  620. package/src/assets/jointjs/js/lodash/fp/includesFrom.js +5 -0
  621. package/src/assets/jointjs/js/lodash/fp/indexBy.js +1 -0
  622. package/src/assets/jointjs/js/lodash/fp/indexOf.js +5 -0
  623. package/src/assets/jointjs/js/lodash/fp/indexOfFrom.js +5 -0
  624. package/src/assets/jointjs/js/lodash/fp/init.js +1 -0
  625. package/src/assets/jointjs/js/lodash/fp/initial.js +5 -0
  626. package/src/assets/jointjs/js/lodash/fp/intersection.js +5 -0
  627. package/src/assets/jointjs/js/lodash/fp/intersectionBy.js +5 -0
  628. package/src/assets/jointjs/js/lodash/fp/intersectionWith.js +5 -0
  629. package/src/assets/jointjs/js/lodash/fp/invert.js +5 -0
  630. package/src/assets/jointjs/js/lodash/fp/invertBy.js +5 -0
  631. package/src/assets/jointjs/js/lodash/fp/invertObj.js +1 -0
  632. package/src/assets/jointjs/js/lodash/fp/invoke.js +5 -0
  633. package/src/assets/jointjs/js/lodash/fp/invokeArgs.js +5 -0
  634. package/src/assets/jointjs/js/lodash/fp/invokeArgsMap.js +5 -0
  635. package/src/assets/jointjs/js/lodash/fp/invokeMap.js +5 -0
  636. package/src/assets/jointjs/js/lodash/fp/isArguments.js +5 -0
  637. package/src/assets/jointjs/js/lodash/fp/isArray.js +5 -0
  638. package/src/assets/jointjs/js/lodash/fp/isArrayBuffer.js +5 -0
  639. package/src/assets/jointjs/js/lodash/fp/isArrayLike.js +5 -0
  640. package/src/assets/jointjs/js/lodash/fp/isArrayLikeObject.js +5 -0
  641. package/src/assets/jointjs/js/lodash/fp/isBoolean.js +5 -0
  642. package/src/assets/jointjs/js/lodash/fp/isBuffer.js +5 -0
  643. package/src/assets/jointjs/js/lodash/fp/isDate.js +5 -0
  644. package/src/assets/jointjs/js/lodash/fp/isElement.js +5 -0
  645. package/src/assets/jointjs/js/lodash/fp/isEmpty.js +5 -0
  646. package/src/assets/jointjs/js/lodash/fp/isEqual.js +5 -0
  647. package/src/assets/jointjs/js/lodash/fp/isEqualWith.js +5 -0
  648. package/src/assets/jointjs/js/lodash/fp/isError.js +5 -0
  649. package/src/assets/jointjs/js/lodash/fp/isFinite.js +5 -0
  650. package/src/assets/jointjs/js/lodash/fp/isFunction.js +5 -0
  651. package/src/assets/jointjs/js/lodash/fp/isInteger.js +5 -0
  652. package/src/assets/jointjs/js/lodash/fp/isLength.js +5 -0
  653. package/src/assets/jointjs/js/lodash/fp/isMap.js +5 -0
  654. package/src/assets/jointjs/js/lodash/fp/isMatch.js +5 -0
  655. package/src/assets/jointjs/js/lodash/fp/isMatchWith.js +5 -0
  656. package/src/assets/jointjs/js/lodash/fp/isNaN.js +5 -0
  657. package/src/assets/jointjs/js/lodash/fp/isNative.js +5 -0
  658. package/src/assets/jointjs/js/lodash/fp/isNil.js +5 -0
  659. package/src/assets/jointjs/js/lodash/fp/isNull.js +5 -0
  660. package/src/assets/jointjs/js/lodash/fp/isNumber.js +5 -0
  661. package/src/assets/jointjs/js/lodash/fp/isObject.js +5 -0
  662. package/src/assets/jointjs/js/lodash/fp/isObjectLike.js +5 -0
  663. package/src/assets/jointjs/js/lodash/fp/isPlainObject.js +5 -0
  664. package/src/assets/jointjs/js/lodash/fp/isRegExp.js +5 -0
  665. package/src/assets/jointjs/js/lodash/fp/isSafeInteger.js +5 -0
  666. package/src/assets/jointjs/js/lodash/fp/isSet.js +5 -0
  667. package/src/assets/jointjs/js/lodash/fp/isString.js +5 -0
  668. package/src/assets/jointjs/js/lodash/fp/isSymbol.js +5 -0
  669. package/src/assets/jointjs/js/lodash/fp/isTypedArray.js +5 -0
  670. package/src/assets/jointjs/js/lodash/fp/isUndefined.js +5 -0
  671. package/src/assets/jointjs/js/lodash/fp/isWeakMap.js +5 -0
  672. package/src/assets/jointjs/js/lodash/fp/isWeakSet.js +5 -0
  673. package/src/assets/jointjs/js/lodash/fp/iteratee.js +5 -0
  674. package/src/assets/jointjs/js/lodash/fp/join.js +5 -0
  675. package/src/assets/jointjs/js/lodash/fp/juxt.js +1 -0
  676. package/src/assets/jointjs/js/lodash/fp/kebabCase.js +5 -0
  677. package/src/assets/jointjs/js/lodash/fp/keyBy.js +5 -0
  678. package/src/assets/jointjs/js/lodash/fp/keys.js +5 -0
  679. package/src/assets/jointjs/js/lodash/fp/keysIn.js +5 -0
  680. package/src/assets/jointjs/js/lodash/fp/lang.js +2 -0
  681. package/src/assets/jointjs/js/lodash/fp/last.js +5 -0
  682. package/src/assets/jointjs/js/lodash/fp/lastIndexOf.js +5 -0
  683. package/src/assets/jointjs/js/lodash/fp/lastIndexOfFrom.js +5 -0
  684. package/src/assets/jointjs/js/lodash/fp/lowerCase.js +5 -0
  685. package/src/assets/jointjs/js/lodash/fp/lowerFirst.js +5 -0
  686. package/src/assets/jointjs/js/lodash/fp/lt.js +5 -0
  687. package/src/assets/jointjs/js/lodash/fp/lte.js +5 -0
  688. package/src/assets/jointjs/js/lodash/fp/map.js +5 -0
  689. package/src/assets/jointjs/js/lodash/fp/mapKeys.js +5 -0
  690. package/src/assets/jointjs/js/lodash/fp/mapValues.js +5 -0
  691. package/src/assets/jointjs/js/lodash/fp/matches.js +1 -0
  692. package/src/assets/jointjs/js/lodash/fp/matchesProperty.js +5 -0
  693. package/src/assets/jointjs/js/lodash/fp/math.js +2 -0
  694. package/src/assets/jointjs/js/lodash/fp/max.js +5 -0
  695. package/src/assets/jointjs/js/lodash/fp/maxBy.js +5 -0
  696. package/src/assets/jointjs/js/lodash/fp/mean.js +5 -0
  697. package/src/assets/jointjs/js/lodash/fp/meanBy.js +5 -0
  698. package/src/assets/jointjs/js/lodash/fp/memoize.js +5 -0
  699. package/src/assets/jointjs/js/lodash/fp/merge.js +5 -0
  700. package/src/assets/jointjs/js/lodash/fp/mergeAll.js +5 -0
  701. package/src/assets/jointjs/js/lodash/fp/mergeAllWith.js +5 -0
  702. package/src/assets/jointjs/js/lodash/fp/mergeWith.js +5 -0
  703. package/src/assets/jointjs/js/lodash/fp/method.js +5 -0
  704. package/src/assets/jointjs/js/lodash/fp/methodOf.js +5 -0
  705. package/src/assets/jointjs/js/lodash/fp/min.js +5 -0
  706. package/src/assets/jointjs/js/lodash/fp/minBy.js +5 -0
  707. package/src/assets/jointjs/js/lodash/fp/mixin.js +5 -0
  708. package/src/assets/jointjs/js/lodash/fp/multiply.js +5 -0
  709. package/src/assets/jointjs/js/lodash/fp/nAry.js +1 -0
  710. package/src/assets/jointjs/js/lodash/fp/negate.js +5 -0
  711. package/src/assets/jointjs/js/lodash/fp/next.js +5 -0
  712. package/src/assets/jointjs/js/lodash/fp/noop.js +5 -0
  713. package/src/assets/jointjs/js/lodash/fp/now.js +5 -0
  714. package/src/assets/jointjs/js/lodash/fp/nth.js +5 -0
  715. package/src/assets/jointjs/js/lodash/fp/nthArg.js +5 -0
  716. package/src/assets/jointjs/js/lodash/fp/number.js +2 -0
  717. package/src/assets/jointjs/js/lodash/fp/object.js +2 -0
  718. package/src/assets/jointjs/js/lodash/fp/omit.js +5 -0
  719. package/src/assets/jointjs/js/lodash/fp/omitAll.js +1 -0
  720. package/src/assets/jointjs/js/lodash/fp/omitBy.js +5 -0
  721. package/src/assets/jointjs/js/lodash/fp/once.js +5 -0
  722. package/src/assets/jointjs/js/lodash/fp/orderBy.js +5 -0
  723. package/src/assets/jointjs/js/lodash/fp/over.js +5 -0
  724. package/src/assets/jointjs/js/lodash/fp/overArgs.js +5 -0
  725. package/src/assets/jointjs/js/lodash/fp/overEvery.js +5 -0
  726. package/src/assets/jointjs/js/lodash/fp/overSome.js +5 -0
  727. package/src/assets/jointjs/js/lodash/fp/pad.js +5 -0
  728. package/src/assets/jointjs/js/lodash/fp/padChars.js +5 -0
  729. package/src/assets/jointjs/js/lodash/fp/padCharsEnd.js +5 -0
  730. package/src/assets/jointjs/js/lodash/fp/padCharsStart.js +5 -0
  731. package/src/assets/jointjs/js/lodash/fp/padEnd.js +5 -0
  732. package/src/assets/jointjs/js/lodash/fp/padStart.js +5 -0
  733. package/src/assets/jointjs/js/lodash/fp/parseInt.js +5 -0
  734. package/src/assets/jointjs/js/lodash/fp/partial.js +5 -0
  735. package/src/assets/jointjs/js/lodash/fp/partialRight.js +5 -0
  736. package/src/assets/jointjs/js/lodash/fp/partition.js +5 -0
  737. package/src/assets/jointjs/js/lodash/fp/path.js +1 -0
  738. package/src/assets/jointjs/js/lodash/fp/pathEq.js +1 -0
  739. package/src/assets/jointjs/js/lodash/fp/pathOr.js +1 -0
  740. package/src/assets/jointjs/js/lodash/fp/paths.js +1 -0
  741. package/src/assets/jointjs/js/lodash/fp/pick.js +5 -0
  742. package/src/assets/jointjs/js/lodash/fp/pickAll.js +1 -0
  743. package/src/assets/jointjs/js/lodash/fp/pickBy.js +5 -0
  744. package/src/assets/jointjs/js/lodash/fp/pipe.js +1 -0
  745. package/src/assets/jointjs/js/lodash/fp/placeholder.js +6 -0
  746. package/src/assets/jointjs/js/lodash/fp/plant.js +5 -0
  747. package/src/assets/jointjs/js/lodash/fp/pluck.js +1 -0
  748. package/src/assets/jointjs/js/lodash/fp/prop.js +1 -0
  749. package/src/assets/jointjs/js/lodash/fp/propEq.js +1 -0
  750. package/src/assets/jointjs/js/lodash/fp/propOr.js +1 -0
  751. package/src/assets/jointjs/js/lodash/fp/property.js +1 -0
  752. package/src/assets/jointjs/js/lodash/fp/propertyOf.js +5 -0
  753. package/src/assets/jointjs/js/lodash/fp/props.js +1 -0
  754. package/src/assets/jointjs/js/lodash/fp/pull.js +5 -0
  755. package/src/assets/jointjs/js/lodash/fp/pullAll.js +5 -0
  756. package/src/assets/jointjs/js/lodash/fp/pullAllBy.js +5 -0
  757. package/src/assets/jointjs/js/lodash/fp/pullAllWith.js +5 -0
  758. package/src/assets/jointjs/js/lodash/fp/pullAt.js +5 -0
  759. package/src/assets/jointjs/js/lodash/fp/random.js +5 -0
  760. package/src/assets/jointjs/js/lodash/fp/range.js +5 -0
  761. package/src/assets/jointjs/js/lodash/fp/rangeRight.js +5 -0
  762. package/src/assets/jointjs/js/lodash/fp/rangeStep.js +5 -0
  763. package/src/assets/jointjs/js/lodash/fp/rangeStepRight.js +5 -0
  764. package/src/assets/jointjs/js/lodash/fp/rearg.js +5 -0
  765. package/src/assets/jointjs/js/lodash/fp/reduce.js +5 -0
  766. package/src/assets/jointjs/js/lodash/fp/reduceRight.js +5 -0
  767. package/src/assets/jointjs/js/lodash/fp/reject.js +5 -0
  768. package/src/assets/jointjs/js/lodash/fp/remove.js +5 -0
  769. package/src/assets/jointjs/js/lodash/fp/repeat.js +5 -0
  770. package/src/assets/jointjs/js/lodash/fp/replace.js +5 -0
  771. package/src/assets/jointjs/js/lodash/fp/rest.js +5 -0
  772. package/src/assets/jointjs/js/lodash/fp/restFrom.js +5 -0
  773. package/src/assets/jointjs/js/lodash/fp/result.js +5 -0
  774. package/src/assets/jointjs/js/lodash/fp/reverse.js +5 -0
  775. package/src/assets/jointjs/js/lodash/fp/round.js +5 -0
  776. package/src/assets/jointjs/js/lodash/fp/sample.js +5 -0
  777. package/src/assets/jointjs/js/lodash/fp/sampleSize.js +5 -0
  778. package/src/assets/jointjs/js/lodash/fp/seq.js +2 -0
  779. package/src/assets/jointjs/js/lodash/fp/set.js +5 -0
  780. package/src/assets/jointjs/js/lodash/fp/setWith.js +5 -0
  781. package/src/assets/jointjs/js/lodash/fp/shuffle.js +5 -0
  782. package/src/assets/jointjs/js/lodash/fp/size.js +5 -0
  783. package/src/assets/jointjs/js/lodash/fp/slice.js +5 -0
  784. package/src/assets/jointjs/js/lodash/fp/snakeCase.js +5 -0
  785. package/src/assets/jointjs/js/lodash/fp/some.js +5 -0
  786. package/src/assets/jointjs/js/lodash/fp/sortBy.js +5 -0
  787. package/src/assets/jointjs/js/lodash/fp/sortedIndex.js +5 -0
  788. package/src/assets/jointjs/js/lodash/fp/sortedIndexBy.js +5 -0
  789. package/src/assets/jointjs/js/lodash/fp/sortedIndexOf.js +5 -0
  790. package/src/assets/jointjs/js/lodash/fp/sortedLastIndex.js +5 -0
  791. package/src/assets/jointjs/js/lodash/fp/sortedLastIndexBy.js +5 -0
  792. package/src/assets/jointjs/js/lodash/fp/sortedLastIndexOf.js +5 -0
  793. package/src/assets/jointjs/js/lodash/fp/sortedUniq.js +5 -0
  794. package/src/assets/jointjs/js/lodash/fp/sortedUniqBy.js +5 -0
  795. package/src/assets/jointjs/js/lodash/fp/split.js +5 -0
  796. package/src/assets/jointjs/js/lodash/fp/spread.js +5 -0
  797. package/src/assets/jointjs/js/lodash/fp/spreadFrom.js +5 -0
  798. package/src/assets/jointjs/js/lodash/fp/startCase.js +5 -0
  799. package/src/assets/jointjs/js/lodash/fp/startsWith.js +5 -0
  800. package/src/assets/jointjs/js/lodash/fp/string.js +2 -0
  801. package/src/assets/jointjs/js/lodash/fp/stubArray.js +5 -0
  802. package/src/assets/jointjs/js/lodash/fp/stubFalse.js +5 -0
  803. package/src/assets/jointjs/js/lodash/fp/stubObject.js +5 -0
  804. package/src/assets/jointjs/js/lodash/fp/stubString.js +5 -0
  805. package/src/assets/jointjs/js/lodash/fp/stubTrue.js +5 -0
  806. package/src/assets/jointjs/js/lodash/fp/subtract.js +5 -0
  807. package/src/assets/jointjs/js/lodash/fp/sum.js +5 -0
  808. package/src/assets/jointjs/js/lodash/fp/sumBy.js +5 -0
  809. package/src/assets/jointjs/js/lodash/fp/symmetricDifference.js +1 -0
  810. package/src/assets/jointjs/js/lodash/fp/symmetricDifferenceBy.js +1 -0
  811. package/src/assets/jointjs/js/lodash/fp/symmetricDifferenceWith.js +1 -0
  812. package/src/assets/jointjs/js/lodash/fp/tail.js +5 -0
  813. package/src/assets/jointjs/js/lodash/fp/take.js +5 -0
  814. package/src/assets/jointjs/js/lodash/fp/takeLast.js +1 -0
  815. package/src/assets/jointjs/js/lodash/fp/takeLastWhile.js +1 -0
  816. package/src/assets/jointjs/js/lodash/fp/takeRight.js +5 -0
  817. package/src/assets/jointjs/js/lodash/fp/takeRightWhile.js +5 -0
  818. package/src/assets/jointjs/js/lodash/fp/takeWhile.js +5 -0
  819. package/src/assets/jointjs/js/lodash/fp/tap.js +5 -0
  820. package/src/assets/jointjs/js/lodash/fp/template.js +5 -0
  821. package/src/assets/jointjs/js/lodash/fp/templateSettings.js +5 -0
  822. package/src/assets/jointjs/js/lodash/fp/throttle.js +5 -0
  823. package/src/assets/jointjs/js/lodash/fp/thru.js +5 -0
  824. package/src/assets/jointjs/js/lodash/fp/times.js +5 -0
  825. package/src/assets/jointjs/js/lodash/fp/toArray.js +5 -0
  826. package/src/assets/jointjs/js/lodash/fp/toFinite.js +5 -0
  827. package/src/assets/jointjs/js/lodash/fp/toInteger.js +5 -0
  828. package/src/assets/jointjs/js/lodash/fp/toIterator.js +5 -0
  829. package/src/assets/jointjs/js/lodash/fp/toJSON.js +5 -0
  830. package/src/assets/jointjs/js/lodash/fp/toLength.js +5 -0
  831. package/src/assets/jointjs/js/lodash/fp/toLower.js +5 -0
  832. package/src/assets/jointjs/js/lodash/fp/toNumber.js +5 -0
  833. package/src/assets/jointjs/js/lodash/fp/toPairs.js +5 -0
  834. package/src/assets/jointjs/js/lodash/fp/toPairsIn.js +5 -0
  835. package/src/assets/jointjs/js/lodash/fp/toPath.js +5 -0
  836. package/src/assets/jointjs/js/lodash/fp/toPlainObject.js +5 -0
  837. package/src/assets/jointjs/js/lodash/fp/toSafeInteger.js +5 -0
  838. package/src/assets/jointjs/js/lodash/fp/toString.js +5 -0
  839. package/src/assets/jointjs/js/lodash/fp/toUpper.js +5 -0
  840. package/src/assets/jointjs/js/lodash/fp/transform.js +5 -0
  841. package/src/assets/jointjs/js/lodash/fp/trim.js +5 -0
  842. package/src/assets/jointjs/js/lodash/fp/trimChars.js +5 -0
  843. package/src/assets/jointjs/js/lodash/fp/trimCharsEnd.js +5 -0
  844. package/src/assets/jointjs/js/lodash/fp/trimCharsStart.js +5 -0
  845. package/src/assets/jointjs/js/lodash/fp/trimEnd.js +5 -0
  846. package/src/assets/jointjs/js/lodash/fp/trimStart.js +5 -0
  847. package/src/assets/jointjs/js/lodash/fp/truncate.js +5 -0
  848. package/src/assets/jointjs/js/lodash/fp/unapply.js +1 -0
  849. package/src/assets/jointjs/js/lodash/fp/unary.js +5 -0
  850. package/src/assets/jointjs/js/lodash/fp/unescape.js +5 -0
  851. package/src/assets/jointjs/js/lodash/fp/union.js +5 -0
  852. package/src/assets/jointjs/js/lodash/fp/unionBy.js +5 -0
  853. package/src/assets/jointjs/js/lodash/fp/unionWith.js +5 -0
  854. package/src/assets/jointjs/js/lodash/fp/uniq.js +5 -0
  855. package/src/assets/jointjs/js/lodash/fp/uniqBy.js +5 -0
  856. package/src/assets/jointjs/js/lodash/fp/uniqWith.js +5 -0
  857. package/src/assets/jointjs/js/lodash/fp/uniqueId.js +5 -0
  858. package/src/assets/jointjs/js/lodash/fp/unnest.js +1 -0
  859. package/src/assets/jointjs/js/lodash/fp/unset.js +5 -0
  860. package/src/assets/jointjs/js/lodash/fp/unzip.js +5 -0
  861. package/src/assets/jointjs/js/lodash/fp/unzipWith.js +5 -0
  862. package/src/assets/jointjs/js/lodash/fp/update.js +5 -0
  863. package/src/assets/jointjs/js/lodash/fp/updateWith.js +5 -0
  864. package/src/assets/jointjs/js/lodash/fp/upperCase.js +5 -0
  865. package/src/assets/jointjs/js/lodash/fp/upperFirst.js +5 -0
  866. package/src/assets/jointjs/js/lodash/fp/useWith.js +1 -0
  867. package/src/assets/jointjs/js/lodash/fp/util.js +2 -0
  868. package/src/assets/jointjs/js/lodash/fp/value.js +5 -0
  869. package/src/assets/jointjs/js/lodash/fp/valueOf.js +5 -0
  870. package/src/assets/jointjs/js/lodash/fp/values.js +5 -0
  871. package/src/assets/jointjs/js/lodash/fp/valuesIn.js +5 -0
  872. package/src/assets/jointjs/js/lodash/fp/where.js +1 -0
  873. package/src/assets/jointjs/js/lodash/fp/whereEq.js +1 -0
  874. package/src/assets/jointjs/js/lodash/fp/without.js +5 -0
  875. package/src/assets/jointjs/js/lodash/fp/words.js +5 -0
  876. package/src/assets/jointjs/js/lodash/fp/wrap.js +5 -0
  877. package/src/assets/jointjs/js/lodash/fp/wrapperAt.js +5 -0
  878. package/src/assets/jointjs/js/lodash/fp/wrapperChain.js +5 -0
  879. package/src/assets/jointjs/js/lodash/fp/wrapperLodash.js +5 -0
  880. package/src/assets/jointjs/js/lodash/fp/wrapperReverse.js +5 -0
  881. package/src/assets/jointjs/js/lodash/fp/wrapperValue.js +5 -0
  882. package/src/assets/jointjs/js/lodash/fp/xor.js +5 -0
  883. package/src/assets/jointjs/js/lodash/fp/xorBy.js +5 -0
  884. package/src/assets/jointjs/js/lodash/fp/xorWith.js +5 -0
  885. package/src/assets/jointjs/js/lodash/fp/zip.js +5 -0
  886. package/src/assets/jointjs/js/lodash/fp/zipAll.js +5 -0
  887. package/src/assets/jointjs/js/lodash/fp/zipObj.js +1 -0
  888. package/src/assets/jointjs/js/lodash/fp/zipObject.js +5 -0
  889. package/src/assets/jointjs/js/lodash/fp/zipObjectDeep.js +5 -0
  890. package/src/assets/jointjs/js/lodash/fp/zipWith.js +5 -0
  891. package/src/assets/jointjs/js/lodash/fp.js +2 -0
  892. package/src/assets/jointjs/js/lodash/fromPairs.js +28 -0
  893. package/src/assets/jointjs/js/lodash/function.js +25 -0
  894. package/src/assets/jointjs/js/lodash/functions.js +31 -0
  895. package/src/assets/jointjs/js/lodash/functionsIn.js +31 -0
  896. package/src/assets/jointjs/js/lodash/get.js +33 -0
  897. package/src/assets/jointjs/js/lodash/groupBy.js +41 -0
  898. package/src/assets/jointjs/js/lodash/gt.js +29 -0
  899. package/src/assets/jointjs/js/lodash/gte.js +30 -0
  900. package/src/assets/jointjs/js/lodash/has.js +35 -0
  901. package/src/assets/jointjs/js/lodash/hasIn.js +34 -0
  902. package/src/assets/jointjs/js/lodash/head.js +23 -0
  903. package/src/assets/jointjs/js/lodash/identity.js +21 -0
  904. package/src/assets/jointjs/js/lodash/inRange.js +55 -0
  905. package/src/assets/jointjs/js/lodash/includes.js +53 -0
  906. package/src/assets/jointjs/js/lodash/index.js +1 -0
  907. package/src/assets/jointjs/js/lodash/indexOf.js +42 -0
  908. package/src/assets/jointjs/js/lodash/initial.js +22 -0
  909. package/src/assets/jointjs/js/lodash/intersection.js +30 -0
  910. package/src/assets/jointjs/js/lodash/intersectionBy.js +45 -0
  911. package/src/assets/jointjs/js/lodash/intersectionWith.js +41 -0
  912. package/src/assets/jointjs/js/lodash/invert.js +42 -0
  913. package/src/assets/jointjs/js/lodash/invertBy.js +56 -0
  914. package/src/assets/jointjs/js/lodash/invoke.js +24 -0
  915. package/src/assets/jointjs/js/lodash/invokeMap.js +41 -0
  916. package/src/assets/jointjs/js/lodash/isArguments.js +36 -0
  917. package/src/assets/jointjs/js/lodash/isArray.js +26 -0
  918. package/src/assets/jointjs/js/lodash/isArrayBuffer.js +27 -0
  919. package/src/assets/jointjs/js/lodash/isArrayLike.js +33 -0
  920. package/src/assets/jointjs/js/lodash/isArrayLikeObject.js +33 -0
  921. package/src/assets/jointjs/js/lodash/isBoolean.js +29 -0
  922. package/src/assets/jointjs/js/lodash/isBuffer.js +38 -0
  923. package/src/assets/jointjs/js/lodash/isDate.js +27 -0
  924. package/src/assets/jointjs/js/lodash/isElement.js +25 -0
  925. package/src/assets/jointjs/js/lodash/isEmpty.js +77 -0
  926. package/src/assets/jointjs/js/lodash/isEqual.js +35 -0
  927. package/src/assets/jointjs/js/lodash/isEqualWith.js +41 -0
  928. package/src/assets/jointjs/js/lodash/isError.js +36 -0
  929. package/src/assets/jointjs/js/lodash/isFinite.js +36 -0
  930. package/src/assets/jointjs/js/lodash/isFunction.js +37 -0
  931. package/src/assets/jointjs/js/lodash/isInteger.js +33 -0
  932. package/src/assets/jointjs/js/lodash/isLength.js +35 -0
  933. package/src/assets/jointjs/js/lodash/isMap.js +27 -0
  934. package/src/assets/jointjs/js/lodash/isMatch.js +36 -0
  935. package/src/assets/jointjs/js/lodash/isMatchWith.js +41 -0
  936. package/src/assets/jointjs/js/lodash/isNaN.js +38 -0
  937. package/src/assets/jointjs/js/lodash/isNative.js +40 -0
  938. package/src/assets/jointjs/js/lodash/isNil.js +25 -0
  939. package/src/assets/jointjs/js/lodash/isNull.js +22 -0
  940. package/src/assets/jointjs/js/lodash/isNumber.js +38 -0
  941. package/src/assets/jointjs/js/lodash/isObject.js +31 -0
  942. package/src/assets/jointjs/js/lodash/isObjectLike.js +29 -0
  943. package/src/assets/jointjs/js/lodash/isPlainObject.js +62 -0
  944. package/src/assets/jointjs/js/lodash/isRegExp.js +27 -0
  945. package/src/assets/jointjs/js/lodash/isSafeInteger.js +37 -0
  946. package/src/assets/jointjs/js/lodash/isSet.js +27 -0
  947. package/src/assets/jointjs/js/lodash/isString.js +30 -0
  948. package/src/assets/jointjs/js/lodash/isSymbol.js +29 -0
  949. package/src/assets/jointjs/js/lodash/isTypedArray.js +27 -0
  950. package/src/assets/jointjs/js/lodash/isUndefined.js +22 -0
  951. package/src/assets/jointjs/js/lodash/isWeakMap.js +28 -0
  952. package/src/assets/jointjs/js/lodash/isWeakSet.js +28 -0
  953. package/src/assets/jointjs/js/lodash/iteratee.js +53 -0
  954. package/src/assets/jointjs/js/lodash/join.js +26 -0
  955. package/src/assets/jointjs/js/lodash/kebabCase.js +28 -0
  956. package/src/assets/jointjs/js/lodash/keyBy.js +36 -0
  957. package/src/assets/jointjs/js/lodash/keys.js +37 -0
  958. package/src/assets/jointjs/js/lodash/keysIn.js +32 -0
  959. package/src/assets/jointjs/js/lodash/lang.js +58 -0
  960. package/src/assets/jointjs/js/lodash/last.js +20 -0
  961. package/src/assets/jointjs/js/lodash/lastIndexOf.js +46 -0
  962. package/src/assets/jointjs/js/lodash/lodash.js +17112 -0
  963. package/src/assets/jointjs/js/lodash/lodash.min.js +137 -0
  964. package/src/assets/jointjs/js/lodash/lowerCase.js +27 -0
  965. package/src/assets/jointjs/js/lodash/lowerFirst.js +22 -0
  966. package/src/assets/jointjs/js/lodash/lt.js +29 -0
  967. package/src/assets/jointjs/js/lodash/lte.js +30 -0
  968. package/src/assets/jointjs/js/lodash/map.js +53 -0
  969. package/src/assets/jointjs/js/lodash/mapKeys.js +36 -0
  970. package/src/assets/jointjs/js/lodash/mapValues.js +43 -0
  971. package/src/assets/jointjs/js/lodash/matches.js +39 -0
  972. package/src/assets/jointjs/js/lodash/matchesProperty.js +37 -0
  973. package/src/assets/jointjs/js/lodash/math.js +17 -0
  974. package/src/assets/jointjs/js/lodash/max.js +29 -0
  975. package/src/assets/jointjs/js/lodash/maxBy.js +34 -0
  976. package/src/assets/jointjs/js/lodash/mean.js +22 -0
  977. package/src/assets/jointjs/js/lodash/meanBy.js +31 -0
  978. package/src/assets/jointjs/js/lodash/memoize.js +73 -0
  979. package/src/assets/jointjs/js/lodash/merge.js +39 -0
  980. package/src/assets/jointjs/js/lodash/mergeWith.js +39 -0
  981. package/src/assets/jointjs/js/lodash/method.js +34 -0
  982. package/src/assets/jointjs/js/lodash/methodOf.js +33 -0
  983. package/src/assets/jointjs/js/lodash/min.js +29 -0
  984. package/src/assets/jointjs/js/lodash/minBy.js +34 -0
  985. package/src/assets/jointjs/js/lodash/mixin.js +74 -0
  986. package/src/assets/jointjs/js/lodash/multiply.js +22 -0
  987. package/src/assets/jointjs/js/lodash/negate.js +40 -0
  988. package/src/assets/jointjs/js/lodash/next.js +35 -0
  989. package/src/assets/jointjs/js/lodash/noop.js +17 -0
  990. package/src/assets/jointjs/js/lodash/now.js +23 -0
  991. package/src/assets/jointjs/js/lodash/nth.js +29 -0
  992. package/src/assets/jointjs/js/lodash/nthArg.js +32 -0
  993. package/src/assets/jointjs/js/lodash/number.js +5 -0
  994. package/src/assets/jointjs/js/lodash/object.js +49 -0
  995. package/src/assets/jointjs/js/lodash/omit.js +57 -0
  996. package/src/assets/jointjs/js/lodash/omitBy.js +29 -0
  997. package/src/assets/jointjs/js/lodash/once.js +25 -0
  998. package/src/assets/jointjs/js/lodash/orderBy.js +47 -0
  999. package/src/assets/jointjs/js/lodash/org.js +39 -0
  1000. package/src/assets/jointjs/js/lodash/over.js +24 -0
  1001. package/src/assets/jointjs/js/lodash/overArgs.js +61 -0
  1002. package/src/assets/jointjs/js/lodash/overEvery.js +30 -0
  1003. package/src/assets/jointjs/js/lodash/overSome.js +30 -0
  1004. package/src/assets/jointjs/js/lodash/package.json +1 -0
  1005. package/src/assets/jointjs/js/lodash/pad.js +49 -0
  1006. package/src/assets/jointjs/js/lodash/padEnd.js +39 -0
  1007. package/src/assets/jointjs/js/lodash/padStart.js +39 -0
  1008. package/src/assets/jointjs/js/lodash/parseInt.js +43 -0
  1009. package/src/assets/jointjs/js/lodash/partial.js +50 -0
  1010. package/src/assets/jointjs/js/lodash/partialRight.js +49 -0
  1011. package/src/assets/jointjs/js/lodash/partition.js +43 -0
  1012. package/src/assets/jointjs/js/lodash/pick.js +25 -0
  1013. package/src/assets/jointjs/js/lodash/pickBy.js +37 -0
  1014. package/src/assets/jointjs/js/lodash/plant.js +48 -0
  1015. package/src/assets/jointjs/js/lodash/property.js +32 -0
  1016. package/src/assets/jointjs/js/lodash/propertyOf.js +30 -0
  1017. package/src/assets/jointjs/js/lodash/pull.js +29 -0
  1018. package/src/assets/jointjs/js/lodash/pullAll.js +29 -0
  1019. package/src/assets/jointjs/js/lodash/pullAllBy.js +33 -0
  1020. package/src/assets/jointjs/js/lodash/pullAllWith.js +32 -0
  1021. package/src/assets/jointjs/js/lodash/pullAt.js +43 -0
  1022. package/src/assets/jointjs/js/lodash/random.js +82 -0
  1023. package/src/assets/jointjs/js/lodash/range.js +46 -0
  1024. package/src/assets/jointjs/js/lodash/rangeRight.js +41 -0
  1025. package/src/assets/jointjs/js/lodash/rearg.js +33 -0
  1026. package/src/assets/jointjs/js/lodash/reduce.js +51 -0
  1027. package/src/assets/jointjs/js/lodash/reduceRight.js +36 -0
  1028. package/src/assets/jointjs/js/lodash/reject.js +46 -0
  1029. package/src/assets/jointjs/js/lodash/remove.js +53 -0
  1030. package/src/assets/jointjs/js/lodash/repeat.js +37 -0
  1031. package/src/assets/jointjs/js/lodash/replace.js +29 -0
  1032. package/src/assets/jointjs/js/lodash/rest.js +40 -0
  1033. package/src/assets/jointjs/js/lodash/result.js +56 -0
  1034. package/src/assets/jointjs/js/lodash/reverse.js +34 -0
  1035. package/src/assets/jointjs/js/lodash/round.js +26 -0
  1036. package/src/assets/jointjs/js/lodash/sample.js +24 -0
  1037. package/src/assets/jointjs/js/lodash/sampleSize.js +37 -0
  1038. package/src/assets/jointjs/js/lodash/seq.js +16 -0
  1039. package/src/assets/jointjs/js/lodash/set.js +35 -0
  1040. package/src/assets/jointjs/js/lodash/setWith.js +32 -0
  1041. package/src/assets/jointjs/js/lodash/shuffle.js +25 -0
  1042. package/src/assets/jointjs/js/lodash/size.js +46 -0
  1043. package/src/assets/jointjs/js/lodash/slice.js +37 -0
  1044. package/src/assets/jointjs/js/lodash/snakeCase.js +28 -0
  1045. package/src/assets/jointjs/js/lodash/some.js +51 -0
  1046. package/src/assets/jointjs/js/lodash/sortBy.js +48 -0
  1047. package/src/assets/jointjs/js/lodash/sortedIndex.js +24 -0
  1048. package/src/assets/jointjs/js/lodash/sortedIndexBy.js +33 -0
  1049. package/src/assets/jointjs/js/lodash/sortedIndexOf.js +31 -0
  1050. package/src/assets/jointjs/js/lodash/sortedLastIndex.js +25 -0
  1051. package/src/assets/jointjs/js/lodash/sortedLastIndexBy.js +33 -0
  1052. package/src/assets/jointjs/js/lodash/sortedLastIndexOf.js +31 -0
  1053. package/src/assets/jointjs/js/lodash/sortedUniq.js +24 -0
  1054. package/src/assets/jointjs/js/lodash/sortedUniqBy.js +26 -0
  1055. package/src/assets/jointjs/js/lodash/split.js +52 -0
  1056. package/src/assets/jointjs/js/lodash/spread.js +63 -0
  1057. package/src/assets/jointjs/js/lodash/startCase.js +29 -0
  1058. package/src/assets/jointjs/js/lodash/startsWith.js +39 -0
  1059. package/src/assets/jointjs/js/lodash/string.js +33 -0
  1060. package/src/assets/jointjs/js/lodash/stubArray.js +23 -0
  1061. package/src/assets/jointjs/js/lodash/stubFalse.js +18 -0
  1062. package/src/assets/jointjs/js/lodash/stubObject.js +23 -0
  1063. package/src/assets/jointjs/js/lodash/stubString.js +18 -0
  1064. package/src/assets/jointjs/js/lodash/stubTrue.js +18 -0
  1065. package/src/assets/jointjs/js/lodash/subtract.js +22 -0
  1066. package/src/assets/jointjs/js/lodash/sum.js +24 -0
  1067. package/src/assets/jointjs/js/lodash/sumBy.js +33 -0
  1068. package/src/assets/jointjs/js/lodash/tag.js +43 -0
  1069. package/src/assets/jointjs/js/lodash/tail.js +22 -0
  1070. package/src/assets/jointjs/js/lodash/take.js +37 -0
  1071. package/src/assets/jointjs/js/lodash/takeRight.js +39 -0
  1072. package/src/assets/jointjs/js/lodash/takeRightWhile.js +45 -0
  1073. package/src/assets/jointjs/js/lodash/takeWhile.js +45 -0
  1074. package/src/assets/jointjs/js/lodash/tap.js +29 -0
  1075. package/src/assets/jointjs/js/lodash/template.js +253 -0
  1076. package/src/assets/jointjs/js/lodash/templateSettings.js +67 -0
  1077. package/src/assets/jointjs/js/lodash/throttle.js +69 -0
  1078. package/src/assets/jointjs/js/lodash/thru.js +28 -0
  1079. package/src/assets/jointjs/js/lodash/times.js +51 -0
  1080. package/src/assets/jointjs/js/lodash/toArray.js +58 -0
  1081. package/src/assets/jointjs/js/lodash/toFinite.js +42 -0
  1082. package/src/assets/jointjs/js/lodash/toInteger.js +36 -0
  1083. package/src/assets/jointjs/js/lodash/toIterator.js +23 -0
  1084. package/src/assets/jointjs/js/lodash/toJSON.js +1 -0
  1085. package/src/assets/jointjs/js/lodash/toLength.js +38 -0
  1086. package/src/assets/jointjs/js/lodash/toLower.js +28 -0
  1087. package/src/assets/jointjs/js/lodash/toNumber.js +66 -0
  1088. package/src/assets/jointjs/js/lodash/toPairs.js +30 -0
  1089. package/src/assets/jointjs/js/lodash/toPairsIn.js +30 -0
  1090. package/src/assets/jointjs/js/lodash/toPath.js +33 -0
  1091. package/src/assets/jointjs/js/lodash/toPlainObject.js +32 -0
  1092. package/src/assets/jointjs/js/lodash/toSafeInteger.js +37 -0
  1093. package/src/assets/jointjs/js/lodash/toString.js +28 -0
  1094. package/src/assets/jointjs/js/lodash/toUpper.js +28 -0
  1095. package/src/assets/jointjs/js/lodash/transform.js +65 -0
  1096. package/src/assets/jointjs/js/lodash/trim.js +49 -0
  1097. package/src/assets/jointjs/js/lodash/trimEnd.js +43 -0
  1098. package/src/assets/jointjs/js/lodash/trimStart.js +43 -0
  1099. package/src/assets/jointjs/js/lodash/truncate.js +111 -0
  1100. package/src/assets/jointjs/js/lodash/unary.js +22 -0
  1101. package/src/assets/jointjs/js/lodash/unescape.js +34 -0
  1102. package/src/assets/jointjs/js/lodash/union.js +26 -0
  1103. package/src/assets/jointjs/js/lodash/unionBy.js +39 -0
  1104. package/src/assets/jointjs/js/lodash/unionWith.js +34 -0
  1105. package/src/assets/jointjs/js/lodash/uniq.js +25 -0
  1106. package/src/assets/jointjs/js/lodash/uniqBy.js +31 -0
  1107. package/src/assets/jointjs/js/lodash/uniqWith.js +28 -0
  1108. package/src/assets/jointjs/js/lodash/uniqueId.js +28 -0
  1109. package/src/assets/jointjs/js/lodash/unset.js +34 -0
  1110. package/src/assets/jointjs/js/lodash/unzip.js +45 -0
  1111. package/src/assets/jointjs/js/lodash/unzipWith.js +39 -0
  1112. package/src/assets/jointjs/js/lodash/update.js +35 -0
  1113. package/src/assets/jointjs/js/lodash/updateWith.js +33 -0
  1114. package/src/assets/jointjs/js/lodash/upperCase.js +27 -0
  1115. package/src/assets/jointjs/js/lodash/upperFirst.js +22 -0
  1116. package/src/assets/jointjs/js/lodash/util.js +34 -0
  1117. package/src/assets/jointjs/js/lodash/value.js +1 -0
  1118. package/src/assets/jointjs/js/lodash/valueOf.js +1 -0
  1119. package/src/assets/jointjs/js/lodash/values.js +34 -0
  1120. package/src/assets/jointjs/js/lodash/valuesIn.js +32 -0
  1121. package/src/assets/jointjs/js/lodash/without.js +31 -0
  1122. package/src/assets/jointjs/js/lodash/words.js +35 -0
  1123. package/src/assets/jointjs/js/lodash/wrap.js +30 -0
  1124. package/src/assets/jointjs/js/lodash/wrapperAt.js +48 -0
  1125. package/src/assets/jointjs/js/lodash/wrapperChain.js +34 -0
  1126. package/src/assets/jointjs/js/lodash/wrapperLodash.js +147 -0
  1127. package/src/assets/jointjs/js/lodash/wrapperReverse.js +44 -0
  1128. package/src/assets/jointjs/js/lodash/wrapperValue.js +21 -0
  1129. package/src/assets/jointjs/js/lodash/xor.js +28 -0
  1130. package/src/assets/jointjs/js/lodash/xorBy.js +39 -0
  1131. package/src/assets/jointjs/js/lodash/xorWith.js +34 -0
  1132. package/src/assets/jointjs/js/lodash/zip.js +22 -0
  1133. package/src/assets/jointjs/js/lodash/zipObject.js +24 -0
  1134. package/src/assets/jointjs/js/lodash/zipObjectDeep.js +23 -0
  1135. package/src/assets/jointjs/js/lodash/zipWith.js +32 -0
  1136. package/src/assets/jointjs/js/rappid.js +65022 -0
  1137. package/src/assets/jointjs/scss/bpmn.scss +884 -0
  1138. package/src/assets/jointjs/scss/rappid.scss +8879 -0
  1139. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +2 -2
  1140. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
  1141. package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +7 -4
  1142. package/src/assets/qms-ckeditor-plugin/src/plugins/bpmn/qmsCKEditorBpmnPlugin.js +63 -0
  1143. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorConstant.js +9 -1
  1144. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorService.js +20 -0
  1145. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/converters.js +378 -0
  1146. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemap.js +14 -0
  1147. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapediting.js +183 -0
  1148. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapui.js +49 -0
  1149. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/insertimagemapcommand.js +127 -0
  1150. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/resizeimagemapcommand.js +82 -0
  1151. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/utils.js +234 -0
  1152. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkediting.js +1 -1
  1153. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkimage.js +1 -1
  1154. package/src/assets/qms-ckeditor-plugin/src/plugins/link/ui/linkactionsview.js +1 -1
  1155. package/src/assets/qms-ckeditor-plugin/src/plugins/link/ui/linkformview.js +1 -1
  1156. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/inserttooltipcommand.js +1 -1
  1157. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipediting.js +1 -1
  1158. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/ui/actionsview.js +1 -1
  1159. package/src/assets/qms-ckeditor-plugin/src/themes/icons/bpmn.svg +20 -0
  1160. package/src/assets/qms-ckeditor-plugin/src/themes/icons/imagemap.svg +56 -0
  1161. package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/anchor.css +0 -0
  1162. package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/link.css +0 -0
  1163. package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/linkactions.css +0 -0
  1164. package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/linkform.css +0 -0
  1165. package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/linkimage.css +0 -0
  1166. package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/tooltip.css +0 -0
  1167. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.scss +156 -0
  1168. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.scss +0 -0
  1169. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.scss +27 -0
  1170. package/src/lib/qms-ckeditor-components/styles/_modules.scss +19 -1
  1171. package/src/themes/_color.scss +8 -0
  1172. package/src/themes/core/_colors.scss +2 -0
  1173. package/src/themes/core/_side-sheet.scss +1 -0
  1174. package/src/themes/core/_tab.scss +50 -49
@@ -1 +1 @@
1
- {"version":3,"file":"qms-angular.umd.js","sources":["../../../projects/qms-angular/src/lib/qms-angular.service.ts","../../../projects/qms-angular/src/lib/model/en.ts","../../../projects/qms-angular/src/lib/model/no.ts","../../../projects/qms-angular/src/lib/services/translation-registry.service.ts","../../../projects/qms-angular/src/lib/qms-angular.component.ts","../../../projects/qms-angular/src/lib/components/comment/comment.ts","../../../projects/qms-angular/src/lib/components/dialog/dialog.ts","../../../projects/qms-angular/src/lib/components/suffix-field/suffix-field.directive.ts","../../../projects/qms-angular/src/lib/components/test-only/test-only.component.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-chip-list.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-field.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-select-dropdown.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-select-trigger.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-select-field.directive.ts","../../../projects/qms-angular/src/lib/directives/chips/chip-body.directive.ts","../../../projects/qms-angular/src/lib/directives/chips/chip.directive.ts","../../../projects/qms-angular/src/lib/directives/dropdown-menu/dropdown-item.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-attachment-list.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-display.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-multiple-display.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/qms-file-upload-attachment.model.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-multiple-selector.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-multiple.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-scrollable-attachment-list.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-selector.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload.directive.ts","../../../projects/qms-angular/src/lib/directives/form.directive.ts","../../../projects/qms-angular/src/lib/directives/margin.directive.ts","../../../projects/qms-angular/src/lib/directives/range-slider/range-slider-lockup.directive.ts","../../../projects/qms-angular/src/lib/directives/range-slider/range-slider.directive.ts","../../../projects/qms-angular/src/lib/directives/scroll-selected/scroll-to-selected.directive.ts","../../../projects/qms-angular/src/lib/directives/scrollbar/scrollbar.directive.ts","../../../projects/qms-angular/src/lib/directives/search-field.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer-content.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer-header-action.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer-header.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer.directive.ts","../../../projects/qms-angular/src/lib/directives/tab/tab-group-advanced.directive.ts","../../../projects/qms-angular/src/lib/directives/tab/tab-group.directive.ts","../../../projects/qms-angular/src/lib/directives/tab/tab-label.directive.ts","../../../projects/qms-angular/src/lib/directives/text-block/text-block-line.directive.ts","../../../projects/qms-angular/src/lib/directives/text-block/text-block.directive.ts","../../../projects/qms-angular/src/lib/directives/tooltip/tooltip-image.directive.ts","../../../projects/qms-angular/src/lib/components/tooltip/tooltip.ts","../../../projects/qms-angular/src/lib/directives/tooltip/tooltip-renderer.directive.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/qms-angular/src/lib/components/button/button-toggle.ts","../../../projects/qms-angular/src/lib/components/button/color.ts","../../../projects/qms-angular/src/lib/components/button/button.ts","../../../projects/qms-angular/src/lib/components/button/button.module.ts","../../../projects/qms-angular/src/lib/material-module.ts","../../../projects/qms-angular/src/lib/pipe/dateFormat.pipe.ts","../../../projects/qms-angular/src/lib/shared.module.ts","../../../projects/qms-angular/src/lib/qms-angular.module.ts","../../../projects/qms-angular/src/lib/components/list/list.ts","../../../projects/qms-angular/src/lib/components/list/list.module.ts","../../../projects/qms-angular/src/lib/components/rich-text/rich-text.ts","../../../projects/qms-angular/src/lib/components/rich-text/rich-text.module.ts","../../../projects/qms-angular/src/lib/components/edit-file-name-dialog/edit-file-name-dialog.ts","../../../projects/qms-angular/src/lib/components/edit-file-name-dialog/edit-file-name-dialog.module.ts","../../../projects/qms-angular/src/lib/components/upload-file-error-dialog/upload-file-error-dialog.ts","../../../projects/qms-angular/src/lib/components/upload-file-error-dialog/upload-file-error-dialog.module.ts","../../../projects/qms-angular/src/lib/components/related/common/qms-icon.const.ts","../../../projects/qms-angular/src/lib/components/app-icon/icon-registry.service.ts","../../../projects/qms-angular/src/lib/components/app-icon/app-icon.module.ts","../../../projects/qms-angular/src/lib/common/qms-icon.const.ts","../../../projects/qms-angular/src/lib/components/related/common/item-icon-type.enum.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb-item.directive.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/enum/dropdown-node-width.enum.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb-direction-icon.directive.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../projects/qms-angular/src/lib/components/related/common/data-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/content/related-content.component.ts","../../../projects/qms-angular/src/lib/components/related/common/document-folder-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/list-other-related/list-related.component.ts","../../../projects/qms-angular/src/lib/components/related/common/module-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/common/related.const.ts","../../../projects/qms-angular/src/lib/components/related/model/popup-data.model.ts","../../../projects/qms-angular/src/lib/components/related/model/related-data.model.ts","../../../projects/qms-angular/src/lib/components/related/service/related-global.service.ts","../../../projects/qms-angular/src/lib/components/related/model/tree-node.model.ts","../../../projects/qms-angular/src/lib/components/related/common/tree.function.ts","../../../projects/qms-angular/src/lib/components/related/tree/tree.component.ts","../../../projects/qms-angular/src/lib/components/related/popup/related-popup.component.ts","../../../projects/qms-angular/src/lib/components/related/model/risk-analysis.model.ts","../../../projects/qms-angular/src/lib/components/related/risk/analysis/analysis.component.ts","../../../projects/qms-angular/src/lib/components/related/common/action-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/risk/list/list.component.ts","../../../projects/qms-angular/src/lib/components/related/common/color.enum.ts","../../../projects/qms-angular/src/lib/components/related/model/risk-result.model.ts","../../../projects/qms-angular/src/lib/components/related/risk/result/result.component.ts","../../../projects/qms-angular/src/lib/components/related/model/sidenav.model.ts","../../../projects/qms-angular/src/lib/components/related/sidenav/sidenav.component.ts","../../../projects/qms-angular/src/lib/components/related/related.module.ts","../../../projects/qms-angular/src/lib/components/related/model/tree.model.ts","../../../projects/qms-angular/src/lib/components/related/model/tree-config.model.ts","../../../projects/qms-angular/src/lib/components/related/model/risk-danger.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/qms-ckeditor-base.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-dialog.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/module/tree/qms-ckeditor-tree.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-global.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-base.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-link.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-parameter.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/module.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/link-anchor.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/link-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/protocol-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/target-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-relation.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-url.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/document-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-tree-node.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/functions/tree.function.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-injector.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/toast/qms-ckeditor-toast.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/models/qms-ckeditor-template.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckedtior-template.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/classes/uploadAdapter.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/functions/common.function.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/models/qms-ckeditor-tooltip.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/qms-ckeditor.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/qms-ckeditor.module.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-link-anchor-document.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-link-attachment.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-tree.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-plugin.model.ts","../../../projects/qms-angular/src/lib/components/qms-app-bar/qms-app-bar.component.ts","../../../projects/qms-angular/src/lib/components/qms-app-bar/qms-app-bar.module.ts","../../../projects/qms-angular/src/lib/components/qms-app-bar/qms-app-bar.model.ts","../../../projects/qms-angular/src/lib/components/dialog/constant.ts","../../../projects/qms-angular/src/lib/components/tooltip/tooltip.module.ts","../../../projects/qms-angular/src/lib/components/banner/models/qms-banner.model.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner/qms-banner.component.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner/qms-banner.module.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-loading/qms-banner-loading.component.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-loading/qms-banner-loading.module.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-confirm/qms-banner-confirm.component.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-confirm/qms-banner-confirm.module.ts","../../../projects/qms-angular/src/lib/components/table/table-action.ts","../../../projects/qms-angular/src/lib/components/table/table.module.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/model/breadcrumb-node.model.ts","../../../projects/qms-angular/src/lib/components/qms-stepper/qms-stepper.model.ts","../../../projects/qms-angular/src/lib/components/qms-stepper/qms-stepper.component.ts","../../../projects/qms-angular/src/lib/components/qms-stepper/qms-stepper.module.ts","../../../projects/qms-angular/src/lib/components/snackbar/snackbar.ts","../../../projects/qms-angular/src/public-api.ts","../../../projects/qms-angular/src/qms-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QmsAngularService {\r\n\r\n constructor() { }\r\n}\r\n","export const en = {\r\n \"MY_COMPONENT\": \"My component\",\r\n \"SAVE_BUTTON\": \"Save\",\r\n \"CANCEL_BUTTON\": \"Cancel\",\r\n \"DELETE_MESSAGE_COMMENT\": \"This message has been deleted.\",\r\n \"REGRET\": \"Regret\",\r\n \"EDIT\": \"Edit\",\r\n \"DELETE\": \"Delete\",\r\n \"SAVE\": \"Save\",\r\n \"CANCEL\": \"Cancel\",\r\n \"EDIT_FILE_NAME\": \"Edit file name\",\r\n \"FILE_NAME\": \"File name\",\r\n \"UPLOAD_LEAVE_WARNING\": \"Files you're uploading may not be saved.\",\r\n \"SOME_FILES_WERE_NOT_ADDED\": \"Some files were not added\",\r\n \"YOU_CAN_ONLY_ADD\": \"You can only upload\",\r\n \"SELECT\": \"Select\",\r\n \"PROCESSES\": \"Processes\",\r\n \"DOCUMENTS\": \"Documents\",\r\n \"DEVIATION\": \"Categories\",\r\n \"CHECKLIST\": \"Checklists\",\r\n \"ASSESSMENT\": \"Assessments\",\r\n \"ADD\": \"Add\",\r\n \"SEARCH\": \"Search\",\r\n \"REGULAR_TITLE\": \"What do you want to include in the risk assessment(s)?\",\r\n \"CAPTION_TITLE\": \"In causal assessments, all causes related to the event are automatically added.\",\r\n \"CAUSAL_ANALYZES\": \"Selected Assessments\",\r\n \"FINISHED\": \"Finished\",\r\n \"PROCESS_ID\": \"Process ID\",\r\n \"DOCUMENT_ID\": \"Document ID\",\r\n \"PROCESS_AREA\": \"Process area\",\r\n \"FOLDER\": \"Folder\",\r\n \"DEVIATION_TYPE\": \"Deviation type\",\r\n \"CHECKLIST_CATEGORY\": \"Categories\",\r\n \"EVENT\": \"Event\",\r\n \"AREA_OF_IMPACT\": \"Consequence Area\",\r\n \"RESULT\": \"Result\",\r\n \"NOT_ACCEPTED\": \"Not accepted\",\r\n \"MUST_BE_EVALUATED\": \"Must be evaluated\",\r\n \"ACCEPTED\": \"Accepted\",\r\n \"ARCHIVED\": \"Archived\",\r\n \"CAUSE\": \"Cause\",\r\n \"ERROR\": {\r\n \"SELECT_DANGER\": \"You must select one or more events\"\r\n },\r\n \"MESSAGE\": {\r\n \"PROCESSES_IN\": \"Processes in\",\r\n \"DOCUMENTS_IN\": \"Documents in\"\r\n }\r\n ,\r\n \"QMSCKEDITOR\": {\r\n \"INSERT_TOOLTIP\": \"Insert a tooltip\",\r\n \"CONTENT\": \"Content\",\r\n \"TEMPLATE\": \"Template\",\r\n \"CONTENT_TEMPLATE\": \"Content Template\",\r\n \"CREATE_NEW_TEMPLATE\": \"Create new tempplate\",\r\n \"UPDATE_TEMPLATE\": \"Update tempplate\",\r\n \"TITLE\": \"Title\",\r\n \"DESCRIPTION\": \"Description\",\r\n \"SAVE\": \"Save\",\r\n \"CHOOSE_TEMPLATE\": \"Please select the template to open in the editor\",\r\n \"REPLACE_CONTENT\": \"Replace actual contents\",\r\n \"SAVED\": \"Saved\",\r\n \"SAVE_FAILED\": \"Save failed\",\r\n \"DELETE\": \"Delete\",\r\n \"DELETED\": \"Deleted\",\r\n \"DELETE_FAILED\": \"Delete failed\",\r\n \"DELETE_TEMPLATE\": \"Delete template\",\r\n \"CHANGE_TEMPLATE\": \"Change template\",\r\n \"CANCEL\": \"Cancel\",\r\n \"LINK\": \"Link\",\r\n \"LINK_TYPE\": \"Link type\",\r\n \"LINK_URL\": \"URL\",\r\n \"LINK_ANCHOR_IN_TEXT\": \"Link to anchor in the text\",\r\n \"LINK_EMAIL\": \"Email\",\r\n \"LINK_ANCHOR_DOCUMENT\": \"Anchor in other document\",\r\n \"TARGET\": \"Target\",\r\n \"TARTGET_NEW\": \"New Window (_blank)\",\r\n \"TARGET_TOPMOST\": \"Topmost Window (_top)\",\r\n \"TARGET_SAME\": \"Same Window (_self)\",\r\n \"TARGET_PARENT\": \"Parent Window (_parent)\",\r\n \"PROTOCOL\": \"Protocol\",\r\n \"PROTOCOL_HTTP\": \"http://\",\r\n \"PROTOCOL_HTTPS\": \"https://\",\r\n \"PROTOCOL_FTP\": \"ftp://\",\r\n \"PROTOCOL_NEW\": \"news://\",\r\n \"PROTOCOL_OTHER\": \"<other>\",\r\n \"ADVISORY_TITLE\": \"Advisory Title\",\r\n \"HANDBOOK\": \"eHandbook\",\r\n \"ATTACHMENT\": \"Attachment\",\r\n \"OK\": \"Ok\",\r\n \"URL_HEADER\": \"URL information\",\r\n \"ANCHOR_TEXT_HEADER\": \"Select an Anchor\",\r\n \"ANCHOR_BY_NAME\": \"Anchor by name\",\r\n \"EMAIL_HEADER\": \"Email information\",\r\n \"EMAIL_ADDRESS\": \"Address\",\r\n \"EMAIL_SUBJECT\": \"Subject\",\r\n \"EMAIL_BODY\": \"Body\",\r\n \"ANCHOR_ATTACHMENT\": \"Attachments\",\r\n \"ANCHOR_RELATED_DOCUMENT\": \"Related document\",\r\n \"ADD_DOCUMENT_PROCESS\": \"Add document/ process\",\r\n \"ADD_DOCUMENT\": \"Add document\",\r\n \"ADD\": \"Add\",\r\n \"PROCESSES\": \"Processes\",\r\n \"DOCUMENTS\": \"Documents\",\r\n \"UPDATE\": \"Update\",\r\n \"DOCUMENT\": \"Document\",\r\n \"CONFIRM\": \"Confirm\",\r\n \"SEARCH\": \"Search\",\r\n },\r\n \"QMSCKEDITOR_MESSAGE\": {\r\n \"CONFIRM_DELETE_TEMPLATE\": \"Are you sure you want to delete this template?\",\r\n \"CONFIRM_CHANGE_TEMPLATE\": \"Are you sure you want to apply this template to the editor?\"\r\n }\r\n}\r\n","export const no = {\r\n \"MY_COMPONENT\": \"Min komponent\",\r\n \"SAVE_BUTTON\": \"Lagre\",\r\n \"CANCEL_BUTTON\": \"Avbryt\",\r\n \"DELETE_MESSAGE_COMMENT\": \"Denne meldingen er slettet.\",\r\n \"REGRET\": \"Angre\",\r\n \"EDIT\": \"Rediger\",\r\n \"DELETE\": \"Slett\",\r\n \"SAVE\": \"Lagre\",\r\n \"CANCEL\": \"Avbryt\",\r\n \"EDIT_FILE_NAME\": \"Rediger filnavn\",\r\n \"FILE_NAME\": \"Filnavn\",\r\n \"UPLOAD_LEAVE_WARNING\": \"Filene du laster opp vil kanskje ikke bli lagret\",\r\n \"SOME_FILES_WERE_NOT_ADDED\": \"Noen filer ble ikke lagt til\",\r\n \"YOU_CAN_ONLY_ADD\": \"Du kan kun laste opp\",\r\n \"SELECT\": \"Velg\",\r\n \"PROCESSES\": \"Prosesser\",\r\n \"DOCUMENTS\": \"Dokumenter\",\r\n \"DEVIATION\": \"Kategorier\",\r\n \"CHECKLIST\": \"Sjekklister\",\r\n \"ASSESSMENT\": \"Analyser\",\r\n \"ADD\": \"Legg til\",\r\n \"SEARCH\": \"Søk\",\r\n \"REGULAR_TITLE\": \"Hva ønsker du å inkludere av hendeler i risikoanalysen(e)?\",\r\n \"CAPTION_TITLE\": \"I årsaksanalyser blir automatisk alle årsaker knyttet til hendelsen lagt til.\",\r\n \"CAUSAL_ANALYZES\": \"Valgte Analyser\",\r\n \"FINISHED\": \"Ferdig\",\r\n \"PROCESS_ID\": \"Prosess ID\",\r\n \"DOCUMENT_ID\": \"Dokument ID\",\r\n \"PROCESS_AREA\": \"Prosessområder\",\r\n \"FOLDER\": \"Mappe\",\r\n \"DEVIATION_TYPE\": \"Sakstype\",\r\n \"CHECKLIST_CATEGORY\": \"Kategorier\",\r\n \"EVENT\": \"Hendelse\",\r\n \"AREA_OF_IMPACT\": \"Konsekvensområde\",\r\n \"RESULT\": \"Resultat\",\r\n \"NOT_ACCEPTED\": \"Ikke akseptert\",\r\n \"MUST_BE_EVALUATED\": \"Må vurderes\",\r\n \"ACCEPTED\": \"Akseptert\",\r\n \"ARCHIVED\": \"Arkivert\",\r\n \"CAUSE\": \"Årsak\",\r\n \"ERROR\": {\r\n \"SELECT_DANGER\": \"Du må velge en eller flere hendelser\"\r\n },\r\n \"MESSAGE\": {\r\n \"PROCESSES_IN\": \"Prosesser i\",\r\n \"DOCUMENTS_IN\": \"Dokumenter i\"\r\n },\r\n \"QMSCKEDITOR\": {\r\n \"INSERT_TOOLTIP\": \"Sett inn et verktøytips\",\r\n \"CONTENT\": \"Innhold\",\r\n \"TEMPLATE\": \"Mal\",\r\n \"CONTENT_TEMPLATE\": \"Innholdsmal\",\r\n \"CREATE_NEW_TEMPLATE\": \"Lag ny mal\",\r\n \"UPDATE_TEMPLATE\": \"Oppdater mal\",\r\n \"TITLE\": \"Tittel\",\r\n \"DESCRIPTION\": \"Beskrivelse\",\r\n \"SAVE\": \"Lagre\",\r\n \"CHOOSE_TEMPLATE\": \"Velg malen du vil åpne i redigeringsprogrammet\",\r\n \"REPLACE_CONTENT\": \"Bytt ut faktisk innhold\",\r\n \"SAVED\": \"Lagret\",\r\n \"SAVE_FAILED\": \"Lagringen mislyktes\",\r\n \"DELETE\": \"Slett\",\r\n \"DELETED\": \"Slettet\",\r\n \"DELETE_FAILED\": \"Sletting mislyktes\",\r\n \"DELETE_TEMPLATE\": \"Slett mal\",\r\n \"CHANGE_TEMPLATE\": \"Endre mal\",\r\n \"CANCEL\": \"Avbryt\",\r\n \"LINK\": \"Link\",\r\n \"LINK_TYPE\": \"Koblingstype\",\r\n \"LINK_URL\": \"URL\",\r\n \"LINK_ANCHOR_IN_TEXT\": \"Lenke til anker i teksten\",\r\n \"LINK_EMAIL\": \"E-post\",\r\n \"LINK_ANCHOR_DOCUMENT\": \"Anker i annet dokument\",\r\n \"TARGET\": \"Target\",\r\n \"TARTGET_NEW\": \"Nytt vindu (_blank)\",\r\n \"TARGET_TOPMOST\": \"Det øverste vinduet (_top)\",\r\n \"TARGET_SAME\": \"Samme vindu (selv)\",\r\n \"TARGET_PARENT\": \"Overordnet vindu (_parent)\",\r\n \"PROTOCOL\": \"Protocol\",\r\n \"PROTOCOL_HTTP\": \"http: //\",\r\n \"PROTOCOL_HTTPS\": \"https: //\",\r\n \"PROTOCOL_FTP\": \"ftp: //\",\r\n \"PROTOCOL_NEW\": \"nyheter: //\",\r\n \"PROTOCOL_OTHER\": \"<other>\",\r\n \"ADVISORY_TITLE\": \"Rådgivende tittel\",\r\n \"HANDBOOK\": \"eHandbook\",\r\n \"ATTACHMENT\": \"Attachment\",\r\n \"OK\": \"OK\",\r\n \"URL_HEADER\": \"URL-informasjon\",\r\n \"ANCHOR_TEXT_HEADER\": \"Velg et anker\",\r\n \"ANCHOR_BY_NAME\": \"Anker ved navn\",\r\n \"EMAIL_HEADER\": \"E-postinformasjon\",\r\n \"EMAIL_ADDRESS\": \"Adresse\",\r\n \"EMAIL_SUBJECT\": \"Emne\",\r\n \"EMAIL_BODY\": \"Kropp\",\r\n \"ANCHOR_ATTACHMENT\": \"Vedlegg\",\r\n \"ANCHOR_RELATED_DOCUMENT\": \"Beslektet dokument\",\r\n \"ADD_DOCUMENT_PROCESS\": \"Legg til dokument / prosess\",\r\n \"ADD_DOCUMENT\": \"Legg til dokument\",\r\n \"ADD\": \"Legg til\",\r\n \"PROSESSER\": \"Prosesser\",\r\n \"DOCUMENTS\": \"Dokumenter\",\r\n \"UPDATE\": \"Oppdater\",\r\n \"DOCUMENT\": \"Dokument\",\r\n \"CONFIRM\": \"Bekreft\",\r\n \"SEARCH\": \"Søk\",\r\n },\r\n \"QMSCKEDITOR_MESSAGE\": {\r\n \"CONFIRM_DELETE_TEMPLATE\": \"Er du sikker på at du vil slette denne malen?\",\r\n \"CONFIRM_CHANGE_TEMPLATE\": \"Er du sikker på at du vil bruke denne malen på redaktøren?\"\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { en } from '../model/en';\r\nimport { no } from '../model/no';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TranslateLibraryService {\r\n\r\n getLanguageSubject$ = new BehaviorSubject<any>(null);\r\n private availableLanguages = { en, no };\r\n\r\n constructor() { }\r\n\r\n setLanguage(item: any) {\r\n this.getLanguageSubject$.next(item);\r\n }\r\n\r\n getObjectLang(lang) {\r\n let language = lang && lang.toLowerCase() || 'en';\r\n if (language !== 'en' && language !== 'no') {\r\n language = 'en';\r\n }\r\n return this.availableLanguages[language];\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateLibraryService } from './services/translation-registry.service';\r\n\r\n@Component({\r\n selector: 'lib-qms-angular',\r\n templateUrl: 'qms-angular.component.html',\r\n styles: []\r\n})\r\nexport class QmsAngularComponent implements OnInit {\r\n\r\n LANG: any;\r\n\r\n constructor(public trans: TranslateLibraryService) { }\r\n\r\n ngOnInit() {\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","// Import the core angular services.\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from \"@angular/core\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\n\r\nexport interface Logs {\r\n user: string,\r\n date: any,\r\n isDraft: boolean,\r\n isEdit: boolean,\r\n content: string,\r\n editedContent: string\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-comment',\r\n templateUrl: 'comment.html',\r\n styleUrls: ['comment.scss'],\r\n host: { 'class': 'qms-comment' },\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSComment implements OnInit, OnChanges {\r\n @Input() sourceLog: Logs[];\r\n @Output() updateLog = new EventEmitter();\r\n\r\n LANG: any;\r\n\r\n constructor(public trans: TranslateLibraryService) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n for (const propName in changes) {\r\n const changedProp = changes[propName];\r\n const to = JSON.stringify(changedProp.currentValue);\r\n if (changedProp.isFirstChange()) {\r\n console.log('Initial value of');\r\n } else {\r\n const from = JSON.stringify(changedProp.previousValue);\r\n console.log('changed from');\r\n }\r\n }\r\n console.log('value changed', changes.sourceLog.currentValue);\r\n // this.sourceLog = changes.sourceLog.currentValue;\r\n }\r\n\r\n ngOnInit() {\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n console.log(this.LANG);\r\n\r\n }\r\n });\r\n }\r\n\r\n showContent(content) {\r\n return content.replace(/(?:\\r\\n|\\r|\\n)/g, '<br>');\r\n }\r\n\r\n editContent(item) {\r\n item.editedContent = item.content;\r\n item.isEdit = true;\r\n }\r\n\r\n saveEditedContent(item) {\r\n item.content = item.editedContent;\r\n item.isEdit = false;\r\n this.updateLog.emit(item);\r\n }\r\n\r\n removeItem(item) {\r\n item.isDelete = true;\r\n this.updateLog.emit(item);\r\n }\r\n}\r\n","import { AfterViewInit, Component, ElementRef, HostListener, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ConfirmDialog } from './constant';\r\n\r\n@Component({\r\n selector: 'qms-dialog-confirm',\r\n templateUrl: 'dialog-confirm.html',\r\n styleUrls: ['dialog.scss']\r\n})\r\nexport class QMSConfirmDialog implements OnInit, AfterViewInit {\r\n info: ConfirmDialog;\r\n\r\n @ViewChild('actionGroup') actionGroup: ElementRef;\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.orderActionButton();\r\n }\r\n\r\n constructor(private fb: FormBuilder,\r\n private _elRef: ElementRef,\r\n private dialogRef: MatDialogRef<QMSConfirmDialog>,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n\r\n this.info = { ...data };\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.orderActionButton();\r\n }\r\n\r\n orderActionButton() {\r\n const divHeight = this.actionGroup.nativeElement.offsetHeight;\r\n document.getElementById('action-btn').style.order = divHeight > 68 ? '1' : '2';\r\n }\r\n\r\n save() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-dialog-form',\r\n templateUrl: 'dialog-form.html',\r\n styleUrls: ['dialog.scss']\r\n})\r\nexport class QMSFormDialog implements OnInit {\r\n ngOnInit() {\r\n\r\n }\r\n}\r\n\r\n","import { AfterViewChecked, AfterViewInit, ContentChild, Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-suffix]',\r\n})\r\nexport class QMSSuffixDirective {\r\n constructor(private el: ElementRef) {\r\n el.nativeElement.classList.add('qms-suffix');\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'mat-form-field[qms-suffix-field]',\r\n})\r\nexport class QMSSuffixFieldDirective implements AfterViewChecked {\r\n @ContentChild(QMSSuffixDirective, {static: false}) qmsSuffix: QMSSuffixDirective;\r\n\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngAfterViewChecked(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-suffix-field');\r\n }\r\n }\r\n\r\n removeFocus = () => {\r\n this.ele.nativeElement.classList.remove('mat-focused');\r\n }\r\n}\r\n\r\n\r\n","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'qms-test-only',\r\n styleUrls: ['./test-only.component.scss'],\r\n templateUrl: './test-only.component.html'\r\n})\r\nexport class TestOnlyComponent {\r\n @Input() text: string = \"\";\r\n}","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-input-chip-list]',\r\n})\r\nexport class QMSChipInputChipListDirective implements OnInit {\r\n @Input() maxRows: number;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-input-chip-list');\r\n if(this.maxRows && this.maxRows > 0){\r\n this.ele.nativeElement.classList.add(`qms-chip-input-max-${this.maxRows}`)\r\n }\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input]',\r\n})\r\nexport class QMSChipInputDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input-dropdown]',\r\n})\r\nexport class QMSChipInputSelectDropWDownDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input-dropdown');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, OnInit } from \"@angular/core\";\r\nimport { MatAutocompleteTrigger } from \"@angular/material/autocomplete\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input-select-trigger]',\r\n})\r\nexport class QMSChipInputSelectTriggerDirective implements OnInit {\r\n public eleSelect: ElementRef;\r\n public autocomplete: MatAutocompleteTrigger;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input');\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event.target'])\r\n click(){\r\n if(this.autocomplete){\r\n if(!this.autocomplete.panelOpen)\r\n this.autocomplete.openPanel();\r\n else\r\n this.autocomplete.closePanel();\r\n }\r\n \r\n }\r\n}\r\n","import { AfterViewInit, ContentChild, Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\nimport { MatAutocompleteTrigger } from \"@angular/material/autocomplete\";\r\nimport { QMSChipInputSelectTriggerDirective } from \"./chip-input-select-trigger.directive\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input-select]',\r\n})\r\nexport class QMSChipInputSelectFieldDirective implements OnInit, AfterViewInit {\r\n @ContentChild(QMSChipInputSelectTriggerDirective, {static: false}) selectTrigger: QMSChipInputSelectTriggerDirective;\r\n @ContentChild(MatAutocompleteTrigger) autocomplete: MatAutocompleteTrigger;\r\n\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngAfterViewInit(): void {\r\n if(this.selectTrigger){\r\n this.selectTrigger.autocomplete = this.autocomplete;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input-select');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-chip-body]',\r\n})\r\nexport class QMSChipBodyDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-body');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'mat-chip[qms-chip]',\r\n})\r\nexport class QMSInputChipDirective implements OnInit, OnChanges {\r\n\r\n @Input() selected: boolean;\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.selected) {\r\n this.ele.nativeElement.classList.add('qms-chip-selected');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-chip-selected');\r\n }\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip');\r\n if (this.selected) {\r\n this.ele.nativeElement.classList.add('qms-chip-selected');\r\n }\r\n }\r\n }\r\n}\r\n","import { AfterViewInit, ContentChild, Directive, ElementRef, HostListener, Input, OnChanges, OnInit, SimpleChanges } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-menu-item]',\r\n})\r\nexport class QMSDropdownMenuItem implements OnInit, AfterViewInit, OnChanges{\r\n @ContentChild(\"menuItemContent\", {static: false}) menuItemContent: ElementRef;\r\n @Input() selected: boolean;\r\n \r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.selected){\r\n this.ele.nativeElement.classList.add('qms-dropdown-menu-item-selected');\r\n }\r\n else{\r\n this.ele.nativeElement.classList.remove('qms-dropdown-menu-item-selected');\r\n }\r\n }\r\n \r\n ngAfterViewInit(): void {\r\n if(this.menuItemContent){\r\n if(this.menuItemContent.nativeElement){\r\n this.menuItemContent.nativeElement.classList.add('qms-dropdown-menu-item__content')\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-dropdown-menu-item');\r\n if(this.selected){\r\n this.ele.nativeElement.classList.add('qms-dropdown-menu-item-selected');\r\n }\r\n }\r\n }\r\n}","import { AfterContentChecked, ContentChild, Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-attachment-list]',\r\n})\r\n\r\nexport class QMSAttachmentListDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-attachment-list');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input, OnChanges, OnInit, Optional } from \"@angular/core\";\r\nimport { NgControl } from \"@angular/forms\";\r\nimport { QMSFileAttachment } from \"./qms-file-upload-attachment.model\";\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-display]',\r\n})\r\nexport class QMSFileUploadDisplayDirective implements OnInit, OnChanges{\r\n public eleInput: ElementRef;\r\n public removeInvalid: () => void;\r\n public addInvalid: () => void;\r\n @Input() value;\r\n constructor(public ele: ElementRef, \r\n @Optional() private control: NgControl) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n ngOnChanges(): void {\r\n if(this.control){\r\n this.control.control.setValue(this.value? this.value : '');\r\n this.control.control.updateValueAndValidity();\r\n if(this.control.control.valid && this.removeInvalid){\r\n this.removeInvalid();\r\n }\r\n if(this.control.control.invalid && this.addInvalid){\r\n this.addInvalid();\r\n }\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event.target'])\r\n Click() {\r\n this.eleInput.nativeElement.click();\r\n }\r\n}","import { Directive, ElementRef, HostListener, Input, OnChanges, OnInit, Optional } from \"@angular/core\";\r\nimport { NgControl } from \"@angular/forms\";\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-multiple-display]',\r\n})\r\nexport class QMSFileUploadMultipleDisplayDirective implements OnInit{\r\n public eleInput: ElementRef;\r\n @Input() acceptExtension: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n \r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event.target'])\r\n Click() {\r\n this.eleInput.nativeElement.click();\r\n }\r\n}","\r\nexport enum FileErrorType{\r\n noError,\r\n notSupportedExtension,\r\n exceedMaxSize,\r\n}\r\nexport class QMSFileAttachment {\r\n file: File;\r\n fileName: string;\r\n fileContent: string;\r\n fileContentBase64: string;\r\n extension: string;\r\n isSuccessful: boolean;\r\n typeError: FileErrorType;\r\n progress: number;\r\n}","import { Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { QMSUploadFileErrorDialog } from \"../../components/upload-file-error-dialog/upload-file-error-dialog\";\r\nimport { FileErrorType, QMSFileAttachment } from \"./qms-file-upload-attachment.model\";\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-multiple-selector]',\r\n})\r\n\r\nexport class QMSFileUploadMultipleSelectorDirective implements OnInit, OnChanges {\r\n @Input() filesForInput: QMSFileAttachment[];\r\n @Output() filesForInputChange = new EventEmitter();\r\n @Input() acceptExtensions: string[];\r\n @Output('onFileUploaded') onFileUploaded: EventEmitter<any> = new EventEmitter();\r\n @Input() maxSize: number;\r\n invokeMyFunc(){\r\n if(this.onFileUploaded)\r\n this.onFileUploaded.emit();\r\n }\r\n\r\n constructor(public ele: ElementRef, public dialog: MatDialog) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(!this.filesForInput || this.filesForInput.length === 0){\r\n this.ele.nativeElement.value = '';\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n @HostListener('change', ['$event']) OnChanges(event) {\r\n if(event.target && event.target.files){\r\n const listFiles: FileList = event.target.files;\r\n let listAttachments : QMSFileAttachment[] = [];\r\n for (let i = 0; i < listFiles.length; i++) {\r\n const file = event.target.files[i];\r\n let attachment = new QMSFileAttachment();\r\n attachment.fileName = file.name;\r\n attachment.extension = file.name.split('.').pop();\r\n attachment.file = file; \r\n attachment.isSuccessful = true;\r\n attachment.typeError = FileErrorType.noError;\r\n if(this.acceptExtensions){\r\n const check = this.acceptExtensions.filter(type => type.toLowerCase() === attachment.extension.toLowerCase())\r\n if(check.length === 0){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.notSupportedExtension;\r\n }\r\n }\r\n if(this.maxSize && file.size > this.maxSize){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.exceedMaxSize;\r\n }\r\n listAttachments.push(attachment);\r\n }\r\n this.filesForInputChange.emit(listAttachments);\r\n this.invokeMyFunc();\r\n }\r\n }\r\n}","import { AfterViewInit, ContentChild, Directive, ElementRef,\r\n HostListener, Input, OnChanges, OnInit } from \"@angular/core\";\r\nimport { QMSFileUploadMultipleDisplayDirective } from \"./file-upload-multiple-display.directive\";\r\nimport { QMSFileUploadMultipleSelectorDirective } from \"./file-upload-multiple-selector.directive\";\r\nimport { ComponentCanDeactivate } from \"./file-upload.directive\";\r\n\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-multiple]',\r\n})\r\nexport class QMSFileUploadMultipleDirective implements OnInit, AfterViewInit, OnChanges {\r\n @Input() isLoading;\r\n @ContentChild(QMSFileUploadMultipleSelectorDirective, {static: false}) fileSelector: QMSFileUploadMultipleSelectorDirective;\r\n @ContentChild(QMSFileUploadMultipleDisplayDirective, {static: false}) fileDisplay: QMSFileUploadMultipleDisplayDirective;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-file-upload-loading');\r\n }\r\n \r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n }\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n if (this.fileSelector) {\r\n this.fileDisplay.eleInput = this.fileSelector.ele;\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-scrollable-attachment-list]',\r\n})\r\n\r\nexport class QMSScrolableAttachmentListDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-scrollable-attachment-list');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { FileErrorType, QMSFileAttachment } from \"./qms-file-upload-attachment.model\";\r\n\r\n\r\nexport function requiredFileType( types: string[] ) {\r\n return function (control: FormControl) {\r\n const fileName = control.value;\r\n if ( fileName ) {\r\n const extension = fileName.split('.').pop();\r\n const check = types.filter(type => type.toLowerCase() === extension.toLowerCase())\r\n if(check.length === 0){\r\n return {\r\n requiredFileType: true\r\n };\r\n }\r\n return null;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\nexport function notExceedSize( size: number ) {\r\n return function (control: FormControl) {\r\n const file = control.value;\r\n if ( file ) {\r\n \r\n if(file.size > size){\r\n return {\r\n notExceedSize: true\r\n };\r\n }\r\n return null;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-selector]',\r\n})\r\n\r\nexport class QMSFileUploadSelectorDirective implements OnInit, OnChanges {\r\n @Input() inputFile: any;\r\n @Output() inputFileChange = new EventEmitter();\r\n @Input() acceptExtensions: string[];\r\n @Output('onFileUploaded') onFileUploaded: EventEmitter<any> = new EventEmitter();\r\n @Input() maxSize: number;\r\n public isLoading: boolean;\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(!this.inputFile){\r\n this.ele.nativeElement.value = '';\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n invokeMyFunc(){\r\n if(this.onFileUploaded)\r\n this.onFileUploaded.emit();\r\n }\r\n\r\n @HostListener('change', ['$event']) OnChanges(event) {\r\n if(event.target && event.target.files[0]){\r\n const file = event.target.files[0];\r\n let attachment = new QMSFileAttachment();\r\n attachment.fileName = file.name;\r\n attachment.extension = file.name.split('.').pop();\r\n attachment.file = file;\r\n attachment.isSuccessful = true;\r\n attachment.typeError = FileErrorType.noError;\r\n if(this.acceptExtensions){\r\n const check = this.acceptExtensions.filter(type => type.toLowerCase() === attachment.extension.toLowerCase())\r\n if(check.length === 0){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.notSupportedExtension;\r\n }\r\n }\r\n if(this.maxSize && file.size > this.maxSize){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.exceedMaxSize;\r\n }\r\n this.inputFileChange.emit(attachment);\r\n this.invokeMyFunc();\r\n }\r\n }\r\n}","import { AfterContentChecked, AfterViewInit, ContentChild, Directive, ElementRef,\r\n EventEmitter,\r\n HostListener, Injectable, Input, OnChanges, OnInit, Output, Renderer2, SimpleChanges } from \"@angular/core\";\r\nimport { CanDeactivate } from \"@angular/router\";\r\nimport { Observable } from \"rxjs\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\nimport { QMSFileUploadDisplayDirective } from \"./file-upload-display.directive\";\r\nimport { QMSFileUploadSelectorDirective } from \"./file-upload-selector.directive\";\r\n\r\n\r\nexport interface ComponentCanDeactivate {\r\n canDeactivate: () => Observable<boolean> | Promise<boolean> | boolean;\r\n}\r\n \r\n@Injectable()\r\nexport class QMSUploadingFileGuard implements CanDeactivate<ComponentCanDeactivate> {\r\n constructor(){}\r\n canDeactivate(component: ComponentCanDeactivate) {\r\n // if there are no pending changes, just allow deactivation; else confirm first\r\n return component.canDeactivate? component.canDeactivate(): true;\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-file-upload]',\r\n})\r\nexport class QMSFileUploadDirective implements OnInit, AfterViewInit, OnChanges {\r\n @Input() isLoading;\r\n @ContentChild(QMSFileUploadSelectorDirective, {static: false}) fileSelector: QMSFileUploadSelectorDirective;\r\n @ContentChild(QMSFileUploadDisplayDirective, {static: false}) fileDisplay: QMSFileUploadDisplayDirective;\r\n\r\n constructor(private ele: ElementRef, private renderer: Renderer2) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-file-upload-loading');\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.fileSelector) {\r\n this.fileDisplay.eleInput = this.fileSelector.ele;\r\n this.fileDisplay.removeInvalid = this.removeInvalid;\r\n this.fileDisplay.addInvalid = this.addInvalid;\r\n this.fileSelector.isLoading = this.isLoading;\r\n }\r\n }\r\n\r\n removeInvalid = () => {\r\n this.ele.nativeElement.classList.remove('mat-form-field-invalid');\r\n }\r\n\r\n addInvalid = () => {\r\n this.ele.nativeElement.classList.add('mat-form-field-invalid');\r\n }\r\n}\r\n","import { AfterContentInit, Directive, ElementRef, Renderer2 } from \"@angular/core\";\r\n\r\n\r\n@Directive({\r\n selector: '[qms-form]',\r\n host: { 'class': 'qms-form' }\r\n})\r\nexport class QMSFormFieldDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-form-textarea]',\r\n host: { 'class': 'qms-form form-textarea' }\r\n})\r\nexport class QMSFormFieldTextareaDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-form-date]',\r\n host: { 'class': 'qms-form form-datepicker' }\r\n})\r\nexport class QMSFormFieldDatePickerDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n\r\n@Directive({\r\n selector: '[qms-group-options]',\r\n host: { 'class': 'qms-group-options' }\r\n})\r\nexport class QMSGroupOptionDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-group-options]',\r\n host: { 'class': 'qms-group-options' }\r\n})\r\n\r\nexport class AutocompleteOffDirective {\r\n constructor(private _el: ElementRef) {\r\n this._el.nativeElement.setAttribute('autocomplete', 'off');\r\n this._el.nativeElement.setAttribute('autocorrect', 'off');\r\n this._el.nativeElement.setAttribute('autocapitalize', 'none');\r\n this._el.nativeElement.setAttribute('spellcheck', 'false');\r\n }\r\n}","import { Directive, Input, ElementRef, OnInit, OnDestroy } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-margin]'\r\n})\r\n\r\nexport class MarginDirective implements OnInit {\r\n @Input() dim: string;\r\n @Input() value: string;\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dim ?\r\n this.el.nativeElement.style[`margin-${this.dim}`] = `${this.value}px` :\r\n this.value.includes('px')\r\n ? this.el.nativeElement.style[`margin`] = `${this.value}`\r\n : this.el.nativeElement.style[`margin`] = `${this.value}px`;\r\n }\r\n}","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'mat-slider[qms-range-slider-lockup]',\r\n})\r\nexport class QMSRangeSliderLockUpDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-range-slider-lockup');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'mat-slider[qms-range-slider]',\r\n})\r\nexport class QMSRangeSliderDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-range-slider');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input, OnInit, Renderer2 } from '@angular/core';\r\n@Directive({\r\n selector: '[scrollToSelected]'\r\n})\r\nexport class ScrollToSelectedDirective implements OnInit {\r\n @Input() scrollToClass: string;\r\n @HostListener('document:click', ['$event'])\r\n onClick(e) {\r\n const isStepElement = e.currentTarget.activeElement.classList.contains('mat-step-header');\r\n const isStepElementActive = e.currentTarget.activeElement.classList.contains('mat-primary');\r\n if (isStepElement && isStepElementActive) {\r\n this.rerenderView();\r\n }\r\n }\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {\r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n rerenderView() {\r\n if (this.el.nativeElement.classList.contains(this.scrollToClass)) {\r\n this.el.nativeElement.scrollIntoView(true, { behavior: 'smooth', block: 'start' });\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.rerenderView();\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-scrollbar]',\r\n})\r\nexport class QMSScrollbarDirective implements OnInit {\r\n @Input() isNoneBackground: boolean;\r\n\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-scrollbar');\r\n\r\n if (this.isNoneBackground) {\r\n this.ele.nativeElement.classList.add('none-scroll-bg');\r\n }\r\n }\r\n }\r\n}","import { AfterViewChecked, AfterViewInit, ContentChild, Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, \r\n OnDestroy,\r\n OnInit, Output, Renderer2, SimpleChanges, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[qms-input-clear]',\r\n})\r\nexport class QMSInputClearDirective {\r\n inputDemo;\r\n inputDemoChange;\r\n constructor(public el: ElementRef) {\r\n el.nativeElement.classList.add('qms-input-clear');\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'mat-form-field[qms-search-field]',\r\n})\r\nexport class QMSSearchFieldDirective implements OnInit, AfterViewInit, OnChanges {\r\n @Input() isLoading;\r\n constructor(private ele: ElementRef, private renderer: Renderer2) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-search-field-loading');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-search-field-loading');\r\n }\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-search-field');\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-search-field-loading');\r\n }\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer-content]',\r\n})\r\nexport class QMSDrawerContentDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer-content');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer-header-action]',\r\n})\r\nexport class QMSDrawerHeaderActionDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer-header__action');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer-header]',\r\n})\r\nexport class QMSDrawerHeaderDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer-header');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer]',\r\n})\r\nexport class QMSDrawerDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tab-group-advanced]',\r\n})\r\nexport class QMSTabGroupAdvancedDirective implements OnInit{\r\n @Input() color: string;\r\n @Input() type: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tab-group-advanced');\r\n if(this.color){\r\n this.ele.nativeElement.classList.add(this.color);\r\n }\r\n if(this.type==='fixed'){\r\n this.ele.nativeElement.classList.add('qms-tab-group-advanced-fixed');\r\n }\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tab-group]',\r\n})\r\nexport class QMSTabGroupDirective implements OnInit{\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tab-group');\r\n }\r\n \r\n }\r\n}","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tab-label]',\r\n})\r\nexport class QMSTabLabelDirective implements OnInit{\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tab-label');\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, Renderer2 } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-text-block-line]'\r\n})\r\nexport class QMSTextBlockLine {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n @Input('size') size: string;\r\n @Input('type') type: string;\r\n @Input('color') color: string;\r\n\r\n ngOnInit(): void {\r\n if (this.type === 'caption-semibold') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption-semibold');\r\n }\r\n else if (this.type == 'caption'){\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption');\r\n }\r\n else if (this.type === 'body') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `content size-${this.size ? this.size : 'none'}`);\r\n } else {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `qms-text-block-line size-${this.size ? this.size : 'none'}`);\r\n }\r\n\r\n if (this.color) {\r\n this.renderer.addClass(this.elRef.nativeElement, this.color);\r\n }\r\n\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-text-block]',\r\n})\r\nexport class QMSTextBlockDirective implements OnInit {\r\n\r\n @Input('appearance') appearance: string;\r\n @Input('mode') mode: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-text-block');\r\n if(this.appearance == 'fill'){\r\n this.ele.nativeElement.classList.add('qms-text-block-filled')\r\n }\r\n if(this.mode === 'dark'){\r\n this.ele.nativeElement.classList.add('qms-text-block-dark')\r\n }\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tooltip-image]',\r\n})\r\nexport class QMSTooltipImageDirective implements OnInit {\r\n @Input('type') type: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tooltip-image');\r\n if (this.type) { \r\n this.ele.nativeElement.classList.add(this.type);\r\n }\r\n }\r\n }\r\n}\r\n","import { AfterViewInit, Component, ContentChild, ElementRef, Input, OnInit, TemplateRef, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'qms-tooltip',\r\n templateUrl: './tooltip.html',\r\n styleUrls: ['./tooltip.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n })\r\nexport class QMSToolTipComponent implements OnInit, AfterViewInit {\r\n\r\n /**\r\n * This is simple text which is to be shown in the tooltip\r\n */\r\n @Input() text: string;\r\n @Input() mode: string;\r\n\r\n /**\r\n * This provides finer control on the content to be visible on the tooltip\r\n * This template will be injected in McToolTipRenderer directive in the consumer template\r\n * <ng-template #template>\r\n * content.....\r\n * </ng-template>\r\n */\r\n @Input() contentTemplate: TemplateRef<any>;\r\n @ViewChild('qmsTooltipContainer', {static: false}) qmsTooltipContainer: ElementRef;\r\n constructor(private ele: ElementRef) { }\r\n ngAfterViewInit(): void {\r\n if(this.mode == 'dark'){\r\n this.qmsTooltipContainer.nativeElement.classList.add('qms-tooltip-container-dark')\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n}","import { ConnectedPosition, ConnectionPositionPair, Overlay, OverlayPositionBuilder, OverlayRef } from \"@angular/cdk/overlay\";\r\nimport { ComponentPortal } from \"@angular/cdk/portal\";\r\nimport { ComponentRef, Directive, ElementRef, HostListener, Input, TemplateRef } from \"@angular/core\";\r\nimport { QMSToolTipComponent } from \"../../components/tooltip/tooltip\";\r\n\r\n@Directive({\r\n selector: '[qms-tool-tip]'\r\n})\r\nexport class QMSToolTipRendererDirective {\r\n\r\n /**\r\n * This will be used to show tooltip or not\r\n * This can be used to show the tooltip conditionally\r\n */\r\n @Input() showToolTip: boolean = true;\r\n @Input() mode: string;\r\n //If this is specified then specified text will be showin in the tooltip\r\n @Input(`qms-tool-tip`) text: string;\r\n\r\n //If this is specified then specified template will be rendered in the tooltip\r\n @Input() contentTemplate: TemplateRef<any>;\r\n @Input() position: string;\r\n private _overlayRef: OverlayRef;\r\n\r\n constructor(private _overlay: Overlay,\r\n private _overlayPositionBuilder: OverlayPositionBuilder,\r\n private _elementRef: ElementRef) { }\r\n\r\n /**\r\n * Init life cycle event handler\r\n */\r\n ngOnInit() {\r\n let positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: 5,\r\n }]);\r\n switch (this.position) {\r\n case 'left': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetY: 0,\r\n offsetX: -10,\r\n }]);\r\n break;\r\n }\r\n case 'right': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n offsetY: 0,\r\n offsetX: 10,\r\n }]);\r\n break;\r\n }\r\n case 'top': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n offsetY: -10,\r\n offsetX: 0,\r\n }]);\r\n break;\r\n }\r\n case 'bottom': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: 10,\r\n offsetX: 0\r\n }]);\r\n break;\r\n }\r\n }\r\n\r\n this._overlayRef = this._overlay.create({ positionStrategy });\r\n }\r\n\r\n /**\r\n * This method will be called whenever mouse enters in the Host element\r\n * i.e. where this directive is applied\r\n * This method will show the tooltip by instantiating the McToolTipComponent and attaching to the overlay\r\n */\r\n @HostListener('focus')\r\n @HostListener('mouseenter')\r\n show() {\r\n if (!this.showToolTip) {\r\n return;\r\n }\r\n //attach the component if it has not already attached to the overlay\r\n if ((this.text || this.contentTemplate) && this._overlayRef && !this._overlayRef.hasAttached()) {\r\n const tooltipRef: ComponentRef<QMSToolTipComponent>\r\n = this._overlayRef.attach(new ComponentPortal(QMSToolTipComponent));\r\n if(this.text)\r\n tooltipRef.instance.text = this.text;\r\n if (this.mode) {\r\n tooltipRef.instance.mode = this.mode;\r\n }\r\n tooltipRef.instance.contentTemplate = this.contentTemplate;\r\n }\r\n }\r\n\r\n /**\r\n * This method will be called when mouse goes out of the host element\r\n * i.e. where this directive is applied\r\n * This method will close the tooltip by detaching the overlay from the view\r\n */\r\n @HostListener('focusout')\r\n @HostListener('mouseleave')\r\n hide() {\r\n this.closeToolTip();\r\n }\r\n\r\n /**\r\n * Destroy lifecycle event handler\r\n * This method will make sure to close the tooltip\r\n * It will be needed in case when app is navigating to different page\r\n * and user is still seeing the tooltip; In that case we do not want to hang around the\r\n * tooltip after the page [on which tooltip visible] is destroyed\r\n */\r\n ngOnDestroy() {\r\n this.closeToolTip();\r\n }\r\n\r\n /**\r\n * This method will close the tooltip by detaching the component from the overlay\r\n */\r\n private closeToolTip() {\r\n if (this._overlayRef) {\r\n this._overlayRef.detach();\r\n }\r\n }\r\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport {\r\n AfterContentInit,\r\n Attribute,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n QueryList,\r\n ViewChild,\r\n ViewEncapsulation,\r\n InjectionToken,\r\n Inject,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n CanDisableRipple,\r\n mixinDisableRipple,\r\n} from '@angular/material/core';\r\n\r\n\r\n\r\nexport type ButtonToggleAppearance = 'standard' | 'active' | 'dark';\r\n\r\nexport interface ButtonToggleDefaultOptions {\r\n appearance?: ButtonToggleAppearance;\r\n}\r\n\r\n\r\nexport const BUTTON_TOGGLE_DEFAULT_OPTIONS =\r\n new InjectionToken<ButtonToggleDefaultOptions>('BUTTON_TOGGLE_DEFAULT_OPTIONS');\r\n\r\n\r\nexport const BUTTON_TOGGLE_GROUP =\r\n new InjectionToken<QMSButtonToggleGroup>('QMSButtonToggleGroup');\r\n\r\n\r\nexport const BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => QMSButtonToggleGroup),\r\n multi: true\r\n};\r\n\r\n\r\nlet uniqueIdCounter = 0;\r\n\r\n\r\nexport class ButtonToggleChange {\r\n constructor(\r\n public source: QMSButtonToggle,\r\n public value: any) { }\r\n}\r\n\r\n\r\n@Directive({\r\n selector: 'qms-button-toggle-group',\r\n providers: [\r\n BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,\r\n { provide: BUTTON_TOGGLE_GROUP, useExisting: QMSButtonToggleGroup },\r\n ],\r\n host: {\r\n 'role': 'group',\r\n 'class': 'qms-button-toggle-group',\r\n '[attr.aria-disabled]': 'disabled',\r\n '[class.qms-button-toggle-vertical]': 'vertical',\r\n '[class.qms-button-toggle-group-appearance-standard]': 'appearance === \"standard\"',\r\n '[class.qms-button-toggle-group-appearance-active]': 'appearance === \"active\"',\r\n '[class.qms-button-toggle-group-appearance-dark]': 'appearance === \"dark\"',\r\n },\r\n exportAs: 'qmsButtonToggleGroup',\r\n})\r\nexport class QMSButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\r\n private _vertical = false;\r\n private _disabled = false;\r\n private _selectionModel: SelectionModel<QMSButtonToggle>;\r\n\r\n private _rawValue: any;\r\n\r\n _controlValueAccessorChangeFn: (value: any) => void = () => { };\r\n\r\n _onTouched: () => any = () => { };\r\n\r\n @ContentChildren(forwardRef(() => QMSButtonToggle), {\r\n descendants: true\r\n }) _buttonToggles: QueryList<QMSButtonToggle>;\r\n\r\n\r\n @Input() appearance: ButtonToggleAppearance;\r\n\r\n @Input()\r\n get name(): string { return this._name; }\r\n set name(value: string) {\r\n this._name = value;\r\n\r\n if (this._buttonToggles) {\r\n this._buttonToggles.forEach(toggle => {\r\n toggle.name = this._name;\r\n toggle._markForCheck();\r\n });\r\n }\r\n }\r\n private _name = `qms-button-toggle-group-${uniqueIdCounter++}`;\r\n\r\n\r\n @Input()\r\n get vertical(): boolean { return this._vertical; }\r\n set vertical(value: boolean) {\r\n this._vertical = coerceBooleanProperty(value);\r\n }\r\n\r\n\r\n @Input()\r\n get value(): any {\r\n const selected = this._selectionModel ? this._selectionModel.selected : [];\r\n\r\n return selected[0] ? selected[0].value : undefined;\r\n }\r\n set value(newValue: any) {\r\n this._setSelectionByValue(newValue);\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n\r\n @Output() readonly valueChange = new EventEmitter<any>();\r\n\r\n\r\n get selected(): QMSButtonToggle | QMSButtonToggle[] {\r\n const selected = this._selectionModel ? this._selectionModel.selected : [];\r\n return (selected[0] || null);\r\n }\r\n\r\n\r\n @Input()\r\n get disabled(): boolean { return this._disabled; }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n\r\n if (this._buttonToggles) {\r\n this._buttonToggles.forEach(toggle => toggle._markForCheck());\r\n }\r\n }\r\n\r\n @Output() readonly change: EventEmitter<ButtonToggleChange> =\r\n new EventEmitter<ButtonToggleChange>();\r\n\r\n constructor(\r\n private _changeDetector: ChangeDetectorRef,\r\n @Optional() @Inject(BUTTON_TOGGLE_DEFAULT_OPTIONS)\r\n defaultOptions?: ButtonToggleDefaultOptions) {\r\n\r\n this.appearance =\r\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\r\n }\r\n\r\n ngOnInit() {\r\n this._selectionModel = new SelectionModel<QMSButtonToggle>(false, undefined, false);\r\n }\r\n\r\n ngAfterContentInit() {\r\n this._selectionModel.select(...this._buttonToggles.filter(toggle => toggle.checked));\r\n }\r\n\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n this._changeDetector.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: (value: any) => void) {\r\n this._controlValueAccessorChangeFn = fn;\r\n }\r\n\r\n\r\n registerOnTouched(fn: any) {\r\n this._onTouched = fn;\r\n }\r\n\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n\r\n _emitChangeEvent(): void {\r\n const selected = this.selected;\r\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\r\n const event = new ButtonToggleChange(source!, this.value);\r\n this._controlValueAccessorChangeFn(event.value);\r\n this.change.emit(event);\r\n }\r\n\r\n _syncButtonToggle(toggle: QMSButtonToggle,\r\n select: boolean,\r\n isUserInput = false,\r\n deferEvents = false) {\r\n\r\n if (this.selected && !toggle.checked) {\r\n (this.selected as QMSButtonToggle).checked = false;\r\n }\r\n\r\n if (this._selectionModel) {\r\n if (select) {\r\n this._selectionModel.select(toggle);\r\n } else {\r\n this._selectionModel.deselect(toggle);\r\n }\r\n } else {\r\n deferEvents = true;\r\n }\r\n\r\n\r\n if (deferEvents) {\r\n Promise.resolve().then(() => this._updateModelValue(isUserInput));\r\n } else {\r\n this._updateModelValue(isUserInput);\r\n }\r\n }\r\n\r\n\r\n _isSelected(toggle: QMSButtonToggle) {\r\n return this._selectionModel && this._selectionModel.isSelected(toggle);\r\n }\r\n\r\n\r\n _isPrechecked(toggle: QMSButtonToggle) {\r\n if (typeof this._rawValue === 'undefined') {\r\n return false;\r\n }\r\n\r\n return toggle.value === this._rawValue;\r\n }\r\n\r\n\r\n private _setSelectionByValue(value: any | any[]) {\r\n this._rawValue = value;\r\n\r\n if (!this._buttonToggles) {\r\n return;\r\n }\r\n\r\n this._clearSelection();\r\n this._selectValue(value);\r\n }\r\n\r\n\r\n private _clearSelection() {\r\n this._selectionModel.clear();\r\n this._buttonToggles.forEach(toggle => toggle.checked = false);\r\n }\r\n\r\n\r\n private _selectValue(value: any) {\r\n const correspondingOption = this._buttonToggles.find(toggle => {\r\n return toggle.value != null && toggle.value === value;\r\n });\r\n\r\n if (correspondingOption) {\r\n correspondingOption.checked = true;\r\n this._selectionModel.select(correspondingOption);\r\n }\r\n }\r\n\r\n private _updateModelValue(isUserInput: boolean) {\r\n if (isUserInput) {\r\n this._emitChangeEvent();\r\n }\r\n\r\n\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n static ngAcceptInputType_multiple: BooleanInput;\r\n static ngAcceptInputType_vertical: BooleanInput;\r\n}\r\n\r\n\r\nconst _ButtonToggleBase = mixinDisableRipple(class { });\r\n\r\n\r\n@Component({\r\n selector: 'qms-button-toggle',\r\n templateUrl: 'button-toggle.html',\r\n styleUrls: ['button-toggle.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'qmsButtonToggle',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n inputs: ['disableRipple'],\r\n host: {\r\n '[class.qms-button-toggle-standalone]': '!buttonToggleGroup',\r\n '[class.qms-button-toggle-checked]': 'checked',\r\n '[class.qms-button-toggle-disabled]': 'disabled',\r\n '[class.qms-button-toggle-appearance-standard]': 'appearance === \"standard\"',\r\n '[class.qms-button-toggle-appearance-active]': 'appearance === \"active\"',\r\n '[class.qms-button-toggle-appearance-dark]': 'appearance === \"dark\"',\r\n 'class': 'qms-button-toggle',\r\n '[attr.aria-label]': 'null',\r\n '[attr.aria-labelledby]': 'null',\r\n '[attr.id]': 'id',\r\n '[attr.name]': 'null',\r\n '(focus)': 'focus()',\r\n 'role': 'presentation',\r\n }\r\n})\r\nexport class QMSButtonToggle extends _ButtonToggleBase implements OnInit, AfterViewInit,\r\n CanDisableRipple, OnDestroy {\r\n\r\n private _checked = false;\r\n\r\n\r\n @Input('aria-label') ariaLabel: string;\r\n\r\n\r\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\r\n\r\n\r\n @ViewChild('button') _buttonElement: ElementRef<HTMLButtonElement>;\r\n\r\n\r\n buttonToggleGroup: QMSButtonToggleGroup;\r\n\r\n\r\n get buttonId(): string { return `${this.id}-button`; }\r\n\r\n\r\n @Input() id: string;\r\n\r\n\r\n @Input() name: string;\r\n\r\n\r\n @Input() value: any;\r\n\r\n\r\n @Input() tabIndex: number | null;\r\n\r\n\r\n @Input()\r\n get appearance(): ButtonToggleAppearance {\r\n return this.buttonToggleGroup ? this.buttonToggleGroup.appearance : this._appearance;\r\n }\r\n set appearance(value: ButtonToggleAppearance) {\r\n this._appearance = value;\r\n }\r\n private _appearance: ButtonToggleAppearance;\r\n\r\n\r\n @Input()\r\n get checked(): boolean {\r\n return this.buttonToggleGroup ? this.buttonToggleGroup._isSelected(this) : this._checked;\r\n }\r\n set checked(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n\r\n if (newValue !== this._checked) {\r\n this._checked = newValue;\r\n\r\n if (this.buttonToggleGroup) {\r\n this.buttonToggleGroup._syncButtonToggle(this, this._checked);\r\n }\r\n\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n }\r\n\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\r\n }\r\n set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }\r\n private _disabled: boolean = false;\r\n\r\n @Output() readonly change: EventEmitter<ButtonToggleChange> =\r\n new EventEmitter<ButtonToggleChange>();\r\n\r\n constructor(@Optional() @Inject(BUTTON_TOGGLE_GROUP) toggleGroup: QMSButtonToggleGroup,\r\n private _changeDetectorRef: ChangeDetectorRef,\r\n private _elementRef: ElementRef<HTMLElement>,\r\n private _focusMonitor: FocusMonitor,\r\n @Attribute('tabindex') defaultTabIndex: string,\r\n @Optional() @Inject(BUTTON_TOGGLE_DEFAULT_OPTIONS)\r\n defaultOptions?: ButtonToggleDefaultOptions) {\r\n super();\r\n\r\n const parsedTabIndex = Number(defaultTabIndex);\r\n this.tabIndex = (parsedTabIndex || parsedTabIndex === 0) ? parsedTabIndex : null;\r\n this.buttonToggleGroup = toggleGroup;\r\n this.appearance =\r\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\r\n }\r\n\r\n ngOnInit() {\r\n const group = this.buttonToggleGroup;\r\n this.id = this.id || `qms-button-toggle-${uniqueIdCounter++}`;\r\n\r\n this.name = group.name;\r\n\r\n if (group) {\r\n if (group._isPrechecked(this)) {\r\n this.checked = true;\r\n } else if (group._isSelected(this) !== this._checked) {\r\n group._syncButtonToggle(this, this._checked);\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n }\r\n\r\n ngOnDestroy() {\r\n const group = this.buttonToggleGroup;\r\n\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n\r\n if (group && group._isSelected(this)) {\r\n group._syncButtonToggle(this, false, false, true);\r\n }\r\n }\r\n\r\n focus(options?: FocusOptions): void {\r\n this._buttonElement.nativeElement.focus(options);\r\n }\r\n\r\n _onButtonClick() {\r\n\r\n if (!this._checked) {\r\n this._checked = true;\r\n if (this.buttonToggleGroup) {\r\n this.buttonToggleGroup._syncButtonToggle(this, this._checked, true);\r\n this.buttonToggleGroup._onTouched();\r\n }\r\n }\r\n this.change.emit(new ButtonToggleChange(this, this.value));\r\n }\r\n\r\n\r\n _markForCheck() {\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n\r\n static ngAcceptInputType_checked: BooleanInput;\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n static ngAcceptInputType_vertical: BooleanInput;\r\n static ngAcceptInputType_disableRipple: BooleanInput;\r\n}","import { ElementRef } from '@angular/core';\r\n\r\nexport type Constructor<T> = new (...args: any[]) => T;\r\n\r\nexport type ThemePalette = 'primary' | 'secondary' | 'light' | 'dark' | undefined;\r\n\r\n/** @docs-private */\r\nexport interface CanColor {\r\n /** Theme color palette for the component. */\r\n color: ThemePalette;\r\n\r\n /** Default color to fall back to if no value is set. */\r\n defaultColor: ThemePalette | undefined;\r\n}\r\n\r\n/** @docs-private */\r\nexport type CanColorCtor = Constructor<CanColor>;\r\n\r\n/** @docs-private */\r\nexport interface HasElementRef {\r\n _elementRef: ElementRef;\r\n}\r\n\r\n///** Mixin to augment a directive with a `color` property. */\r\nexport function mixinColor<T extends Constructor<HasElementRef>>(base: T, defaultColor?: ThemePalette): CanColorCtor & T {\r\n return class extends base {\r\n private _color: ThemePalette;\r\n defaultColor = defaultColor;\r\n\r\n get color(): ThemePalette { return this._color; }\r\n set color(value: ThemePalette) {\r\n const colorPalette = value || this.defaultColor;\r\n if (colorPalette !== this._color) {\r\n if (this._color) {\r\n this._elementRef.nativeElement.classList.remove(`qms-${this._color}`);\r\n }\r\n if (colorPalette) {\r\n this._elementRef.nativeElement.classList.add(`qms-${colorPalette}`);\r\n }\r\n\r\n this._color = colorPalette;\r\n }\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n\r\n // Set the default color that can be specified from the mixin.\r\n this.color = defaultColor;\r\n }\r\n };\r\n}\r\n","import { FocusMonitor, FocusableOption, FocusOrigin } from '@angular/cdk/a11y';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n ViewEncapsulation,\r\n Optional,\r\n Inject,\r\n Input,\r\n AfterViewInit,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport {\r\n CanColor,\r\n CanColorCtor,\r\n mixinColor,\r\n} from './color';\r\nimport {\r\n CanDisable,\r\n CanDisableCtor,\r\n mixinDisabled,\r\n} from '@angular/material/core';\r\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\r\n\r\nconst DEFAULT_ROUND_BUTTON_COLOR = 'primary';\r\n\r\n/**\r\n * List of classes to add to QMSButton instances based on host attributes to\r\n * style as different variants.\r\n */\r\nconst BUTTON_HOST_ATTRIBUTES = [\r\n 'qms-btn',\r\n 'qms-btn-lg',\r\n 'qms-btn-outlined',\r\n 'qms-btn-outlined-lg',\r\n 'qms-btn-text',\r\n 'qms-btn-text-lg',\r\n 'qms-btn-fab',\r\n 'qms-btn-fab-sm',\r\n 'qms-btn-fab-ext',\r\n 'qms-btn-fab-outlined',\r\n 'qms-btn-fab-outlined-sm',\r\n 'qms-btn-fab-outlined-ext'\r\n];\r\n\r\nclass QMSButtonBase {\r\n constructor(public _elementRef: ElementRef) { }\r\n}\r\n\r\nconst _QMSButtonMixinBase: CanDisableCtor & CanColorCtor &\r\n typeof QMSButtonBase = mixinColor(mixinDisabled(QMSButtonBase));\r\n\r\n\r\n/**\r\n * QMS design button.\r\n */\r\n@Component({\r\n selector: `button[qms-btn], button[qms-btn-lg], button[qms-btn-outlined],\r\n button[qms-btn-outlined-lg], button[qms-btn-text], button[qms-btn-text-lg],\r\n button[qms-btn-fab],button[qms-btn-fab-sm],button[qms-btn-fab-ext],\r\n button[qms-btn-fab-outlined],button[qms-btn-fab-outlined-sm],button[qms-btn-fab-outlined-ext]`,\r\n exportAs: 'qmsButton',\r\n host: {\r\n '[attr.disabled]': 'disabled || null',\r\n '[class._qms-animation-noopable]': '_animationMode === \"NoopAnimations\"',\r\n '[class.qms-btn-disabled]': 'disabled'\r\n },\r\n templateUrl: 'button.html',\r\n styleUrls: ['button.scss'],\r\n inputs: ['disabled', 'color'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSButton extends _QMSButtonMixinBase\r\n implements AfterViewInit, OnDestroy, CanDisable, CanColor, FocusableOption {\r\n\r\n constructor(elementRef: ElementRef,\r\n private _focusMonitor: FocusMonitor,\r\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode: string) {\r\n super(elementRef);\r\n\r\n for (const attr of BUTTON_HOST_ATTRIBUTES) {\r\n if (this._hasHostAttributes(attr)) {\r\n (this._getHostElement() as HTMLElement).classList.add(attr);\r\n }\r\n }\r\n\r\n elementRef.nativeElement.classList.add('qms-btn-base');\r\n }\r\n\r\n focus(origin?: FocusOrigin, options?: FocusOptions): void {\r\n if (origin) {\r\n this._focusMonitor.focusVia(this._getHostElement(), origin, options);\r\n } else {\r\n this._getHostElement().focus(options);\r\n }\r\n }\r\n\r\n _getHostElement() {\r\n return this._elementRef.nativeElement;\r\n }\r\n\r\n _hasHostAttributes(...attributes: string[]) {\r\n return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n }\r\n\r\n}\r\n\r\n/**\r\n * Material design anchor button.\r\n */\r\n@Component({\r\n selector: `a[qms-btn], a[qms-btn-lg], a[qms-btn-outlined],\r\n a[qms-btn-outlined-lg], a[qms-btn-text], a[qms-btn-text-lg],\r\n a[qms-btn-fab], a[qms-btn-fab-sm], a[qms-btn-fab-ext],\r\n a[qms-btn-fab-outlined],a[qms-btn-fab-outlined-sm],a[qms-btn-fab-outlined-ext]`,\r\n exportAs: 'qmsButton, qmsAnchor',\r\n host: {\r\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\r\n '[attr.disabled]': 'disabled || null',\r\n '[attr.aria-disabled]': 'disabled.toString()',\r\n '(click)': '_haltDisabledEvents($event)',\r\n '[class._qms-animation-noopable]': '_animationMode === \"NoopAnimations\"',\r\n '[class.qms-btn-disabled]': 'disabled'\r\n },\r\n inputs: ['disabled', 'color'],\r\n templateUrl: 'button.html',\r\n styleUrls: ['button.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSAnchor extends QMSButton {\r\n @Input() tabIndex: number;\r\n\r\n constructor(\r\n focusMonitor: FocusMonitor,\r\n elementRef: ElementRef,\r\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode: string) {\r\n super(elementRef, focusMonitor, animationMode);\r\n }\r\n\r\n _haltDisabledEvents(event: Event) {\r\n // A disabled button shouldn't apply any actions\r\n if (this.disabled) {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: `button[qms-btn-icon]`,\r\n exportAs: 'qmsButtonIcon',\r\n host: {\r\n 'class': 'qms-btn-icon',\r\n '[attr.disabled]': 'disabled || null',\r\n '[class._qms-animation-noopable]': '_animationMode === \"NoopAnimations\"',\r\n '[class.qms-btn-disabled]': 'disabled',\r\n '[class.active-icon]': 'type',\r\n },\r\n templateUrl: 'button-icon.html',\r\n styleUrls: ['button-icon.scss'],\r\n inputs: ['disabled', 'color', 'type'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSButtonIcon extends _QMSButtonMixinBase\r\n implements AfterViewInit, OnDestroy, CanDisable, CanColor, FocusableOption {\r\n\r\n @Input('type') type: string;\r\n\r\n constructor(elementRef: ElementRef,\r\n private _focusMonitor: FocusMonitor,\r\n private renderer: Renderer2,\r\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode: string) {\r\n super(elementRef);\r\n }\r\n\r\n focus(origin?: FocusOrigin, options?: FocusOptions): void {\r\n if (origin) {\r\n this._focusMonitor.focusVia(this._getHostElement(), origin, options);\r\n } else {\r\n this._getHostElement().focus(options);\r\n }\r\n }\r\n\r\n _getHostElement() {\r\n return this._elementRef.nativeElement;\r\n }\r\n\r\n _hasHostAttributes(...attributes: string[]) {\r\n return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n if (this.type) {\r\n this.renderer.addClass(this._elementRef.nativeElement, 'active-icon');\r\n }\r\n\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nimport { QMSButtonToggle, QMSButtonToggleGroup } from './button-toggle';\r\nimport { QMSAnchor, QMSButton, QMSButtonIcon } from './button';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule\r\n ],\r\n exports: [\r\n QMSButton,\r\n QMSAnchor,\r\n QMSButtonIcon,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n QMSButtonToggle,\r\n QMSButtonToggleGroup\r\n ],\r\n declarations: [\r\n QMSButton,\r\n QMSAnchor,\r\n QMSButtonToggle,\r\n QMSButtonToggleGroup,\r\n QMSButtonIcon\r\n ],\r\n})\r\nexport class QMSButtonModule { }\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { QMSButtonModule } from './components/button/button.module';\r\n\r\n@NgModule({\r\n exports: [\r\n MatInputModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n QMSButtonModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class SharedMaterialModule { }","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { TranslateLibraryService } from '../services/translation-registry.service';\r\n\r\n@Pipe({\r\n name: 'dateFormat'\r\n})\r\nexport class DateFormatPipe implements PipeTransform {\r\n\r\n constructor(private trans: TranslateLibraryService) {\r\n\r\n }\r\n\r\n transform(value: Date, args?: any) {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n\r\n let valueFormat = '';\r\n let langCode = '';\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n langCode = res || 'en';\r\n });\r\n\r\n\r\n switch (langCode) {\r\n case 'en':\r\n valueFormat = 'MM/DD/YYYY hh:mm';\r\n break;\r\n case 'no':\r\n valueFormat = 'DD.MM.YYYY hh:mm';\r\n break;\r\n default:\r\n valueFormat = 'DD.MM.YYYY hh:mm';\r\n break;\r\n }\r\n\r\n return moment(value).format(valueFormat);\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { QMSUploadingFileGuard } from './directives/file-upload/file-upload.directive';\r\nimport { TranslateLibraryService } from './services/translation-registry.service';\r\n\r\n\r\n@NgModule({})\r\nexport class SharedModule {\r\n static forRoot(): ModuleWithProviders<SharedModule> {\r\n return {\r\n ngModule: SharedModule,\r\n providers: [TranslateLibraryService, QMSUploadingFileGuard]\r\n };\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { MAT_RADIO_DEFAULT_OPTIONS } from '@angular/material/radio';\r\nimport { QMSComment } from './components/comment/comment';\r\nimport { QMSConfirmDialog, QMSFormDialog } from './components/dialog/dialog';\r\nimport { QMSSuffixDirective, QMSSuffixFieldDirective } from './components/suffix-field/suffix-field.directive';\r\nimport { TestOnlyComponent } from './components/test-only/test-only.component';\r\nimport { QMSChipInputChipListDirective } from './directives/chip-input/chip-input-chip-list.directive';\r\nimport { QMSChipInputDirective } from './directives/chip-input/chip-input-field.directive';\r\nimport { QMSChipInputSelectDropWDownDirective } from './directives/chip-input/chip-input-select-dropdown.directive';\r\nimport { QMSChipInputSelectFieldDirective } from './directives/chip-input/chip-input-select-field.directive';\r\nimport { QMSChipInputSelectTriggerDirective } from './directives/chip-input/chip-input-select-trigger.directive';\r\nimport { QMSChipBodyDirective } from './directives/chips/chip-body.directive';\r\nimport { QMSInputChipDirective } from './directives/chips/chip.directive';\r\nimport { QMSDropdownMenuItem } from './directives/dropdown-menu/dropdown-item.directive';\r\nimport { QMSAttachmentListDirective } from './directives/file-upload/file-upload-attachment-list.directive';\r\nimport { QMSFileUploadDisplayDirective } from './directives/file-upload/file-upload-display.directive';\r\nimport { QMSFileUploadMultipleDisplayDirective } from './directives/file-upload/file-upload-multiple-display.directive';\r\nimport { QMSFileUploadMultipleSelectorDirective } from './directives/file-upload/file-upload-multiple-selector.directive';\r\nimport { QMSFileUploadMultipleDirective } from './directives/file-upload/file-upload-multiple.directive';\r\nimport { QMSScrolableAttachmentListDirective } from './directives/file-upload/file-upload-scrollable-attachment-list.directive';\r\nimport { QMSFileUploadSelectorDirective } from './directives/file-upload/file-upload-selector.directive';\r\nimport { QMSFileUploadDirective, QMSUploadingFileGuard } from './directives/file-upload/file-upload.directive';\r\nimport {\r\n AutocompleteOffDirective,\r\n QMSFormFieldDatePickerDirective,\r\n QMSFormFieldDirective,\r\n QMSFormFieldTextareaDirective,\r\n QMSGroupOptionDirective\r\n} from './directives/form.directive';\r\nimport { MarginDirective } from './directives/margin.directive';\r\nimport { QMSRangeSliderLockUpDirective } from './directives/range-slider/range-slider-lockup.directive';\r\nimport { QMSRangeSliderDirective } from './directives/range-slider/range-slider.directive';\r\nimport { ScrollToSelectedDirective } from './directives/scroll-selected/scroll-to-selected.directive';\r\nimport { QMSScrollbarDirective } from './directives/scrollbar/scrollbar.directive';\r\nimport {\r\n QMSInputClearDirective,\r\n QMSSearchFieldDirective\r\n} from './directives/search-field.directive';\r\nimport { QMSDrawerContentDirective } from \"./directives/side-sheet/drawer-content.directive\";\r\nimport { QMSDrawerHeaderActionDirective } from \"./directives/side-sheet/drawer-header-action.directive\";\r\nimport { QMSDrawerHeaderDirective } from \"./directives/side-sheet/drawer-header.directive\";\r\nimport { QMSDrawerDirective } from \"./directives/side-sheet/drawer.directive\";\r\nimport { QMSTabGroupAdvancedDirective } from \"./directives/tab/tab-group-advanced.directive\";\r\nimport { QMSTabGroupDirective } from \"./directives/tab/tab-group.directive\";\r\nimport { QMSTabLabelDirective } from \"./directives/tab/tab-label.directive\";\r\nimport { QMSTextBlockLine } from \"./directives/text-block/text-block-line.directive\";\r\nimport { QMSTextBlockDirective } from \"./directives/text-block/text-block.directive\";\r\nimport { QMSTooltipImageDirective } from './directives/tooltip/tooltip-image.directive';\r\nimport { QMSToolTipRendererDirective } from \"./directives/tooltip/tooltip-renderer.directive\";\r\nimport { SharedMaterialModule } from './material-module';\r\nimport { DateFormatPipe } from './pipe/dateFormat.pipe';\r\nimport { QmsAngularComponent } from './qms-angular.component';\r\nimport { SharedModule } from './shared.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsAngularComponent,\r\n TestOnlyComponent,\r\n MarginDirective,\r\n QMSSearchFieldDirective,\r\n QMSInputClearDirective,\r\n QMSFormFieldDirective,\r\n QMSFormFieldTextareaDirective,\r\n QMSGroupOptionDirective,\r\n QMSSuffixFieldDirective,\r\n QMSSuffixDirective,\r\n QMSFormFieldTextareaDirective,\r\n AutocompleteOffDirective,\r\n QMSComment,\r\n QMSConfirmDialog,\r\n QMSFormDialog,\r\n QMSFormFieldDatePickerDirective,\r\n QMSInputChipDirective,\r\n QMSChipBodyDirective,\r\n QMSFileUploadDirective,\r\n QMSFileUploadDisplayDirective,\r\n QMSFileUploadSelectorDirective,\r\n QMSAttachmentListDirective,\r\n QMSScrolableAttachmentListDirective,\r\n QMSFileUploadMultipleDirective,\r\n QMSFileUploadMultipleDisplayDirective,\r\n QMSFileUploadMultipleSelectorDirective,\r\n QMSRangeSliderDirective,\r\n QMSRangeSliderLockUpDirective,\r\n QMSDropdownMenuItem,\r\n QMSScrollbarDirective,\r\n QMSTextBlockDirective,\r\n QMSTextBlockLine,\r\n QMSDrawerDirective,\r\n QMSDrawerHeaderDirective,\r\n QMSDrawerContentDirective,\r\n QMSDrawerHeaderActionDirective,\r\n QMSToolTipRendererDirective,\r\n QMSTabLabelDirective,\r\n QMSTabGroupDirective,\r\n QMSTabGroupAdvancedDirective,\r\n DateFormatPipe,\r\n QMSChipInputDirective,\r\n QMSChipInputSelectFieldDirective,\r\n QMSChipInputSelectDropWDownDirective,\r\n QMSChipInputSelectTriggerDirective,\r\n QMSChipInputChipListDirective,\r\n ScrollToSelectedDirective,\r\n QMSTooltipImageDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SharedModule.forRoot(),\r\n SharedMaterialModule\r\n ],\r\n exports: [\r\n QmsAngularComponent,\r\n MarginDirective,\r\n TestOnlyComponent,\r\n QMSSearchFieldDirective,\r\n QMSInputClearDirective,\r\n QMSFormFieldDirective,\r\n QMSFormFieldTextareaDirective,\r\n QMSGroupOptionDirective,\r\n QMSSuffixFieldDirective,\r\n QMSSuffixDirective,\r\n AutocompleteOffDirective,\r\n QMSComment,\r\n QMSConfirmDialog,\r\n QMSFormDialog,\r\n QMSInputChipDirective,\r\n QMSChipBodyDirective,\r\n QMSFormFieldDatePickerDirective,\r\n QMSFileUploadDirective,\r\n QMSFileUploadDisplayDirective,\r\n QMSFileUploadSelectorDirective,\r\n QMSAttachmentListDirective,\r\n QMSScrolableAttachmentListDirective,\r\n QMSFileUploadMultipleDirective,\r\n QMSFileUploadMultipleDisplayDirective,\r\n QMSFileUploadMultipleSelectorDirective,\r\n QMSRangeSliderDirective,\r\n QMSRangeSliderLockUpDirective,\r\n QMSDropdownMenuItem,\r\n QMSScrollbarDirective,\r\n QMSTextBlockDirective,\r\n QMSTextBlockLine,\r\n QMSDrawerDirective,\r\n QMSDrawerHeaderDirective,\r\n QMSDrawerContentDirective,\r\n QMSDrawerHeaderActionDirective,\r\n QMSToolTipRendererDirective,\r\n QMSTabLabelDirective,\r\n QMSTabGroupDirective,\r\n QMSTabGroupAdvancedDirective,\r\n DateFormatPipe,\r\n QMSChipInputDirective,\r\n QMSChipInputSelectFieldDirective,\r\n QMSChipInputSelectDropWDownDirective,\r\n QMSChipInputSelectTriggerDirective,\r\n QMSChipInputChipListDirective,\r\n ScrollToSelectedDirective,\r\n QMSTooltipImageDirective\r\n ],\r\n providers: [\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'fill' } },\r\n { provide: MAT_RADIO_DEFAULT_OPTIONS, useValue: { color: 'none' } },\r\n QMSUploadingFileGuard\r\n ],\r\n // entryComponents: []\r\n})\r\nexport class QmsAngularModule { }\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit, ChangeDetectionStrategy, Component,\r\n ContentChildren, Directive, ElementRef, HostListener, Input, OnInit,\r\n QueryList, Renderer2, ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { setLines } from '@angular/material/core';\r\n\r\n\r\n@Directive({\r\n selector: '[leading-icon]',\r\n host: { 'class': 'leading-icon' }\r\n})\r\nexport class QMSListLeadingIcon { }\r\n\r\n@Directive({\r\n selector: '[qms-line]'\r\n})\r\nexport class QMSListLine {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @Input('size') size: string;\r\n @Input('type') type: string;\r\n @Input('color') color: string;\r\n\r\n ngOnInit(): void {\r\n if (this.type === 'caption') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption');\r\n }\r\n else if (this.type === 'subtitle') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `subtitle size-${this.size ? this.size : 'none'}`);\r\n } else {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `qms-line size-${this.size ? this.size : 'none'}`);\r\n }\r\n\r\n if (this.color) {\r\n this.renderer.addClass(this.elRef.nativeElement, this.color);\r\n }\r\n\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-list-header]',\r\n host: { 'class': 'qms-list-header' }\r\n})\r\nexport class QMSListHeader {\r\n\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-expansion]',\r\n host: { 'class': 'qms-expansion' }\r\n})\r\nexport class QMSListExpansion implements AfterContentInit {\r\n @ContentChildren(QMSListLine, { descendants: true }) _lines: QueryList<QMSListLine>;\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n // setLines(this._lines, this.elRef);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-expansion-header]',\r\n host: { 'class': 'qms-expansion-header' }\r\n})\r\nexport class QMSListExpansionHeader implements AfterContentInit {\r\n @ContentChildren(QMSListLine, { descendants: true }) _lines: QueryList<QMSListLine>;\r\n\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('click', ['$event']) onClick($event) {\r\n const qmsList = document.querySelectorAll('.qms-expansion-header');\r\n [].forEach.call(qmsList, (el) => {\r\n el.classList.remove('active-item');\r\n });\r\n this.renderer.addClass(this.elRef.nativeElement, 'active-item');\r\n }\r\n\r\n ngAfterContentInit() {\r\n setLines(this._lines, this.elRef);\r\n }\r\n}\r\n\r\n\r\n\r\n@Component({\r\n selector: 'qms-list',\r\n templateUrl: 'list.html',\r\n styleUrls: ['list.scss'],\r\n host: { 'class': 'qms-list' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSList implements OnInit {\r\n\r\n constructor(private elRef: ElementRef) { }\r\n ngOnInit() { }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-list-item',\r\n templateUrl: 'list-item.html',\r\n styleUrls: ['list.scss'],\r\n host: {\r\n 'class': 'qms-list-item',\r\n '[class.qms-list-item-disabled]': 'disabled',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSListItem implements AfterViewInit {\r\n @Input('type') type: string;\r\n get disabled() { return this._disabled }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n private _disabled = false;\r\n\r\n @ContentChildren(QMSListLine, { descendants: true }) _lines: QueryList<QMSListLine>;\r\n constructor(private elRef: ElementRef<HTMLElement>, private renderer: Renderer2) { }\r\n\r\n ngAfterViewInit() {\r\n if (this.type) {\r\n // this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'qms-list-item image-item');\r\n this.renderer.addClass(this.elRef.nativeElement, 'image-item');\r\n this.renderer.addClass(this.elRef.nativeElement, this.type);\r\n }\r\n\r\n setLines(this._lines, this.elRef);\r\n }\r\n}\r\n\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatExpansionModule, MAT_EXPANSION_PANEL_DEFAULT_OPTIONS } from '@angular/material/expansion';\r\n\r\nimport {\r\n QMSList, QMSListItem, QMSListLeadingIcon, QMSListLine,\r\n QMSListHeader, QMSListExpansion, QMSListExpansionHeader\r\n} from './list';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatListModule,\r\n MatExpansionModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatListModule,\r\n MatExpansionModule,\r\n QMSList,\r\n QMSListItem,\r\n QMSListLeadingIcon,\r\n QMSListLine,\r\n QMSListHeader,\r\n QMSListExpansion,\r\n QMSListExpansionHeader\r\n ],\r\n declarations: [\r\n QMSList,\r\n QMSListItem,\r\n QMSListLeadingIcon,\r\n QMSListLine,\r\n QMSListHeader,\r\n QMSListExpansion,\r\n QMSListExpansionHeader\r\n ],\r\n providers: [\r\n {\r\n provide: MAT_EXPANSION_PANEL_DEFAULT_OPTIONS,\r\n useValue: {\r\n expandedHeight: '*',\r\n collapsedHeight: '*'\r\n }\r\n }\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class QMSListModule { }\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, forwardRef, Input, OnInit, Renderer2, ViewEncapsulation } from \"@angular/core\";\r\nimport { ControlValueAccessor, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from \"@angular/forms\";\r\n@Component({\r\n selector: 'qms-rich-text',\r\n templateUrl: 'rich-text.html',\r\n styleUrls: ['rich-text.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => QMSRichText),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => QMSRichText),\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class QMSRichText implements OnInit, AfterViewInit, ControlValueAccessor, Validator {\r\n\r\n @Input('disabled') isDisabled: boolean;\r\n @Input('required') required: boolean = false;\r\n @Input('placeholder') placeholder: string;\r\n\r\n public _value: string;\r\n\r\n public Editor = [];\r\n\r\n public configEditor = {\r\n placeholder: 'Placeholder',\r\n toolbar: {\r\n items: [\r\n 'undo',\r\n 'redo',\r\n '|',\r\n 'alignment',\r\n '|',\r\n 'bold',\r\n 'italic',\r\n 'strikethrough',\r\n 'underline',\r\n '|',\r\n 'bulletedList',\r\n 'numberedList',\r\n '|',\r\n 'insertTable',\r\n \"blockQuote\",\r\n '|',\r\n 'heading'\r\n ]\r\n },\r\n alignment: {\r\n options: ['left', 'right', 'center', 'justify']\r\n },\r\n };\r\n\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n }\r\n\r\n onChange: (_value: any) => void;\r\n onTouched: () => void;\r\n\r\n writeValue(obj: any): void {\r\n this._value = obj;\r\n }\r\n registerOnChange(fn: any): void {\r\n\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngAfterViewInit() {\r\n this.configEditor.placeholder = this.placeholder;\r\n\r\n if (this.isDisabled) {\r\n this.renderer.addClass(this.elRef.nativeElement, 'ck-disabled');\r\n }\r\n }\r\n\r\n public onChanged({ editor }) {\r\n const data = editor.getData();\r\n this.writeValue(data);\r\n this.onChange(data);\r\n }\r\n\r\n public onBlur({ editor }) {\r\n const data = editor.getData();\r\n this.writeValue(data);\r\n this.onChange(data);\r\n }\r\n\r\n validate(c: FormControl) {\r\n if (!this.required) {\r\n return null;\r\n }\r\n return (this._value && !this.required) ? null : {\r\n type: {\r\n valid: false,\r\n actual: c.value\r\n }\r\n };\r\n }\r\n\r\n public onReady(editor) {\r\n if (this._value) {\r\n editor.setData(this._value);\r\n }\r\n this.initEditor(editor);\r\n }\r\n\r\n private initEditor(editor) {\r\n editor.ui\r\n .getEditableElement()\r\n .parentElement.insertBefore(editor.ui.view.toolbar.element, editor.ui.getEditableElement());\r\n\r\n }\r\n\r\n}\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { QMSRichText } from './rich-text';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n QMSRichText,\r\n ],\r\n declarations: [\r\n QMSRichText,\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class QMSRichTextModule { }\r\n","import { Component, ElementRef, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\n\r\n@Component({\r\n selector: 'qms-edit-file-name-dialog',\r\n templateUrl: 'edit-file-name-dialog.html',\r\n styleUrls: ['edit-file-name-dialog.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QMSEditFileNameDialog {\r\n fileName: string;\r\n LANG: any;\r\n constructor(\r\n public dialogRef: MatDialogRef<QMSEditFileNameDialog>, \r\n public trans: TranslateLibraryService,\r\n @Inject(MAT_DIALOG_DATA) public data: string) {\r\n this.fileName = this.data;\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n cancel(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n saveChanges(): void {\r\n this.dialogRef.close(this.fileName);\r\n }\r\n\r\n clearInput(): void {\r\n this.fileName = '';\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { SharedModule } from \"../../shared.module\";\r\nimport { QMSButtonModule } from \"../button/button.module\";\r\nimport { QMSEditFileNameDialog } from \"./edit-file-name-dialog\";\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n MatButtonModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n FormsModule,\r\n SharedModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatExpansionModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n QMSEditFileNameDialog\r\n ],\r\n declarations: [\r\n QMSEditFileNameDialog\r\n ],\r\n})\r\nexport class QMSEditFileNameDialogModule { }\r\n","import { Component, ElementRef, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\n\r\nexport class UploadErrorData {\r\n fileNames: string[];\r\n acceptedExtension: string[];\r\n}\r\n\r\n@Component({\r\n selector: 'qms-upload-file-error-dialog',\r\n templateUrl: 'upload-file-error-dialog.html',\r\n styleUrls: ['upload-file-error-dialog.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QMSUploadFileErrorDialog {\r\n unsupportedFiles: string[];\r\n supportedExtensions: string[];\r\n LANG: any;\r\n constructor(\r\n public dialogRef: MatDialogRef<QMSUploadFileErrorDialog>, \r\n public trans: TranslateLibraryService,\r\n @Inject(MAT_DIALOG_DATA) public data: UploadErrorData) {\r\n this.unsupportedFiles = this.data.fileNames;\r\n this.supportedExtensions = this.data.acceptedExtension;\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n ok(): void {\r\n this.dialogRef.close(null);\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { SharedModule } from \"../../shared.module\";\r\nimport { QMSButtonModule } from \"../button/button.module\";\r\nimport { QMSUploadFileErrorDialog } from \"./upload-file-error-dialog\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n MatButtonModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n FormsModule,\r\n SharedModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatExpansionModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n QMSUploadFileErrorDialog\r\n ],\r\n declarations: [\r\n QMSUploadFileErrorDialog\r\n ],\r\n})\r\nexport class QMSUploadFileErrorDialogModule { }","export const PROCESS_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 3V9H5V19H15V21H21V15H15V17H7V9H9V7H15V9H21V3H15V5H9V3H3ZM7 5V7H5V5H7ZM19 5V7H17V5H19ZM19 19V17H17V19H19Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const PROCESS_AREA_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V11H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M13 16.5V13H16.5V14.1667H20V13H23.5V16.5H20V15.3333H16.5V16.5H15.3333V21.1667H20V20H23.5V23.5H20V22.3333H14.1667V16.5H13Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const PROCESS_AREA_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V11H13C11.8954 11 11 11.8954 11 13V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M13 16.5V13H16.5V14.1667H20V13H23.5V16.5H20V15.3333H16.5V16.5H15.3333V21.1667H20V20H23.5V23.5H20V22.3333H14.1667V16.5H13Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DOCUMENT_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6 2H14L20 8V20C20 21.1 19.1 22 18 22H5.99C4.89 22 4 21.1 4 20L4.01 4C4.01 2.9 4.9 2 6 2ZM6 4V20H18V9H13V4H6Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DEVIATION_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 21.5L12 2.5L23 21.5H1ZM19.53 19.5L12 6.49L4.47 19.5H19.53ZM11 16.5V18.5H13V16.5H11ZM11 10.5H13V14.5H11V10.5Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const CHECKLIST_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M3 13H5V11H3V13Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M3 17H5V15H3V17Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M3 9H5V7H3V9Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M7 13H21V11H7V13Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M7 17H21V15H7V17Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M7 7V9H21V7H7Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const RISK_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 3V21H21V3H3ZM11 19H5V13H11V19ZM5 11H11V5H5V11ZM19 19H13V13H19V19ZM13 11H19V5H13V11Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const NORMAL_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4ZM11.17 8L9.17 6H4V18H20V8H11.17Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const NORMAL_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.59 4.59C10.21 4.21 9.7 4 9.17 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6H12L10.59 4.59Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const LOCAL_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V12H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 21.5001V19.0001H19V21.5001C19 21.7751 19.225 22.0001 19.5 22.0001H21C21.275 22.0001 21.5 21.7751 21.5 21.5001V18.0001H22.35C22.58 18.0001 22.69 17.7151 22.515 17.5651L18.335 13.8001C18.145 13.6301 17.855 13.6301 17.665 13.8001L13.485 17.5651C13.315 17.7151 13.42 18.0001 13.65 18.0001H14.5V21.5001C14.5 21.7751 14.725 22.0001 15 22.0001H16.5C16.775 22.0001 17 21.7751 17 21.5001Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\n\r\nexport const LOCAL_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V12H17C13.6863 12 11 14.6863 11 18V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 21.5001V19.0001H19V21.5001C19 21.7751 19.225 22.0001 19.5 22.0001H21C21.275 22.0001 21.5 21.7751 21.5 21.5001V18.0001H22.35C22.58 18.0001 22.69 17.7151 22.515 17.5651L18.335 13.8001C18.145 13.6301 17.855 13.6301 17.665 13.8001L13.485 17.5651C13.315 17.7151 13.42 18.0001 13.65 18.0001H14.5V21.5001C14.5 21.7751 14.725 22.0001 15 22.0001H16.5C16.775 22.0001 17 21.7751 17 21.5001Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\n\r\nexport const ENTERPRISE_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V11H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.5 17.5V13.5H15.5V15.5H13.5V22.5H17.5V20.5H18.5V22.5H22.5V17.5H20.5ZM15.5 21.5H14.5V20.5H15.5V21.5ZM15.5 19.5H14.5V18.5H15.5V19.5ZM15.5 17.5H14.5V16.5H15.5V17.5ZM17.5 19.5H16.5V18.5H17.5V19.5ZM17.5 17.5H16.5V16.5H17.5V17.5ZM17.5 15.5H16.5V14.5H17.5V15.5ZM19.5 19.5H18.5V18.5H19.5V19.5ZM19.5 17.5H18.5V16.5H19.5V17.5ZM19.5 15.5H18.5V14.5H19.5V15.5ZM21.5 21.5H20.5V20.5H21.5V21.5ZM21.5 19.5H20.5V18.5H21.5V19.5Z\" fill=\"#CF4714\"/>\r\n</svg>\r\n`;\r\n\r\nexport const ENTERPRISE_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V11H17C13.6863 11 11 13.6863 11 17V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.5 17.5V13.5H15.5V15.5H13.5V22.5H17.5V20.5H18.5V22.5H22.5V17.5H20.5ZM15.5 21.5H14.5V20.5H15.5V21.5ZM15.5 19.5H14.5V18.5H15.5V19.5ZM15.5 17.5H14.5V16.5H15.5V17.5ZM17.5 19.5H16.5V18.5H17.5V19.5ZM17.5 17.5H16.5V16.5H17.5V17.5ZM17.5 15.5H16.5V14.5H17.5V15.5ZM19.5 19.5H18.5V18.5H19.5V19.5ZM19.5 17.5H18.5V16.5H19.5V17.5ZM19.5 15.5H18.5V14.5H19.5V15.5ZM21.5 21.5H20.5V20.5H21.5V21.5ZM21.5 19.5H20.5V18.5H21.5V19.5Z\" fill=\"#CF4714\"/>\r\n</svg>`;\r\n\r\nexport const REGIONAL_FOLDER_OUTLINED_ICON = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H12V18H4V6H9.17L11.17 8H20V11H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.4999 13.0833C16.4037 13.0833 14.7083 14.7787 14.7083 16.8749C14.7083 19.1337 17.1024 22.2483 18.0883 23.4345C18.3049 23.6945 18.7003 23.6945 18.917 23.4345C19.8974 22.2483 22.2916 19.1337 22.2916 16.8749C22.2916 14.7787 20.5962 13.0833 18.4999 13.0833ZM18.4999 18.2291C17.7524 18.2291 17.1458 17.6224 17.1458 16.8749C17.1458 16.1274 17.7524 15.5208 18.4999 15.5208C19.2474 15.5208 19.8541 16.1274 19.8541 16.8749C19.8541 17.6224 19.2474 18.2291 18.4999 18.2291Z\" fill=\"#662E0D\"/>\r\n</svg>\r\n`;\r\n\r\nexport const REGIONAL_FOLDER_ICON = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V11H18C14.6863 11 12 13.6863 12 17V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.4999 13.0833C16.4037 13.0833 14.7083 14.7787 14.7083 16.8749C14.7083 19.1337 17.1024 22.2483 18.0883 23.4345C18.3049 23.6945 18.7003 23.6945 18.917 23.4345C19.8974 22.2483 22.2916 19.1337 22.2916 16.8749C22.2916 14.7787 20.5962 13.0833 18.4999 13.0833ZM18.4999 18.2291C17.7524 18.2291 17.1458 17.6224 17.1458 16.8749C17.1458 16.1274 17.7524 15.5208 18.4999 15.5208C19.2474 15.5208 19.8541 16.1274 19.8541 16.8749C19.8541 17.6224 19.2474 18.2291 18.4999 18.2291Z\" fill=\"#662E0D\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DEPARTMENT_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V12H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20 15.25H22C22.555 15.25 23 15.695 23 16.25V21.75C23 22.305 22.555 22.75 22 22.75H14C13.445 22.75 13 22.305 13 21.75L13.005 16.25C13.005 15.695 13.445 15.25 14 15.25H16V14.25C16 13.695 16.445 13.25 17 13.25H19C19.555 13.25 20 13.695 20 14.25V15.25ZM17 15.25H19V14.25H17V15.25Z\" fill=\"#00804C\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DEPARTMENT_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V12H17C13.6863 12 11 14.6863 11 18V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20 15.25H22C22.555 15.25 23 15.695 23 16.25V21.75C23 22.305 22.555 22.75 22 22.75H14C13.445 22.75 13 22.305 13 21.75L13.005 16.25C13.005 15.695 13.445 15.25 14 15.25H16V14.25C16 13.695 16.445 13.25 17 13.25H19C19.555 13.25 20 13.695 20 14.25V15.25ZM17 15.25H19V14.25H17V15.25Z\" fill=\"#00804C\"/>\r\n</svg>\r\n`;\r\n\r\n\r\nexport const KEYBOARD_UP_ICON = `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\"/></svg>\r\n`;\r\n\r\nexport const KEYBOARD_DOWN_ICON = `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"/></svg>\r\n`;\r\n\r\n\r\nexport const DOCUMENT_LOCAL_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 2H6C4.9 2 4.01 2.9 4.01 4L4 20C4 21.1 4.89 22 5.99 22H11V20H6V4H13V9H18V12H20V8L14 2Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 21.5001V19.0001H19V21.5001C19 21.7751 19.225 22.0001 19.5 22.0001H21C21.275 22.0001 21.5 21.7751 21.5 21.5001V18.0001H22.35C22.58 18.0001 22.69 17.7151 22.515 17.5651L18.335 13.8001C18.145 13.6301 17.855 13.6301 17.665 13.8001L13.485 17.5651C13.315 17.7151 13.42 18.0001 13.65 18.0001H14.5V21.5001C14.5 21.7751 14.725 22.0001 15 22.0001H16.5C16.775 22.0001 17 21.7751 17 21.5001Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\nexport const DOCUMENT_DEPARTMENT_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 2H6C4.9 2 4.01 2.9 4.01 4L4 20C4 21.1 4.89 22 5.99 22H11V20H6V4H13V9H18V12H20V8L14 2Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20 15.25H22C22.555 15.25 23 15.695 23 16.25V21.75C23 22.305 22.555 22.75 22 22.75H14C13.445 22.75 13 22.305 13 21.75L13.005 16.25C13.005 15.695 13.445 15.25 14 15.25H16V14.25C16 13.695 16.445 13.25 17 13.25H19C19.555 13.25 20 13.695 20 14.25V15.25ZM17 15.25H19V14.25H17V15.25Z\" fill=\"#00804C\"/>\r\n</svg>\r\n`;\r\nexport const DOCUMENT_REGIONAL_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 2H6C4.9 2 4.01 2.9 4.01 4L4 20C4 21.1 4.89 22 5.99 22H11V20H6V4H13V9H18V12H20V8L14 2Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18 13C16.065 13 14.5 14.565 14.5 16.5C14.5 18.585 16.71 21.46 17.62 22.555C17.82 22.795 18.185 22.795 18.385 22.555C19.29 21.46 21.5 18.585 21.5 16.5C21.5 14.565 19.935 13 18 13ZM18 17.75C17.31 17.75 16.75 17.19 16.75 16.5C16.75 15.81 17.31 15.25 18 15.25C18.69 15.25 19.25 15.81 19.25 16.5C19.25 17.19 18.69 17.75 18 17.75Z\" fill=\"#662E0D\"/>\r\n</svg>\r\n`;\r\nexport const DOCUMENT_ENTERPRISE_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 2H6C4.9 2 4.01 2.9 4.01 4L4 20C4 21.1 4.89 22 5.99 22H11V20H6V4H13V9H18V12H20V8L14 2Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.5 17.5V13.5H15.5V15.5H13.5V22.5H17.5V20.5H18.5V22.5H22.5V17.5H20.5ZM15.5 21.5H14.5V20.5H15.5V21.5ZM15.5 19.5H14.5V18.5H15.5V19.5ZM15.5 17.5H14.5V16.5H15.5V17.5ZM17.5 19.5H16.5V18.5H17.5V19.5ZM17.5 17.5H16.5V16.5H17.5V17.5ZM17.5 15.5H16.5V14.5H17.5V15.5ZM19.5 19.5H18.5V18.5H19.5V19.5ZM19.5 17.5H18.5V16.5H19.5V17.5ZM19.5 15.5H18.5V14.5H19.5V15.5ZM21.5 21.5H20.5V20.5H21.5V21.5ZM21.5 19.5H20.5V18.5H21.5V19.5Z\" fill=\"#CF4714\"/>\r\n</svg>\r\n`;\r\n\r\n\r\n","import { AfterViewInit, Injectable, OnInit } from \"@angular/core\";\r\nimport { MatIconRegistry } from \"@angular/material/icon\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { CHECKLIST_ICON, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON } from \"../related/common/qms-icon.const\";\r\n\r\n@Injectable(\r\n {\r\n providedIn: 'root'\r\n }\r\n)\r\nexport class QMSIconRegistryService {\r\n registerProcessIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('process', _sanitizer.bypassSecurityTrustHtml(PROCESS_ICON));\r\n }\r\n \r\n registerProcessAreaIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('process_area', _sanitizer.bypassSecurityTrustHtml(PROCESS_AREA_ICON));\r\n _iconRegistry.addSvgIconLiteral('process_area_outlined', _sanitizer.bypassSecurityTrustHtml(PROCESS_AREA_OUTLINED_ICON));\r\n }\r\n\r\n registerDocumentIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('document', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_ICON));\r\n _iconRegistry.addSvgIconLiteral('document_local', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_LOCAL_ICON));\r\n _iconRegistry.addSvgIconLiteral('document_enterprise', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_ENTERPRISE_ICON));\r\n _iconRegistry.addSvgIconLiteral('document_department', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_DEPARTMENT_ICON));\r\n _iconRegistry.addSvgIconLiteral('document_regional', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_REGIONAL_ICON));\r\n }\r\n registerFolderIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('folder', _sanitizer.bypassSecurityTrustHtml(NORMAL_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('folder_outlined', _sanitizer.bypassSecurityTrustHtml(NORMAL_FOLDER_OUTLINED_ICON));\r\n\r\n _iconRegistry.addSvgIconLiteral('local_folder', _sanitizer.bypassSecurityTrustHtml(LOCAL_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('local_folder_outlined', _sanitizer.bypassSecurityTrustHtml(LOCAL_FOLDER_OUTLINED_ICON));\r\n\r\n _iconRegistry.addSvgIconLiteral('enterprise_folder', _sanitizer.bypassSecurityTrustHtml(ENTERPRISE_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('enterprise_folder_outlined', _sanitizer.bypassSecurityTrustHtml(ENTERPRISE_FOLDER_OUTLINED_ICON));\r\n\r\n _iconRegistry.addSvgIconLiteral('regional_folder', _sanitizer.bypassSecurityTrustHtml(REGIONAL_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('regional_folder_outlined', _sanitizer.bypassSecurityTrustHtml(REGIONAL_FOLDER_OUTLINED_ICON));\r\n\r\n _iconRegistry.addSvgIconLiteral('department_folder', _sanitizer.bypassSecurityTrustHtml(DEPARTMENT_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('department_folder_outlined', _sanitizer.bypassSecurityTrustHtml(DEPARTMENT_FOLDER_OUTLINED_ICON));\r\n }\r\n\r\n registerDeviationIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('deviation', _sanitizer.bypassSecurityTrustHtml(DEVIATION_ICON));\r\n }\r\n\r\n registerChecklistIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('checklist', _sanitizer.bypassSecurityTrustHtml(CHECKLIST_ICON));\r\n }\r\n\r\n registerRiskIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('risk', _sanitizer.bypassSecurityTrustHtml(RISK_ICON));\r\n }\r\n}","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { QMSIconRegistryService } from \"./icon-registry.service\";\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule\r\n ],\r\n declarations: [\r\n ],\r\n providers: [QMSIconRegistryService]\r\n })\r\n export class QMSAppIconModule { }","export const BREADCRUMB_DROPDOWN_ICON = `<svg width=\"28\" height=\"28\" viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.3552 5.35508C11.9118 4.91175 11.3168 4.66675 10.6985 4.66675H4.66683C3.3835 4.66675 2.34516 5.71675 2.34516 7.00008L2.3335 21.0001C2.3335 22.2834 3.3835 23.3334 4.66683 23.3334H23.3335C24.6168 23.3334 25.6668 22.2834 25.6668 21.0001V9.33341C25.6668 8.05008 24.6168 7.00008 23.3335 7.00008H14.0002L12.3552 5.35508Z\" fill=\"#00324E\"/>\r\n<path d=\"M10.25 13.125L14 16.875L17.75 13.125H10.25Z\" fill=\"white\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;","export enum ItemIconType {\r\n none = 0,\r\n name = 1,\r\n path = 2,\r\n base64 = 3,\r\n svg = 4\r\n}\r\n","import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';\r\nimport { AfterViewInit, ContentChild, Directive, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, Renderer2} from '@angular/core';\r\nimport { QMSToolTipRendererDirective } from '../../directives/tooltip/tooltip-renderer.directive';\r\n\r\n@Directive({\r\n selector: '[qms-breadcrumb-item]',\r\n})\r\nexport class QMSBreadcrumbItemDirective implements OnInit, AfterViewInit {\r\n @Input() isLastItem: boolean;\r\n @Input() showTooltip: boolean;\r\n @Output() showTooltipChange = new EventEmitter();\r\n @ContentChild(\"breadcrumbItemText\", {static: false}) breadcrumbItemText: ElementRef;\r\n constructor(public ele: ElementRef, private renderer: Renderer2) {\r\n }\r\n ngAfterViewInit(): void {\r\n if(this.breadcrumbItemText){\r\n this.breadcrumbItemText.nativeElement.classList.add('qms-breadcrumb-item-text')\r\n if(this.breadcrumbItemText.nativeElement.innerText.length > 30){\r\n this.showTooltipChange.emit(true);\r\n }\r\n }\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-item');\r\n if(this.isLastItem){\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-last-item')\r\n }\r\n }\r\n }\r\n}","export enum DropdownBreadCrumbNodeWidth{\r\n NORMAL = 66,\r\n TABLE = 44,\r\n}","import { AfterViewChecked, AfterViewInit, Component, ElementRef, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatIconRegistry } from \"@angular/material/icon\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { BREADCRUMB_DROPDOWN_ICON } from \"../../common/qms-icon.const\";\r\nimport { ItemIconType } from \"../related/common/item-icon-type.enum\";\r\nimport { QMSBreadcrumbItemDirective } from \"./breadcrumb-item.directive\";\r\nimport { DropdownBreadCrumbNodeWidth } from \"./enum/dropdown-node-width.enum\";\r\nimport { BreadcrumbNode } from \"./model/breadcrumb-node.model\";\r\n\r\n@Component({\r\n selector: 'qms-breadcrumb',\r\n templateUrl: 'breadcrumb.html',\r\n styleUrls: ['breadcrumb.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\n\r\nexport class QMSBreadcrumb implements OnInit, AfterViewInit {\r\n @Input() nodes: BreadcrumbNode[];\r\n @Input() type: string;\r\n @Input() maxLine: number;\r\n @Input() numDisplayItem: number = 0;\r\n @Output() onItemClick: EventEmitter<any> = new EventEmitter<any>();\r\n @ViewChildren(QMSBreadcrumbItemDirective, {}) breadCrumbNodes: QueryList<QMSBreadcrumbItemDirective>;\r\n\r\n dropdownNodes: BreadcrumbNode[] = [];\r\n isOverflow = false;\r\n homeNode: BreadcrumbNode;\r\n previousNode: BreadcrumbNode;\r\n itemNodes: BreadcrumbNode[];\r\n itemSpace: number = DropdownBreadCrumbNodeWidth.NORMAL; // width of dropdown node in normal view\r\n itemIconType;\r\n isMobileType: boolean = false;\r\n\r\n constructor(private ele: ElementRef,\r\n private iconRegistry: MatIconRegistry,\r\n private sanitizer: DomSanitizer) {\r\n iconRegistry.addSvgIconLiteral('breadcrumb_dropdown', sanitizer.bypassSecurityTrustHtml(BREADCRUMB_DROPDOWN_ICON));\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (!this.isMobileType) {\r\n if (!this.maxLine || this.maxLine < 2) {\r\n this.checkOverflow(this.ele.nativeElement.offsetWidth);\r\n }\r\n else {\r\n this.checkOverflow(this.ele.nativeElement.offsetWidth * 1.7);\r\n }\r\n }\r\n if (+this.numDisplayItem > 0 && this.itemNodes.length >= 2) {\r\n this.dropdownNodes = [];\r\n this.dropdownNodes = this.itemNodes.slice(0, -this.numDisplayItem).reverse();\r\n this.itemNodes = [...[], ...this.itemNodes.slice(-this.numDisplayItem)];\r\n this.isOverflow = true;\r\n }\r\n }\r\n\r\n checkOverflow(width: number) {\r\n const nodeWidths = this.breadCrumbNodes.map(x => x.ele.nativeElement.offsetWidth);\r\n let currentWidth = 0;\r\n nodeWidths.forEach(width => {\r\n currentWidth += width;\r\n });\r\n this.isOverflow = width < currentWidth;\r\n if (this.isOverflow) {\r\n let screenWidth = width;\r\n if (this.type !== 'table') {\r\n this.dropdownNodes.push(this.homeNode);\r\n currentWidth -= nodeWidths[0];\r\n currentWidth += this.itemSpace;\r\n screenWidth -= this.itemSpace;\r\n }\r\n else {\r\n currentWidth += this.itemSpace;\r\n screenWidth -= nodeWidths[0];\r\n screenWidth -= this.itemSpace;\r\n }\r\n nodeWidths.shift();\r\n nodeWidths.forEach((eleWidth, index) => {\r\n if (currentWidth > screenWidth) {\r\n this.itemNodes[index].isShow = false;\r\n this.dropdownNodes.push(this.itemNodes[index]);\r\n currentWidth -= (eleWidth);\r\n }\r\n });\r\n this.dropdownNodes = this.dropdownNodes.reverse();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.itemIconType = ItemIconType;\r\n if (this.nodes && this.nodes.length > 0) {\r\n this.nodes.forEach(ele => {\r\n ele.isOverflow = ele.isOverflow ? ele.isOverflow : false;\r\n ele.isShow = true;\r\n ele.displayType = this.getItemIconType(ele);\r\n });\r\n if (this.type !== 'mobile') {\r\n this.homeNode = this.nodes[0];\r\n this.itemNodes = this.nodes.slice(1);\r\n }\r\n else {\r\n this.isMobileType = true;\r\n this.previousNode = this.nodes[this.nodes.length >= 2 ? this.nodes.length - 2 : 0];\r\n }\r\n }\r\n\r\n if (this.type === 'table') {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-table');\r\n this.itemSpace = DropdownBreadCrumbNodeWidth.TABLE; // width of dropdown node in table view\r\n }\r\n if (this.maxLine && this.maxLine > 1) {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb__multi-line');\r\n }\r\n }\r\n\r\n getItemIconType(treeConfig: BreadcrumbNode) {\r\n if (treeConfig.itemIcon) return ItemIconType.name;\r\n if (treeConfig.itemIconPath) return ItemIconType.path;\r\n if (treeConfig.itemIconBase64) return ItemIconType.base64;\r\n if (treeConfig.itemIconSvg) return ItemIconType.svg;\r\n return ItemIconType.none;\r\n }\r\n\r\n getImagePath(node: BreadcrumbNode) {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(node.itemIconBase64) as string;\r\n }\r\n\r\n onKeyPressed(event) {\r\n [...event.target.children].forEach(x => x.click());\r\n }\r\n\r\n onItemSelect(item: BreadcrumbNode) {\r\n if (this.onItemClick) {\r\n this.onItemClick.emit(item);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-breadcrumb-direction-icon]',\r\n})\r\nexport class QMSBreadcrumbDirectionIconDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-direction-icon');\r\n }\r\n }\r\n}","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { QMSToolTipRendererDirective } from \"../../directives/tooltip/tooltip-renderer.directive\";\r\nimport { QmsAngularModule } from \"../../qms-angular.module\";\r\nimport { QMSButtonModule } from \"../button/button.module\";\r\nimport { QMSBreadcrumb } from \"./breadcrumb\";\r\nimport { QMSBreadcrumbDirectionIconDirective } from \"./breadcrumb-direction-icon.directive\";\r\nimport { QMSBreadcrumbItemDirective } from \"./breadcrumb-item.directive\";\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n QmsAngularModule,\r\n QMSButtonModule,\r\n MatMenuModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n QMSBreadcrumb,\r\n QMSBreadcrumbItemDirective,\r\n QMSBreadcrumbDirectionIconDirective,\r\n ],\r\n declarations: [\r\n QMSBreadcrumb,\r\n QMSBreadcrumbItemDirective,\r\n QMSBreadcrumbDirectionIconDirective,\r\n ],\r\n providers: []\r\n })\r\n export class QMSBreadcrumbModule { }","export enum DataType {\r\n process = 2,\r\n document = 1,\r\n area = 3,\r\n folder = 4,\r\n deviation = 5,\r\n checklist = 6,\r\n risk = 7,\r\n deviationType = 8,\r\n checklistCategory = 9,\r\n riskFolder = 10\r\n}","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { DataType } from \"../common/data-type.enum\";\r\nimport { SelectedNode } from \"../model/selected-node.model\";\r\n\r\n@Component({\r\n selector: 'qms-related-content',\r\n templateUrl: './related-content.component.html',\r\n styleUrls: ['./related-content.component.scss']\r\n})\r\nexport class RelatedContentComponent implements OnInit {\r\n LANG: any;\r\n @Input() header: string;\r\n @Input() contents: Array<SelectedNode> = [];\r\n\r\n dataType = DataType;\r\n imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';\r\n\r\n ngOnInit(): void {\r\n this.LANG = '';\r\n }\r\n\r\n removeContent(content: SelectedNode) {\r\n const index = this.contents.findIndex(x => {\r\n return x.id === content.id;\r\n });\r\n if (index >= 0) {\r\n this.contents.splice(index, 1);\r\n }\r\n }\r\n}\r\n","export enum DocumentNodeType {\r\n Document = 1,\r\n LinkDocument = 2,\r\n FileDocument = 3,\r\n ShortcutDocument = 4,\r\n Folder = 5, // Level 2\r\n TopFolder = 6, // Level 1\r\n DepartmentFolder = 7,\r\n RegionalFolder = 8\r\n}","import { Component, EventEmitter, Inject, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatIconRegistry } from \"@angular/material/icon\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSIconRegistryService } from \"../../app-icon/icon-registry.service\";\r\nimport { DataType } from \"../common/data-type.enum\";\r\nimport { DocumentNodeType } from \"../common/document-folder-type.enum\";\r\nimport { IRelated, RelatedData } from \"../model/related-data.model\";\r\n\r\n@Component({\r\n selector: 'qms-related-list',\r\n templateUrl: './list-related.component.html',\r\n styleUrls: ['./list-related.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelatedListComponent implements OnInit, OnChanges {\r\n LANG: any;\r\n title: string;\r\n isNotEditedItem: boolean;\r\n relatedData: Array<IRelated> = [];\r\n dataType = DataType;\r\n // imageProcess = '../qms-angular/src/assets/images/union.svg';\r\n imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';\r\n\r\n @Input() data: RelatedData;\r\n @Input() showStatus: boolean;\r\n @Output() updateData: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() onItemSelect: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n private domSanitizer: DomSanitizer,\r\n public translate: TranslateLibraryService,\r\n private iconRegistry: MatIconRegistry,\r\n private appIconService: QMSIconRegistryService\r\n ) {\r\n appIconService.registerProcessIcon(iconRegistry, domSanitizer);\r\n appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);\r\n appIconService.registerDocumentIcon(iconRegistry, domSanitizer);\r\n appIconService.registerFolderIcon(iconRegistry, domSanitizer);\r\n appIconService.registerDeviationIcon(iconRegistry, domSanitizer);\r\n appIconService.registerChecklistIcon(iconRegistry, domSanitizer);\r\n appIconService.registerRiskIcon(iconRegistry, domSanitizer);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.data && JSON.stringify(changes.data.currentValue) !== JSON.stringify(changes.data.previousValue)) {\r\n this.relatedData = [];\r\n this.title = changes.data.currentValue.title;\r\n this.isNotEditedItem = changes.data.currentValue['isNotEditedItem'] ?? false;\r\n this.relatedData = [...changes.data.currentValue.data];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.title = this.data.title;\r\n this.isNotEditedItem = this.data['isNotEditedItem'] ?? false;\r\n this.relatedData = this.data.data;\r\n\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n getImagePath() {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(this.imageProcess) as string;\r\n }\r\n\r\n removeItem(index: number) {\r\n this.updateData.emit(index);\r\n }\r\n\r\n onCloseClick(): void {\r\n\r\n }\r\n\r\n onItemClick(item: any): void {\r\n if (this.onItemSelect)\r\n this.onItemSelect.emit(item);\r\n }\r\n\r\n onItemBreadcrumbClick(event: any) {\r\n if (this.onItemSelect)\r\n this.onItemSelect.emit(event);\r\n }\r\n\r\n getItemStatus(item: any) {\r\n return (this.showStatus && item?.statusName) ? `, ${item?.statusName}` : '';\r\n }\r\n\r\n getNodeIcon(item) {\r\n switch (item.itemType) {\r\n case DataType.folder: {\r\n switch (item.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'department_folder_outlined';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'regional_folder_outlined';\r\n case DocumentNodeType.TopFolder:\r\n return 'enterprise_folder_outlined';\r\n case DocumentNodeType.Folder:\r\n return 'local_folder_outlined';\r\n default:\r\n return 'folder_outlined';\r\n }\r\n }\r\n case DataType.document: {\r\n switch (item.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'document_department';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'document_regional';\r\n case DocumentNodeType.TopFolder:\r\n return 'document_enterprise';\r\n case DocumentNodeType.Folder:\r\n return 'document_local';\r\n default:\r\n return 'document';\r\n }\r\n }\r\n case DataType.area:\r\n return 'process_area_outlined';\r\n case DataType.process:\r\n return 'process';\r\n case DataType.deviation:\r\n return 'deviation';\r\n case DataType.checklist:\r\n return 'checklist';\r\n case DataType.risk:\r\n return 'risk';\r\n default:\r\n return 'folder_outlined';\r\n }\r\n }\r\n\r\n canShowParent(item) {\r\n return item.itemType === this.dataType.deviation || item.itemType === this.dataType.checklist;\r\n }\r\n}\r\n","export enum ModuleType {\r\n documentProcess = 1,\r\n deviation = 2,\r\n checklist = 3,\r\n risk = 4\r\n}\r\n","export class RelatedConst {\r\n public static IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';\r\n public static HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';\r\n public static SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';\r\n}\r\n","import { TreeConfig } from \"./tree-config.model\";\r\nimport { TreeModel } from \"./tree.model\";\r\nexport class PopupData {\r\n moduleId: number;\r\n moduleName: string;\r\n treeData1: Array<TreeModel>;\r\n treeData2: Array<TreeModel>;\r\n treeConfig1: TreeConfig;\r\n treeConfig2: TreeConfig;\r\n selectedNode?: Array<any>;\r\n disabledList?: Array<any>;\r\n disabledList2?: Array<any>;\r\n splitView?: boolean;\r\n maxSelectItemCount?: number;\r\n canOnlySelectItem?: boolean;\r\n\r\n constructor() {\r\n this.moduleId = 0;\r\n this.moduleName = '';\r\n this.treeData1 = [];\r\n this.treeData2 = [];\r\n this.selectedNode = [];\r\n this.disabledList = [];\r\n this.disabledList2 = [];\r\n this.splitView = false;\r\n }\r\n}\r\n","import { BreadcrumbNode } from \"../../breadcrumb/model/breadcrumb-node.model\";\r\n\r\nexport class RelatedItem {\r\n id: number;\r\n name: string;\r\n type: number;\r\n icon: string;\r\n text: string;\r\n breadcumbs: BreadcrumbNode[];\r\n}\r\n\r\nexport class IRelated {\r\n id: string;\r\n itemName: string;\r\n itemType: number;\r\n statusName: string;\r\n itemNumberId?: string;\r\n parentId: string;\r\n parentName: string;\r\n disabled?: boolean;\r\n levelType?: number;\r\n breadcumbs?: string[];\r\n}\r\n\r\nexport class RelatedData {\r\n title: string;\r\n data: Array<IRelated>;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.data = [];\r\n }\r\n}\r\n\r\n\r\nexport class SearchRelatedItemsToProcessAndDocument {\r\n processes: IRelated[];\r\n documents: IRelated[];\r\n processAreas: IRelated[];\r\n folders: IRelated[];\r\n}\r\n\r\nexport class SearchRelatedItemsToDeviation {\r\n categories: IRelated[];\r\n types: IRelated[];\r\n}\r\n\r\n\r\nexport class SearchRelatedItemsToChecklist {\r\n checklists: IRelated[];\r\n categories: IRelated[];\r\n}\r\n\r\nexport class SearchRelatedItemsToRisk {\r\n assessments: IRelated[];\r\n folders: IRelated[];\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { IRelated } from \"../model/related-data.model\";\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class QMSRelatedGlobalService {\r\n searchRelated = new BehaviorSubject<IRelated[]>([]);\r\n splitViewValue = new BehaviorSubject<IRelated[]>([]);\r\n\r\n constructor() { }\r\n\r\n setSearchRelated(result: IRelated[]) {\r\n this.searchRelated.next(result);\r\n }\r\n\r\n setSplitviewValue(result: IRelated[]){\r\n this.splitViewValue.next(result);\r\n }\r\n}\r\n ","export class TreeNode {\r\n children: TreeNode[];\r\n id: string;\r\n name: string;\r\n parentId?: string;\r\n levelType?: number;\r\n}\r\n","import { TreeNode } from '../model/tree-node.model';\r\nimport { TreeModel } from '../model/tree.model';\r\n\r\nlet objData = {};\r\nlet json = JSON;\r\nfunction buildArrayTree(obj: object, level: number): TreeNode[] {\r\n return Object.keys(obj).reduce<TreeNode[]>((accumulator, key) => {\r\n const value = obj[key];\r\n const node = new TreeNode();\r\n const keyObj = json.parse(key);\r\n node.id = keyObj[\"id\"];\r\n node.name = keyObj[\"name\"];\r\n node.parentId = keyObj[\"parentId\"];\r\n node.levelType = keyObj[\"levelType\"];\r\n\r\n if (value != null) {\r\n if (typeof value === 'object') {\r\n node.children = this.buildArrayTree(value, level + 1);\r\n } else {\r\n node.name = value;\r\n }\r\n }\r\n\r\n return accumulator.concat(node);\r\n }, []);\r\n}\r\n\r\nfunction buildObjectTree(arr: TreeModel[]): object {\r\n objData = {};\r\n let objTreeData;\r\n const root = arr.filter((x: { parentId: string }) => {\r\n return x.parentId === '';\r\n });\r\n root.forEach((item) => {\r\n objTreeData = this.findParent(item.rootId, arr);\r\n });\r\n return objTreeData;\r\n}\r\n\r\nfunction findParent(id: string, array: TreeModel[]) {\r\n const objParent = {};\r\n const parent = array.filter((x: { rootId: string }) => {\r\n return x.rootId === id;\r\n });\r\n\r\n parent.forEach((item) => {\r\n let parentKey = {\r\n id: item.childId,\r\n name: item.childName,\r\n parentId: item.rootId,\r\n levelType: item.levelType\r\n }\r\n objParent[json.stringify(parentKey)] = null;\r\n });\r\n\r\n // find child\r\n const child = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n if (child.length > 0) {\r\n this.findChild(id, objParent, array);\r\n }\r\n\r\n let key = {\r\n id: parent[0].rootId,\r\n name: parent[0].rootName,\r\n parentId: '',\r\n levelType: parent[0].levelType\r\n }\r\n // add node to tree\r\n objData[json.stringify(key)] = objParent;\r\n return objData;\r\n}\r\n\r\nfunction findChild(id: string, objParent: object, array: TreeModel[]) {\r\n const subNode = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n subNode.forEach((item) => {\r\n const processNode = {};\r\n let nodeKey = {\r\n id: item.childId,\r\n name: item.childName,\r\n parentId: item.rootId,\r\n levelType: item.levelType\r\n }\r\n processNode[json.stringify(nodeKey)] = null;\r\n this.findChild(item.rootId, processNode, array);\r\n\r\n let key = {\r\n id: item.rootId,\r\n name: item.subName,\r\n parentId: id,\r\n levelType: item.levelType\r\n }\r\n objParent[json.stringify(key)] = { ...objParent[json.stringify(key)], ...processNode };\r\n });\r\n}\r\n\r\nconst TreeFunctions = {\r\n buildArrayTree,\r\n buildObjectTree,\r\n findParent,\r\n findChild\r\n};\r\n\r\nexport default TreeFunctions;\r\n","import { SelectionModel } from '@angular/cdk/collections';\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { QMSIconRegistryService } from '../../app-icon/icon-registry.service';\r\nimport { DataType } from '../common/data-type.enum';\r\nimport { DocumentNodeType } from '../common/document-folder-type.enum';\r\nimport { ItemIconType } from '../common/item-icon-type.enum';\r\nimport { CHECKLIST_ICON, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON } from '../common/qms-icon.const';\r\nimport { RelatedConst } from '../common/related.const';\r\nimport TreeFunctions from '../common/tree.function';\r\nimport { TreeConfig } from '../model/tree-config.model';\r\nimport { TreeModel } from '../model/tree.model';\r\n\r\ninterface TreeNode {\r\n id: string;\r\n name: string;\r\n children?: TreeNode[];\r\n parentId?: string;\r\n levelType?: number;\r\n}\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n parentId?: string;\r\n disabled: boolean;\r\n levelType?: number;\r\n}\r\n\r\ninterface ICheckedNode {\r\n id: string;\r\n checked: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-tree',\r\n templateUrl: './tree.component.html',\r\n styleUrls: ['./tree.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class TreeComponent implements OnInit, OnChanges {\r\n @Input() treeData: Array<TreeModel> = [];\r\n @Input() treeConfig: TreeConfig;\r\n @Input() selectedData: Array<TreeFlatNode> = [];\r\n @Input() selectedRiskData: any = [];\r\n @Input() disabledList: any = [];\r\n @Output() selectNodeEvent: EventEmitter<TreeFlatNode> = new EventEmitter();\r\n @Output() selectFolderEvent: EventEmitter<TreeFlatNode> = new EventEmitter();\r\n @Output() checkBoxEvent: EventEmitter<TreeFlatNode[]> = new EventEmitter();\r\n @Output() childCheckedEvent: EventEmitter<ICheckedNode> = new EventEmitter();\r\n @Output() nodeExpandEvent: EventEmitter<TreeFlatNode> = new EventEmitter();\r\n\r\n listParentObj = {};\r\n filterData: TreeModel[] = [];\r\n treeObject: object;\r\n arrIndex: string[] = [];\r\n checkedNodeList: Array<TreeFlatNode> = [];\r\n useExpandFeature = true;\r\n allowSelectFolder = false;\r\n areaOfCurrentProcess = '';\r\n showCheckBox = false;\r\n allowMultipleCheck = true;\r\n singleSelectedNode = false;\r\n onlyCheckBoxForChild = false;\r\n onlyFolder = false;\r\n itemIconType = ItemIconType;\r\n displayType = 1;\r\n openIcon = '';\r\n openIconColor = '#1954A9';\r\n closeIcon = '';\r\n closeIconColor = '#000000';\r\n itemIcon = '';\r\n itemIconSvg = '';\r\n itemIconPath = '';\r\n itemIconBase64 = '';\r\n moduleId: number;\r\n\r\n treeControl = new FlatTreeControl<TreeFlatNode>(\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n }\r\n );\r\n\r\n isChecked = false;\r\n checklistSelection: any;\r\n\r\n constructor(private cdRef: ChangeDetectorRef,\r\n private domSanitizer: DomSanitizer,\r\n private iconRegistry: MatIconRegistry,\r\n private appIconService: QMSIconRegistryService) {\r\n iconRegistry.addSvgIconLiteral('keyboard_up', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_UP_ICON));\r\n iconRegistry.addSvgIconLiteral('keyboard_down', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_DOWN_ICON));\r\n appIconService.registerProcessIcon(iconRegistry, domSanitizer);\r\n appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);\r\n appIconService.registerDocumentIcon(iconRegistry, domSanitizer);\r\n appIconService.registerFolderIcon(iconRegistry, domSanitizer);\r\n appIconService.registerDeviationIcon(iconRegistry, domSanitizer);\r\n appIconService.registerChecklistIcon(iconRegistry, domSanitizer);\r\n appIconService.registerRiskIcon(iconRegistry, domSanitizer);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.treeData && JSON.stringify(changes.treeData.currentValue) !== JSON.stringify(changes.treeData.previousValue)) {\r\n this.treeData = [...this.treeData, changes.treeData.currentValue];\r\n this.initTreeData();\r\n }\r\n\r\n if (changes.selectedData &&\r\n (changes.selectedData.currentValue.length > 0 ||\r\n JSON.stringify(changes.selectedData.currentValue) !==\r\n JSON.stringify(changes.selectedData.previousValue))) {\r\n this.checkSelected(changes.selectedData.currentValue);\r\n } else {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n this.checklistSelection.deselect(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initTreeData();\r\n }\r\n\r\n initTreeData() {\r\n this.treeData.forEach(item => {\r\n if (!!item.parentId && item.parentId.length > 0) {\r\n this.listParentObj[item.parentId] = 1;\r\n }\r\n if (item.childId && item.childId.length > 0) {\r\n this.listParentObj[item.rootId] = 1;\r\n }\r\n });\r\n\r\n if (this.treeConfig.showCheckBox) {\r\n this.filterData = this.treeData;\r\n }\r\n else {\r\n this.filterData = this.treeData.filter((x) => {\r\n return x.parentId === '';\r\n });\r\n }\r\n\r\n this.treeObject = TreeFunctions.buildObjectTree(this.filterData);\r\n this.dataSource.data = TreeFunctions.buildArrayTree(this.treeObject, 0).map(element => {\r\n const item = this.sortDataTree(element);\r\n element = null;\r\n element = { ...{}, ...item };\r\n return element;\r\n });\r\n\r\n this.useExpandFeature = !this.treeConfig.showCheckBox;\r\n this.allowSelectFolder = this.treeConfig.allowSelectFolder;\r\n this.areaOfCurrentProcess = this.treeConfig.areaOfCurrentProcess;\r\n this.showCheckBox = this.treeConfig.showCheckBox;\r\n this.onlyCheckBoxForChild = this.treeConfig.onlyCheckBoxForChild;\r\n this.moduleId = this.treeConfig.moduleId;\r\n this.openIcon = this.treeConfig.openIcon;\r\n this.openIconColor = this.treeConfig.openIconColor ? this.treeConfig.openIconColor : this.openIconColor;\r\n this.closeIcon = this.treeConfig.closeIcon;\r\n this.closeIconColor = this.treeConfig.closeIconColor ? this.treeConfig.closeIconColor : this.closeIconColor;\r\n this.itemIcon = this.treeConfig.itemIcon;\r\n this.itemIconSvg = this.treeConfig.itemIconSvg;\r\n this.itemIconPath = this.treeConfig.itemIconPath;\r\n this.itemIconBase64 = this.domSanitizer.bypassSecurityTrustResourceUrl(this.treeConfig.itemIconBase64) as string;\r\n this.allowMultipleCheck = this.treeConfig.allowMultipleCheck;\r\n this.singleSelectedNode = this.treeConfig.singleSelectedNode;\r\n this.onlyFolder = this.treeConfig.onlyFolder;\r\n this.checklistSelection = new SelectionModel<TreeFlatNode>(this.allowMultipleCheck); /* true: multiple */\r\n\r\n this.displayType = this.getItemIconType(this.treeConfig);\r\n\r\n // Expand child node tree\r\n if (this.treeConfig.expandAll) {\r\n this.treeControl.expandAll();\r\n }\r\n\r\n // Risk Tree\r\n if (this.selectedRiskData.length) {\r\n const selectedData = [];\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n this.selectedRiskData.forEach(x => {\r\n const index = selectedData.findIndex(el => el.id === x.rootId);\r\n if (x.rootId === this.treeControl.dataNodes[i].id && index < 0) {\r\n selectedData.push(this.treeControl.dataNodes[i]);\r\n }\r\n });\r\n }\r\n\r\n this.checkSelected(selectedData);\r\n this.checkBoxEvent.emit(selectedData);\r\n }\r\n\r\n // Disable List\r\n if (this.disabledList.length) {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n this.disabledList.forEach(x => {\r\n if (x.id === this.treeControl.dataNodes[i].id\r\n && (!x.parentId || x.parentId === this.treeControl.dataNodes[i].parentId)) {\r\n this.treeControl.dataNodes[i].disabled = true;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n sortDataTree(obj) {\r\n if (obj.children) {\r\n let child = [];\r\n const leafNode = obj.children.filter(x => !x.children);\r\n const subFolderNode = obj.children.filter(x => x.children);\r\n // for(let index = subFolderNode.length - 1; index >= 0 ; index--){\r\n // let el = subFolderNode[index];\r\n // this.sortDataTree(el); \r\n // child.unshift(el); \r\n // }\r\n subFolderNode.forEach(element => {\r\n let el = element;\r\n this.sortDataTree(el);\r\n child.push(el);\r\n });\r\n\r\n leafNode.forEach(element => {\r\n let el = element;\r\n child.push(el);\r\n });\r\n obj.children = child;\r\n }\r\n return obj;\r\n }\r\n\r\n getImagePath() {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(this.treeConfig.itemIconBase64) as string;\r\n }\r\n\r\n checkSelected(itemSelected: TreeFlatNode[]) {\r\n setTimeout(() => {\r\n if (!this.treeControl['dataNodes']) return;\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n const tree = this.treeControl.dataNodes[i];\r\n this.checklistSelection.deselect(tree);\r\n\r\n for (let j = 0; j < itemSelected.length; j++) {\r\n const element = itemSelected[j];\r\n if (tree.id === element.id && (!element.parentId || tree.parentId === element.parentId) && !tree.disabled) {\r\n this.checklistSelection.select(tree);\r\n }\r\n }\r\n }\r\n }, 500);\r\n\r\n }\r\n\r\n checkSelectedSameNode(itemSelected: TreeFlatNode[], flag: boolean) {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n const tree = this.treeControl.dataNodes[i];\r\n for (let j = 0; j < itemSelected.length; j++) {\r\n const element = itemSelected[j];\r\n if (element.id && tree.id === element.id\r\n && tree.parentId === element.parentId && !tree.disabled) {\r\n flag ? this.checklistSelection.select(tree) : this.checklistSelection.deselect(tree);\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n private getItemIconType(treeConfig: TreeConfig) {\r\n if (treeConfig.itemIcon && treeConfig.itemIcon.length) return this.itemIconType.name;\r\n if (treeConfig.itemIconPath && treeConfig.itemIconPath.length) return this.itemIconType.path;\r\n if (treeConfig.itemIconBase64 && treeConfig.itemIconBase64.length) return this.itemIconType.base64;\r\n if (treeConfig.itemIconSvg && treeConfig.itemIconSvg.length) return this.itemIconType.svg;\r\n return this.itemIconType.none;\r\n }\r\n\r\n private transformer = (node: TreeNode, level: number) => {\r\n let checkHasChild = true;\r\n if (!node.children) {\r\n checkHasChild = false;\r\n } else if (!(!!node.children && node.children.length && node.children.length > 0)) {\r\n checkHasChild = false;\r\n }\r\n // tslint:disable-next-line:max-line-length\r\n else if (\r\n !!node.children &&\r\n node.children.length &&\r\n node.children.length === 1 &&\r\n !node.children[0].name.length &&\r\n node.id.toString() === this.areaOfCurrentProcess\r\n ) {\r\n checkHasChild = false;\r\n }\r\n\r\n if (!(this.listParentObj[node.id] === 1)) {\r\n checkHasChild = false;\r\n }\r\n\r\n return {\r\n expandable: !!node.children && node.children.length > 0,\r\n name: node.name,\r\n level,\r\n id: node.id,\r\n hasChild: checkHasChild,\r\n parentId: node.parentId,\r\n disabled: false,\r\n levelType: node.levelType\r\n };\r\n };\r\n\r\n treeFlattener = new MatTreeFlattener(\r\n this.transformer,\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n },\r\n (node) => {\r\n return node.children;\r\n }\r\n );\r\n\r\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\r\n\r\n\r\n /** Whether all the descendants of the node are selected */\r\n descendantsAllSelected(node: TreeFlatNode): boolean {\r\n\r\n const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];\r\n\r\n if (!descendants.length) {\r\n return this.checklistSelection.isSelected(node);\r\n }\r\n const selected = this.checklistSelection.isSelected(node);\r\n\r\n const allSelected = descendants.every(child => this.checklistSelection.isSelected(child));\r\n if (!selected && allSelected) {\r\n this.checklistSelection.select(node);\r\n this.cdRef.markForCheck();\r\n }\r\n return allSelected;\r\n\r\n }\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: TreeFlatNode): boolean {\r\n const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];\r\n\r\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\r\n todoItemSelectionToggle(node: TreeFlatNode): void {\r\n // tree have duplicate node\r\n if (this.treeConfig.canHaveDupId) {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === node.id\r\n && this.treeControl.dataNodes[i].parentId === node.parentId\r\n && !this.treeControl.dataNodes[i].disabled) {\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n } else {\r\n this.checklistSelection.toggle(node);\r\n }\r\n\r\n\r\n // process/ document single selected\r\n if (this.singleSelectedNode) {\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n\r\n } else {\r\n const descendants = this.treeControl.getDescendants(node).filter(item => !item.disabled);\r\n\r\n this.checkSelectedSameNode(descendants, this.descendantsAllSelected(node));\r\n\r\n !this.descendantsAllSelected(node)\r\n ? this.checklistSelection.select(...descendants)\r\n : this.checklistSelection.deselect(...descendants);\r\n\r\n this.cdRef.markForCheck();\r\n\r\n const allNodeIsParent = this.checklistSelection.selected.every(child => child.expandable);\r\n if (allNodeIsParent) {\r\n this.checklistSelection.selected.forEach(element => {\r\n this.checklistSelection.deselect(element);\r\n });\r\n }\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n }\r\n\r\n\r\n }\r\n\r\n todoChildSelectionToggle(node: TreeFlatNode): void {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === node.id\r\n && this.treeControl.dataNodes[i].parentId === node.parentId\r\n && !this.treeControl.dataNodes[i].disabled) {\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n // this.checklistSelection.toggle(node);\r\n this.cdRef.markForCheck();\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n\r\n }\r\n\r\n public todoItemSelectionById(ids: any[]): void {\r\n ids.forEach(\r\n id => {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === id\r\n && !this.treeControl.dataNodes[i].disabled) {\r\n if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n }\r\n )\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n }\r\n\r\n public todoItemSelection(nodes: TreeNode[]): void {\r\n nodes.forEach(\r\n node => {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === node.id &&\r\n this.treeControl.dataNodes[i].parentId === node.parentId &&\r\n !this.treeControl.dataNodes[i].disabled) {\r\n if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n }\r\n )\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n }\r\n\r\n hasChild = (_: number, node: TreeFlatNode) => {\r\n return node.expandable;\r\n };\r\n\r\n selectNode(node: TreeFlatNode) {\r\n if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {\r\n window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');\r\n }\r\n\r\n this.selectNodeEvent.emit(node);\r\n }\r\n\r\n selectFolder(node: TreeFlatNode) {\r\n this.selectFolderEvent.emit(node);\r\n }\r\n\r\n onExpandNode(node: TreeFlatNode, isExpandNode?: boolean) {\r\n if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {\r\n window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');\r\n }\r\n // set useExpandFeature = true to improve performance of tree loading\r\n if (!isExpandNode || !this.useExpandFeature) {\r\n for (let i = 0; i < this.arrIndex.length; i++) {\r\n if (this.arrIndex[i] === node.id) {\r\n this.arrIndex.splice(i, 1);\r\n }\r\n }\r\n if(isExpandNode){\r\n this.nodeExpandEvent.emit(node);\r\n }\r\n return;\r\n }\r\n\r\n \r\n\r\n // get array index to expand node after refresh datasource\r\n let index = 0;\r\n let isChange = false;\r\n let isRemove = false;\r\n this.arrIndex.push(node.id);\r\n\r\n const childArray = this.treeData.filter((x) => {\r\n return x.parentId === node.id;\r\n });\r\n let rootId = '0';\r\n let parentElement: TreeNode;\r\n let childrenList: TreeNode[];\r\n if (childArray.length === 0) {\r\n return;\r\n }\r\n childArray.forEach((item) => {\r\n if (item.rootId === rootId) {\r\n return;\r\n }\r\n\r\n // get child node from original datasource\r\n const child = this.getChildNode(item.rootId, childArray);\r\n rootId = item.rootId;\r\n\r\n index = this.getNodeIndex(child.id, undefined, this.dataSource['_treeControl'].dataNodes);\r\n if (index > -1) {\r\n return;\r\n }\r\n\r\n // add child node to expand node\r\n parentElement = this.findParentNode(node.id, this.dataSource.data);\r\n if (parentElement) {\r\n // temporary remove all node without children => purpose to add node folder first\r\n if (!isRemove) {\r\n childrenList = [...parentElement.children];\r\n this.removeChildren(parentElement);\r\n isRemove = true;\r\n }\r\n // add node folder first\r\n parentElement.children.push(child);\r\n isChange = true;\r\n }\r\n });\r\n // add node without children again\r\n if (isRemove) {\r\n this.addChildren(parentElement, childrenList);\r\n }\r\n\r\n // refresh data and expand tree node from root node\r\n if (isChange) {\r\n this.refreshTreeData();\r\n this.arrIndex.forEach((item) => {\r\n index = this.getNodeIndex(item, undefined, this.dataSource['_treeControl'].dataNodes);\r\n this.treeControl.expand(this.treeControl.dataNodes[index]);\r\n });\r\n isChange = false;\r\n }\r\n }\r\n\r\n removeChildren(parentElement?: TreeNode) {\r\n if (parentElement.children) {\r\n parentElement.children.length = 0;\r\n }\r\n }\r\n\r\n addChildren(parentElement?: TreeNode, childrenList?: TreeNode[]) {\r\n if (childrenList) {\r\n childrenList.forEach((e) => {\r\n parentElement.children.push(e);\r\n });\r\n }\r\n }\r\n\r\n getNodeIndex(id: string, level?: number, data?: any[]) {\r\n if (level) {\r\n return data.findIndex((x) => {\r\n return x.id === id && x.level === level;\r\n });\r\n }\r\n\r\n return data.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n }\r\n\r\n getChildNode(rootId: string, data: any) {\r\n const childArray = data.filter((x) => {\r\n return x.rootId === rootId;\r\n });\r\n const child = { id: childArray[0].rootId, name: childArray[0].subName, children: [] } as TreeNode;\r\n childArray.forEach((item) => {\r\n child.children.push({ id: item.childId, name: item.childName, parentId: rootId });\r\n });\r\n return child;\r\n }\r\n\r\n findParentNode(id: string, data: TreeNode[]) {\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentFather of data) {\r\n if (currentFather.id === id) {\r\n return currentFather;\r\n }\r\n\r\n if (currentFather.children) {\r\n const currentChild = currentFather.children.find((x) => {\r\n return x.id === id;\r\n });\r\n if (currentChild) {\r\n return currentChild;\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentChild1 of currentFather.children) {\r\n if (id !== currentChild1.id) {\r\n const result = this.findParentNode(id, currentFather.children);\r\n if (result !== false) {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n refreshTreeData() {\r\n const data = this.dataSource.data;\r\n this.dataSource.data = [];\r\n this.dataSource.data = data;\r\n }\r\n\r\n getNodeIcon(node: TreeFlatNode) {\r\n if (this.openIcon && this.closeIcon) {\r\n return this.treeControl.isExpanded(node) ? this.openIcon : this.closeIcon;\r\n }\r\n switch (this.moduleId) {\r\n case DataType.document: {\r\n const nodeData = this.treeData.filter(x => { return x.rootId === node.id; });\r\n if (nodeData.length > 0) {\r\n switch (nodeData[0].levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return this.treeControl.isExpanded(node) ? 'department_folder_outlined' : 'department_folder';\r\n case DocumentNodeType.RegionalFolder:\r\n return this.treeControl.isExpanded(node) ? 'regional_folder_outlined' : 'regional_folder';\r\n case DocumentNodeType.TopFolder:\r\n return this.treeControl.isExpanded(node) ? 'enterprise_folder_outlined' : 'enterprise_folder';\r\n case DocumentNodeType.Folder:\r\n return this.treeControl.isExpanded(node) ? 'local_folder_outlined' : 'local_folder';\r\n default:\r\n return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';\r\n }\r\n }\r\n return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';\r\n }\r\n case DataType.process:\r\n return this.treeControl.isExpanded(node) ? 'process_area_outlined' : 'process_area';\r\n default:\r\n return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';\r\n }\r\n }\r\n\r\n getItemIcon(node) {\r\n switch (this.moduleId) {\r\n case DataType.document:\r\n switch (node.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'document_department';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'document_regional';\r\n case DocumentNodeType.TopFolder:\r\n return 'document_enterprise';\r\n case DocumentNodeType.Folder:\r\n return 'document_local';\r\n default:\r\n return 'document';\r\n }\r\n case DataType.process:\r\n return 'process';\r\n case DataType.checklist:\r\n return 'checklist';\r\n case DataType.deviation:\r\n return 'deviation';\r\n case DataType.risk:\r\n return 'risk';\r\n default:\r\n return 'document';\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, EventEmitter, OnDestroy, ViewChild, ViewEncapsulation, AfterViewChecked, QueryList, ViewChildren } from '@angular/core';\r\nimport { Component, HostListener, Inject, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { DataType } from '../common/data-type.enum';\r\nimport { ModuleType } from '../common/module-type.enum';\r\nimport { RelatedConst } from '../common/related.const';\r\nimport { PopupData } from '../model/popup-data.model';\r\nimport { IRelated, RelatedItem } from '../model/related-data.model';\r\nimport { SelectedNode } from '../model/selected-node.model';\r\nimport { TreeConfig } from '../model/tree-config.model';\r\nimport { TreeModel } from '../model/tree.model';\r\nimport { QMSRelatedGlobalService } from '../service/related-global.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { CHECKLIST_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, RISK_ICON } from '../common/qms-icon.const';\r\nimport { TreeComponent } from '../tree/tree.component';\r\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { TreeNode } from '../../../qms-ckeditor-components/common/models/qms-ckeditor-tree-node.model';\r\nimport { DocumentNodeType } from '../common/document-folder-type.enum';\r\nimport { QMSIconRegistryService } from '../../app-icon/icon-registry.service';\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n parentId?: string;\r\n disabled: boolean;\r\n levelType?: number;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-related-popup',\r\n templateUrl: './related-popup.component.html',\r\n styleUrls: ['./related-popup.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelatedPopupComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n ngUnsubscribe = new Subject<void>();\r\n\r\n LANG: any;\r\n moduleId = 0;\r\n moduleName = '';\r\n treeData1: Array<TreeModel> = [];\r\n treeData2: Array<TreeModel> = [];\r\n treeConfig1: TreeConfig;\r\n treeConfig2: TreeConfig;\r\n\r\n checkedNodeList: Array<SelectedNode> = [];\r\n selectedNode: Array<SelectedNode> = [];\r\n selectedData: Array<TreeFlatNode> = [];\r\n selectedData2: Array<TreeFlatNode> = [];\r\n\r\n commonCheckedList: Array<TreeFlatNode> = [];\r\n documentCheckedList: Array<TreeFlatNode> = [];\r\n singleProcessList: Array<SelectedNode> = [];\r\n singleDocumentList: Array<SelectedNode> = [];\r\n splitView: boolean;\r\n\r\n module = ModuleType;\r\n dataType = DataType;\r\n itemType = 0;\r\n selectedRiskData: any = [];\r\n disabledList: any = [];\r\n disabledList2: any = [];\r\n maxSelectItemCount: number;\r\n canOnlySelectItem: boolean;\r\n\r\n isDocumentExpanded = true;\r\n isCommonExpanded = true;\r\n singleSelectedNode = false;\r\n searchOrder = [];\r\n\r\n myControl = new FormControl();\r\n filteredOptions: IRelated[] = [];\r\n isInputValue = false;\r\n\r\n itemInSplitview: IRelated[] = [];\r\n selectedFolder: TreeFlatNode = null;\r\n splitViewTitle: string = null;\r\n\r\n onSearch = new EventEmitter();\r\n onExpandFolder = new EventEmitter<IRelated>();\r\n\r\n @ViewChildren(TreeComponent, {}) dataTrees: QueryList<TreeComponent>;\r\n\r\n @ViewChild('autoCompleteInputSearch', { read: MatAutocompleteTrigger, static: true })\r\n autoComplete: MatAutocompleteTrigger;\r\n constructor(\r\n private cdRef: ChangeDetectorRef,\r\n public translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<RelatedPopupComponent>,\r\n public globalService: QMSRelatedGlobalService,\r\n private iconRegistry: MatIconRegistry,\r\n private sanitizer: DomSanitizer,\r\n private appIconService: QMSIconRegistryService,\r\n @Inject(MAT_DIALOG_DATA) public data: PopupData\r\n ) {\r\n this.moduleId = data.moduleId;\r\n this.moduleName = data.moduleName;\r\n this.treeData1 = data.treeData1;\r\n this.treeData2 = data.treeData2;\r\n this.treeConfig1 = data.treeConfig1;\r\n this.treeConfig2 = data.treeConfig2;\r\n this.selectedRiskData = data?.selectedNode || [];\r\n this.singleSelectedNode = data.treeConfig1.singleSelectedNode;\r\n this.disabledList = data.disabledList || [];\r\n this.disabledList2 = data.disabledList2 || [];\r\n this.splitView = data.splitView;\r\n this.maxSelectItemCount = data.maxSelectItemCount;\r\n this.canOnlySelectItem = data.canOnlySelectItem;\r\n appIconService.registerProcessIcon(iconRegistry, sanitizer);\r\n appIconService.registerProcessAreaIcon(iconRegistry, sanitizer);\r\n appIconService.registerDocumentIcon(iconRegistry, sanitizer);\r\n appIconService.registerFolderIcon(iconRegistry, sanitizer);\r\n appIconService.registerDeviationIcon(iconRegistry, sanitizer);\r\n appIconService.registerChecklistIcon(iconRegistry, sanitizer);\r\n appIconService.registerRiskIcon(iconRegistry, sanitizer);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.ngUnsubscribe.next();\r\n this.ngUnsubscribe.complete();\r\n this.globalService.setSearchRelated([]);\r\n this.selectedFolder = null;\r\n this.globalService.setSplitviewValue([]);\r\n }\r\n\r\n @HostListener('window:message', ['$event'])\r\n onMessage(event) {\r\n if (event.data === RelatedConst.HIDE_SEARCH_RESULT) {\r\n this.autoComplete.closePanel();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n\r\n this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {\r\n if (res && res.length) {\r\n this.filteredOptions = res;\r\n }\r\n });\r\n\r\n this.globalService.splitViewValue.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {\r\n if (res) {\r\n this.itemInSplitview = res;\r\n }\r\n });\r\n\r\n this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {\r\n this.isInputValue = true;\r\n this.onSearchRelated(val);\r\n });\r\n\r\n this.itemType = this.getDataTypeId(this.moduleId);\r\n this.searchOrder = this.getSearchOrder();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdRef.detectChanges();\r\n if (this.filteredOptions && this.filteredOptions.length) {\r\n this.autoComplete.openPanel();\r\n this.setResultHeight();\r\n } else if (this.autoComplete) {\r\n this.autoComplete.closePanel();\r\n }\r\n }\r\n\r\n getDataTypeId(moduleId: number) {\r\n let itemType;\r\n switch (moduleId) {\r\n case ModuleType.documentProcess:\r\n itemType = this.dataType.process;\r\n break;\r\n case ModuleType.deviation:\r\n itemType = this.dataType.deviation;\r\n break;\r\n case ModuleType.checklist:\r\n itemType = this.dataType.checklist;\r\n break;\r\n case ModuleType.risk:\r\n itemType = this.dataType.risk;\r\n break;\r\n default:\r\n itemType = this.dataType.document;\r\n break;\r\n }\r\n return itemType;\r\n }\r\n\r\n removeCheckedNodeList(item: TreeFlatNode) {\r\n this.selectedData = [];\r\n this.selectedData2 = [];\r\n\r\n this.checkedNodeList = this.checkedNodeList.filter(x => (x.id.toLowerCase() !== item.id.toLowerCase() || x.parentId.toLowerCase() !== item.parentId.toLowerCase()));\r\n const tempArr = [];\r\n const tempArrDocument = [];\r\n const newSelectProcessList = [];\r\n const newSelectDocumentList = [];\r\n\r\n\r\n this.commonCheckedList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {\r\n tempArr.push(element);\r\n }\r\n });\r\n });\r\n\r\n this.singleProcessList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {\r\n newSelectProcessList.push(element);\r\n }\r\n });\r\n });\r\n\r\n this.singleProcessList = newSelectProcessList;\r\n this.selectedData = [...tempArr];\r\n\r\n this.documentCheckedList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {\r\n tempArrDocument.push(element);\r\n }\r\n });\r\n });\r\n\r\n this.singleDocumentList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {\r\n newSelectDocumentList.push(element);\r\n }\r\n });\r\n });\r\n this.singleDocumentList = newSelectDocumentList;\r\n this.selectedData2 = [...tempArrDocument];\r\n }\r\n\r\n isMatchTrue(arr: any[], arr2: any[]) {\r\n return arr.every((i) => {\r\n return arr2.includes(i);\r\n });\r\n }\r\n\r\n setResultHeight(arr?: IRelated[]) {\r\n let maxHeight = 484;\r\n const popup_content = document.getElementsByClassName('qmslib_related_popup_content')[0] as HTMLElement;\r\n const line__divider = document.getElementsByClassName('line__divider')[0] as HTMLElement;\r\n if (popup_content && line__divider) {\r\n maxHeight = this.getOffsetHeight(popup_content, true) + this.getOffsetHeight(line__divider, true) * 2;\r\n }\r\n\r\n const contentResult = document.getElementsByClassName('cdk-virtual-scroll-content-wrapper')[0] as HTMLElement;\r\n const viewreports = document.getElementsByClassName('related-viewport')[0] as HTMLElement;\r\n\r\n if (viewreports) {\r\n if (contentResult.offsetHeight <= maxHeight) {\r\n viewreports.style.height = `${contentResult.offsetHeight}px`;\r\n }\r\n else {\r\n viewreports.style.height = `${maxHeight}px`;\r\n }\r\n }\r\n }\r\n\r\n onSearchRelated(_val: any) {\r\n this.filteredOptions = [];\r\n if (typeof (_val) === 'object') {\r\n this.myControl.setValue('');\r\n }\r\n else if (typeof (_val) === 'string') {\r\n if (!!_val) {\r\n this.onSearch.emit(_val);\r\n }\r\n }\r\n }\r\n\r\n getModuleFilteredOptions(moduleId: number) {\r\n return this.filteredOptions.filter(x => x.itemType === moduleId);\r\n }\r\n\r\n showSearchResult() {\r\n this.autoComplete.openPanel();\r\n }\r\n\r\n displayRelated(related?: IRelated): string | undefined {\r\n return related ? related.itemName : undefined;\r\n }\r\n\r\n selectRelated(item: IRelated) {\r\n let index = -1;\r\n this.selectedNode = [];\r\n if (this.treeConfig1.showCheckBox) {\r\n index = this.checkedNodeList.findIndex(x => {\r\n return x.id === item.id && x.parentId === item.parentId;\r\n });\r\n }\r\n\r\n if (index < 0) {\r\n let position = -1;\r\n let node: any;\r\n let typeId: number;\r\n\r\n if (item.itemType === this.dataType.document) {\r\n // document\r\n position = this.treeData2.findIndex(x => {\r\n return x.childId === item.id;\r\n });\r\n node = this.treeData2[position];\r\n typeId = this.dataType.document;\r\n this.dataTrees.toArray()[1].todoItemSelectionById([item.id]);\r\n }\r\n else if (item.itemType === this.dataType.folder) {\r\n position = this.treeData2.findIndex(x => {\r\n return x.rootId === item.id;\r\n });\r\n node = this.treeData2[position];\r\n typeId = item.itemType;\r\n if (position >= 0) {\r\n if (this.treeConfig2.showCheckBox) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.itemName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId,\r\n levelType: item.levelType\r\n });\r\n }\r\n else {\r\n this.selectedNode.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.itemName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId,\r\n levelType: item.levelType\r\n });\r\n }\r\n this.dataTrees.toArray()[1].todoItemSelectionById([item.id]);\r\n }\r\n return;\r\n }\r\n else if ((item.itemType === this.dataType.deviationType\r\n || item.itemType === this.dataType.checklistCategory\r\n || item.itemType === this.dataType.riskFolder) && !this.canOnlySelectItem) {\r\n position = this.treeData1.findIndex(x => {\r\n return x.rootId === item.id;\r\n });\r\n this.selectNodeRecursive(this.treeData1[position], item.itemType);\r\n }\r\n else if (item.itemType === this.dataType.area) {\r\n position = this.treeData1.findIndex(x => {\r\n return x.rootId === item.id;\r\n });\r\n node = this.treeData1[position];\r\n typeId = item.itemType;\r\n\r\n if (position >= 0) {\r\n if (this.treeConfig1.showCheckBox) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: node.rootId,\r\n itemName: node.rootName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId,\r\n levelType: item.levelType\r\n });\r\n }\r\n else {\r\n this.selectedNode.push({\r\n moduleId: this.moduleId,\r\n id: node.rootId,\r\n itemName: node.rootName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId,\r\n levelType: item.levelType\r\n });\r\n }\r\n }\r\n this.dataTrees.toArray()[0].todoItemSelectionById([item.id]);\r\n return;\r\n }\r\n else if (item.itemType === this.dataType.deviation ||\r\n item.itemType === this.dataType.checklist) {\r\n position = this.treeData1.findIndex(x => {\r\n return x.childId === item.id && x.rootId === item.parentId;\r\n });\r\n node = this.treeData1[position];\r\n typeId = this.itemType;\r\n const treeNode = {\r\n id: node.childId,\r\n name: node.childName,\r\n children: [],\r\n parentId: node.rootId\r\n };\r\n this.dataTrees.toArray()[0].todoItemSelection([treeNode]);\r\n }\r\n else {\r\n // process, risk,...\r\n position = this.treeData1.findIndex(x => {\r\n return x.childId.toLowerCase() === item.id.toLowerCase();\r\n });\r\n node = this.treeData1[position];\r\n typeId = this.itemType;\r\n if (node) {\r\n this.dataTrees.toArray()[0].todoItemSelectionById([node.childId]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n selectNodeRecursive(item: TreeModel, itemType: DataType) {\r\n let position = this.treeData1.findIndex(x => {\r\n return x.rootId === item.rootId;\r\n });\r\n\r\n if (position >= 0) {\r\n\r\n const node: TreeNode = {\r\n id: item.rootId,\r\n name: item.rootName,\r\n children: [],\r\n parentId: item.parentId\r\n };\r\n\r\n let nodeChildren: TreeNode[] = this.treeData1.\r\n filter(x => x.rootId === item.rootId).\r\n map(x => {\r\n return {\r\n id: x.childId,\r\n name: item.childName,\r\n children: [],\r\n parentId: item.rootId\r\n };\r\n });\r\n let nodeSubfolders: TreeModel[] = this.treeData1.\r\n filter(x => x.parentId === item.rootId);\r\n\r\n if (this.treeConfig1.showCheckBox) {\r\n nodeChildren.forEach(x => {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: x.id,\r\n itemName: x.name,\r\n itemType: itemType,\r\n itemNumberId: item.displayId.toString(),\r\n parentId: item.rootId\r\n });\r\n });\r\n }\r\n else {\r\n nodeChildren.forEach(x => {\r\n this.selectedNode.push({\r\n moduleId: this.moduleId,\r\n id: x.id,\r\n itemName: x.name,\r\n itemType: itemType,\r\n itemNumberId: item.displayId.toString(),\r\n parentId: item.rootId\r\n });\r\n });\r\n }\r\n\r\n this.dataTrees.toArray()[0].todoItemSelection([node].concat(nodeChildren));\r\n if (nodeSubfolders) {\r\n nodeSubfolders.forEach(folder => {\r\n this.selectNodeRecursive(folder, itemType);\r\n });\r\n }\r\n }\r\n return;\r\n }\r\n\r\n setTypeProcess(expand) {\r\n return expand ? this.dataType.area : this.dataType.process;\r\n }\r\n\r\n getCommonCheckedNode(list: Array<TreeFlatNode>) {\r\n this.checkedNodeList = [];\r\n this.commonCheckedList = [];\r\n this.singleProcessList = [];\r\n this.checkedNodeList = [...this.singleDocumentList];\r\n\r\n if (list.length) {\r\n list.forEach(item => {\r\n const index = this.checkedNodeList.findIndex(x => x.id === item.id && x.parentId === item.parentId);\r\n\r\n if (item.id && index < 0) {\r\n this.commonCheckedList.push(item);\r\n }\r\n\r\n if (this.singleSelectedNode) {\r\n let position: number;\r\n if (item.expandable) {\r\n position = this.treeData1.findIndex(p => p.rootId === item.id);\r\n }\r\n else {\r\n position = this.treeData1.findIndex(p => p.childId === item.id);\r\n }\r\n if (position > -1) {\r\n this.singleProcessList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: (this.itemType === 2) ? this.setTypeProcess(item.expandable) : this.itemType,\r\n itemNumberId: this.treeData1[position].displayId.toString(),\r\n parentId: item.parentId,\r\n levelType: item.levelType\r\n });\r\n }\r\n }\r\n\r\n\r\n if (item.id && index < 0 && !item.expandable && !this.singleSelectedNode) {\r\n const position = this.treeData1.findIndex(p => p.childId === item.id && p.rootId === item.parentId);\r\n if (position > -1) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: this.itemType,\r\n parentId: item.parentId,\r\n parentName: this.treeData1[position].parentId ? this.treeData1[position].subName : this.treeData1[position].rootName,\r\n itemNumberId: this.treeData1[position].displayId.toString(),\r\n levelType: item.levelType\r\n });\r\n }\r\n }\r\n });\r\n\r\n if (this.singleSelectedNode) {\r\n this.checkedNodeList = [...this.checkedNodeList, ...this.singleProcessList];\r\n }\r\n\r\n if(this.maxSelectItemCount && this.maxSelectItemCount > 0){\r\n const removeList = this.checkedNodeList.slice(0, this.maxSelectItemCount * -1);\r\n if(removeList.length){\r\n removeList.forEach(item => {\r\n this.removeCheckedNodeList({\r\n id: item.id,\r\n name: item.itemName,\r\n parentId: item.parentId,\r\n level: 0,\r\n expandable: true,\r\n hasChild: true,\r\n disabled: false\r\n })\r\n })\r\n }\r\n this.checkedNodeList = this.checkedNodeList.slice(this.maxSelectItemCount * -1);\r\n }\r\n }\r\n }\r\n\r\n getDocumentCheckedNode(list: Array<TreeFlatNode>) {\r\n this.checkedNodeList = [];\r\n this.documentCheckedList = [];\r\n this.singleDocumentList = [];\r\n this.checkedNodeList = [...this.singleProcessList];\r\n\r\n\r\n if (list.length) {\r\n list.forEach(item => {\r\n const index = this.checkedNodeList.findIndex(x => x.id === item.id);\r\n\r\n if (item.id && index < 0) {\r\n this.documentCheckedList.push(item);\r\n }\r\n\r\n if (this.singleSelectedNode) {\r\n let position: number;\r\n if (item.expandable) {\r\n position = this.treeData2.findIndex(p => p.rootId === item.id);\r\n }\r\n else {\r\n position = this.treeData2.findIndex(p => p.childId === item.id);\r\n }\r\n if (position > -1) {\r\n this.singleDocumentList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: item.expandable ? this.dataType.folder : this.dataType.document,\r\n itemNumberId: this.treeData2[position].displayId.toString(),\r\n parentId: item.parentId,\r\n levelType: item.levelType\r\n });\r\n }\r\n\r\n }\r\n\r\n\r\n if (index < 0 && !item.expandable && !this.singleSelectedNode) {\r\n const position = this.treeData2.findIndex(p => p.childId === item.id);\r\n if (position > -1) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: this.dataType.document,\r\n itemNumberId: this.treeData2[position].displayId.toString(),\r\n parentId: item.parentId,\r\n parentName: this.treeData2[position].rootName,\r\n levelType: item.levelType\r\n });\r\n }\r\n }\r\n });\r\n\r\n if (this.singleSelectedNode) {\r\n this.checkedNodeList = [...this.checkedNodeList, ...this.singleDocumentList];\r\n }\r\n\r\n if(this.maxSelectItemCount && this.maxSelectItemCount > 0){\r\n const removeList = this.checkedNodeList.slice(0, this.maxSelectItemCount * -1);\r\n if(removeList.length){\r\n removeList.forEach(item => {\r\n this.removeCheckedNodeList({\r\n id: item.id,\r\n name: item.itemName,\r\n parentId: item.parentId,\r\n level: 0,\r\n expandable: true,\r\n hasChild: true,\r\n disabled: false\r\n })\r\n })\r\n }\r\n this.checkedNodeList = this.checkedNodeList.slice(this.maxSelectItemCount * -1);\r\n }\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n this.selectedFolder = null;\r\n this.itemInSplitview = [];\r\n this.dialogRef.close();\r\n };\r\n\r\n onAddClick() {\r\n // if (this.treeConfig1.showCheckBox) {\r\n this.selectedFolder = null;\r\n this.itemInSplitview = [];\r\n this.dialogRef.close(this.checkedNodeList);\r\n // }\r\n // else {\r\n // this.dialogRef.close(this.selectedNode);\r\n // }\r\n }\r\n\r\n getOffsetHeight(element: HTMLElement, includeMargin: boolean): number {\r\n let elmHeight = 0, elmMargin = 0;\r\n\r\n elmHeight = element.offsetHeight;\r\n if (includeMargin) {\r\n const style = window.getComputedStyle(element);\r\n elmMargin = parseFloat(style.marginTop.replace('px', '')) + parseFloat(style.marginBottom.replace('px', ''));\r\n }\r\n\r\n return (elmHeight + elmMargin);\r\n }\r\n\r\n getItemChipName(item: SelectedNode) {\r\n if (item.itemType === DataType.checklist || item.itemType === DataType.deviation) {\r\n return item.parentName ? `${item.parentName}/${item.itemName}` : item.itemName;\r\n }\r\n return item.itemName;\r\n }\r\n\r\n isEllipsisActive(e: HTMLElement): boolean {\r\n return e ? (e.clientWidth < e.scrollWidth) : false;\r\n }\r\n\r\n getNodeIcon(item: IRelated) {\r\n switch (item.itemType) {\r\n case DataType.folder: {\r\n switch (item.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'department_folder_outlined';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'regional_folder_outlined';\r\n case DocumentNodeType.TopFolder:\r\n return 'enterprise_folder_outlined';\r\n case DocumentNodeType.Folder:\r\n return 'local_folder_outlined';\r\n default:\r\n return 'folder_outlined';\r\n }\r\n }\r\n case DataType.document: {\r\n switch (item.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'document_department';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'document_regional';\r\n case DocumentNodeType.TopFolder:\r\n return 'document_enterprise';\r\n case DocumentNodeType.Folder:\r\n return 'document_local';\r\n default:\r\n return 'document';\r\n }\r\n }\r\n case DataType.area:\r\n return 'process_area_outlined';\r\n case DataType.process:\r\n return 'process';\r\n case DataType.deviation:\r\n return 'deviation';\r\n case DataType.checklist:\r\n return 'checklist';\r\n case DataType.risk:\r\n return 'risk';\r\n default:\r\n return 'folder_outlined';\r\n }\r\n }\r\n\r\n getSearchOrder() {\r\n let searchTypes = Object.keys(this.dataType)\r\n .map(key => ({ value: this.dataType[key], key: key }));\r\n searchTypes = searchTypes.slice(searchTypes.length / 2);\r\n return searchTypes;\r\n }\r\n\r\n getTitle(type: number) {\r\n switch (type) {\r\n case DataType.process:\r\n return this.LANG.PROCESSES;\r\n case DataType.area:\r\n return this.LANG.PROCESS_AREA;\r\n case DataType.document:\r\n return this.LANG.DOCUMENTS;\r\n case DataType.folder:\r\n return this.LANG.FOLDER;\r\n case DataType.deviation:\r\n return this.LANG.DEVIATION;\r\n case DataType.deviationType:\r\n return this.LANG.DEVIATION_TYPE;\r\n case DataType.checklist:\r\n return this.LANG.CHECKLIST;\r\n case DataType.checklistCategory:\r\n return this.LANG.CHECKLIST_CATEGORY;\r\n case DataType.risk:\r\n return this.LANG.ASSESSMENT;\r\n case DataType.riskFolder:\r\n return this.LANG.FOLDER;\r\n }\r\n }\r\n\r\n getParentName(item: IRelated) {\r\n if (item.itemType === this.dataType.checklist || item.itemType === this.dataType.deviation) {\r\n return item.parentName;\r\n }\r\n return null;\r\n }\r\n\r\n getItemId(item: IRelated) {\r\n if (item.itemType === this.dataType.process) {\r\n return `${this.LANG.PROCESS_ID}: ${item.itemNumberId}; ${item.statusName}`;\r\n }\r\n else if (item.itemType === this.dataType.document) {\r\n return `${this.LANG.DOCUMENT_ID}: ${item.itemNumberId}; ${item.statusName}`;\r\n }\r\n return null;\r\n }\r\n\r\n toggleSelectItem(node: IRelated) {\r\n const selectedNode = this.checkedNodeList.find(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase()));\r\n if (selectedNode) {\r\n this.removeCheckedNodeList({\r\n id: selectedNode.id,\r\n name: node.itemName,\r\n parentId: selectedNode.parentId,\r\n hasChild: false,\r\n expandable: false,\r\n level: 0,\r\n disabled: false,\r\n });\r\n }\r\n else {\r\n this.selectRelated(node);\r\n }\r\n }\r\n\r\n isNodeSelected(node) {\r\n return this.checkedNodeList.filter(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase())).length > 0;\r\n }\r\n\r\n\r\n getChildrenOfFolder(node: TreeFlatNode, type: DataType) {\r\n if (this.splitView) {\r\n let item = new IRelated();\r\n item.id = node.id;\r\n item.itemType = type;\r\n item.itemName = node.name;\r\n item.levelType = node.levelType;\r\n this.selectedFolder = node;\r\n if (type === this.dataType.folder) {\r\n this.splitViewTitle = `${this.LANG.MESSAGE.DOCUMENTS_IN.toUpperCase()} \"${node.name}\"`;\r\n }\r\n else if (type === this.dataType.area) {\r\n this.splitViewTitle = `${this.LANG.MESSAGE.PROCESSES_IN.toUpperCase()} \"${node.name}\"`;\r\n }\r\n this.onExpandFolder.emit(item);\r\n }\r\n }\r\n\r\n canShowSearchOption(moduleId: number){\r\n if(this.canOnlySelectItem &&\r\n (moduleId === DataType.checklistCategory \r\n || moduleId === DataType.riskFolder \r\n || moduleId === DataType.deviationType \r\n || (moduleId === DataType.area && this.treeConfig1 && !this.treeConfig1.singleSelectedNode) \r\n || (moduleId === DataType.folder && this.treeConfig2 && !this.treeConfig2.singleSelectedNode)\r\n )){\r\n return false;\r\n }\r\n return this.getModuleFilteredOptions(moduleId).length > 0;\r\n }\r\n}\r\n","import { TreeConfig } from \"./tree-config.model\";\r\nimport { TreeModel } from \"./tree.model\";\r\n\r\nexport class RiskAnalysis {\r\n title: string;\r\n dangers: Array<TreeModel>;\r\n dangerConfig: TreeConfig;\r\n selectedDangers: any;\r\n disabledList?: Array<any>;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.dangers = [];\r\n this.selectedDangers = [];\r\n this.disabledList = [];\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { DataType } from \"../../common/data-type.enum\";\r\nimport { AnalysisDanger } from \"../../model/analysis-danger.model\";\r\nimport { RiskAnalysis } from \"../../model/risk-analysis.model\";\r\nimport { TreeConfig } from \"../../model/tree-config.model\";\r\nimport { TreeModel } from \"../../model/tree.model\";\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n disabled: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-risk-analysis',\r\n templateUrl: './analysis.component.html',\r\n styleUrls: ['./analysis.component.scss']\r\n})\r\nexport class RiskAnalysisComponent implements OnInit {\r\n LANG: any;\r\n title: string;\r\n dangers: Array<TreeModel> = [];\r\n dangerConfig: TreeConfig;\r\n analysisDanger: Array<AnalysisDanger> = [];;\r\n\r\n selectedData = [];\r\n nodeCheckedItem = [];\r\n disabledList = [];\r\n\r\n riskData: Array<any> = [];\r\n riskConfig: TreeConfig;\r\n\r\n constructor(\r\n public translate: TranslateLibraryService,\r\n private dialog: MatDialog,\r\n public dialogRef: MatDialogRef<RiskAnalysisComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: RiskAnalysis\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n\r\n this.title = this.data.title;\r\n this.dangers = this.data.dangers;\r\n this.dangerConfig = this.data.dangerConfig;\r\n this.selectedData = [...this.data.selectedDangers];\r\n this.disabledList = this.data.disabledList || [];\r\n\r\n // cheat not null when selected\r\n if (this.data.selectedDangers.length) {\r\n this.analysisDanger.push({\r\n analysisId: 1,\r\n analysisName: 'string',\r\n dangerId: 1,\r\n dangerName: 'string',\r\n });\r\n }\r\n\r\n this.riskConfig = {\r\n allowSelectFolder: false,\r\n areaOfCurrentProcess: '',\r\n showCheckBox: true,\r\n allowMultipleCheck: true,\r\n onlyCheckBoxForChild: false,\r\n moduleId: DataType.risk,\r\n openIcon: 'keyboard_arrow_up',\r\n openIconColor: '#1954A9',\r\n closeIcon: 'keyboard_arrow_down',\r\n closeIconColor: '',\r\n itemIcon: 'border_all',\r\n itemIconPath: '',\r\n itemIconBase64: '',\r\n singleSelectedNode: false,\r\n canHaveDupId: false\r\n };\r\n }\r\n\r\n toggleChileNode(list: Array<TreeFlatNode>) {\r\n this.analysisDanger = [];\r\n this.nodeCheckedItem = [];\r\n\r\n\r\n if (list.length) {\r\n this.dangers.forEach(el => {\r\n list.forEach(x => {\r\n if (x.id === el.childId) {\r\n // keep array node selected\r\n this.nodeCheckedItem.push(x);\r\n // create format show analysis \r\n this.analysisDanger.push({\r\n analysisId: +el.rootId,\r\n analysisName: el.rootName,\r\n dangerId: +el.childId,\r\n dangerName: el.childName\r\n })\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onFinishClick(): void {\r\n const data = {\r\n 'nodeSelected': this.nodeCheckedItem,\r\n 'analysisData': this.analysisDanger,\r\n 'riskData': this.dangers || []\r\n }\r\n\r\n this.dialogRef.close(data);\r\n }\r\n\r\n onCancelClick() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export enum ActionType {\r\n edit = 1,\r\n detail = 2,\r\n delete = 3\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { ActionType } from \"../../common/action-type.enum\";\r\nimport { DangerAction } from \"../../model/danger-action.model\";\r\nimport { DangerAssessment } from \"../../model/danger-assessment.model\";\r\nimport { Danger } from \"../../model/danger.model\";\r\nimport { RiskDanger } from \"../../model/risk-danger.model\";\r\nimport { TreeConfig } from \"../../model/tree-config.model\";\r\n\r\n@Component({\r\n selector: 'qms-risk-list',\r\n templateUrl: './list.component.html',\r\n styleUrls: ['./list.component.scss']\r\n})\r\nexport class RiskListComponent implements OnInit, OnChanges {\r\n LANG: any;\r\n title: string;\r\n isNotEditedItem: boolean;\r\n dangers: Array<Danger> = [];\r\n analysisDanger: Array<DangerAssessment> = [];\r\n dangerAction: DangerAction;\r\n show = 5;\r\n\r\n dangerConfig: TreeConfig;\r\n\r\n resultData: Array<any> = [];\r\n riskAnalysis: Array<any> = [];\r\n\r\n @Input() data: RiskDanger;\r\n @Output() updateData: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n public translate: TranslateLibraryService,\r\n private dialog: MatDialog\r\n ) {\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.data && JSON.stringify(changes.data.currentValue) !== JSON.stringify(changes.data.previousValue)) {\r\n this.dangers = [];\r\n this.title = changes.data.currentValue.title;\r\n this.isNotEditedItem = changes.data.currentValue['isNotEditedItem'] ?? false;\r\n this.dangers = [...changes.data.currentValue.data];\r\n this.show = changes.data.currentValue?.numRow || 5;\r\n\r\n this.analysisDanger = [];\r\n this.groupByDanger(changes.data.currentValue.data, 0);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.title = this.data?.title || '';\r\n this.isNotEditedItem = this.data['isNotEditedItem'] ?? false;\r\n this.dangers = this.data?.data || [];\r\n this.show = this.data?.numRow || 5;\r\n\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n if (this.dangers.length) {\r\n this.groupByDanger(this.dangers, 0);\r\n }\r\n }\r\n\r\n groupByDanger(dangers: Array<Danger>, i: number) {\r\n dangers.forEach(d => {\r\n const index = this.analysisDanger.findIndex(x => {\r\n return d.analysisId === x.id;\r\n });\r\n if (index < 0) {\r\n let count = 0;\r\n this.analysisDanger.push({\r\n id: d.analysisId,\r\n name: d.analysisName,\r\n childNumber: 0,\r\n show: this.show,\r\n remain: 0,\r\n dangers: [],\r\n folderId: d.folderId,\r\n statusId: d.statusId,\r\n simple: d.simple\r\n });\r\n dangers.forEach(d => {\r\n const index = this.analysisDanger[i].dangers.findIndex(x => {\r\n return x.dangerId === d.dangerId;\r\n });\r\n\r\n if (index < 0 && this.analysisDanger[i].id === d.analysisId) {\r\n this.analysisDanger[i].dangers.push(d);\r\n count++;\r\n }\r\n });\r\n\r\n this.analysisDanger[i].childNumber = count;\r\n this.analysisDanger[i].remain = count - this.show;\r\n i++;\r\n }\r\n });\r\n }\r\n\r\n editDanger(item) {\r\n this.dangerAction = {\r\n type: ActionType.edit,\r\n danger: {\r\n analysisId: 0,\r\n analysisName: '',\r\n dangerId: 0,\r\n dangerName: '',\r\n green: 0,\r\n yellow: 0,\r\n red: 0\r\n }\r\n }\r\n const data = { ...this.dangerAction, ...item };\r\n this.updateData.emit(data);\r\n\r\n }\r\n\r\n removeDanger(id: number) {\r\n const index = this.analysisDanger.findIndex(x => {\r\n return x.id === id;\r\n });\r\n const removedItem = this.analysisDanger[index];\r\n\r\n this.dangerAction = {\r\n type: ActionType.delete,\r\n danger: {\r\n analysisId: 0,\r\n analysisName: '',\r\n dangerId: 0,\r\n dangerName: '',\r\n green: 0,\r\n yellow: 0,\r\n red: 0\r\n }\r\n };\r\n\r\n const data = { ...this.dangerAction, ...removedItem };\r\n this.updateData.emit(data);\r\n }\r\n\r\n dangerDetail(danger: Danger) {\r\n this.dangerAction = {\r\n type: ActionType.detail,\r\n danger: {\r\n analysisId: 0,\r\n analysisName: '',\r\n dangerId: 0,\r\n dangerName: '',\r\n green: 0,\r\n yellow: 0,\r\n red: 0\r\n }\r\n };\r\n const data = { ...this.dangerAction, ...danger };\r\n this.updateData.emit(data);\r\n }\r\n\r\n increaseShow(id: number) {\r\n const index = this.analysisDanger.findIndex(x => {\r\n return x.id === id;\r\n });\r\n if (index >= 0) {\r\n this.analysisDanger[index].show = this.analysisDanger[index].childNumber;\r\n this.analysisDanger[index].remain = 0;\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n\r\n }\r\n}\r\n","export enum Color {\r\n green = 1,\r\n yellow = 2,\r\n red = 3\r\n}\r\n","export class RiskResult {\r\n title: string;\r\n results: Array<Result>;\r\n isSimple?: number;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.results = [];\r\n this.isSimple = 0\r\n }\r\n}\r\n\r\nexport class Result {\r\n dangerId: number;\r\n dangerName: string;\r\n color: number;\r\n cause: string;\r\n consequenceArea: string;\r\n result: string;\r\n}\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from \"../../../../services/translation-registry.service\";\r\nimport { Color } from \"../../common/color.enum\";\r\nimport { Result, RiskResult } from \"../../model/risk-result.model\";\r\n\r\n@Component({\r\n selector: 'qms-risk-result',\r\n templateUrl: './result.component.html',\r\n styleUrls: ['./result.component.scss']\r\n})\r\nexport class RiskResultComponent implements OnInit {\r\n LANG: any;\r\n title: string;\r\n results: Array<Result> = [];\r\n color = Color;\r\n isSimple = 0;\r\n\r\n constructor(\r\n public translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<RiskResultComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: RiskResult\r\n ) {\r\n this.title = data.title;\r\n this.results = data.results;\r\n this.isSimple = data.isSimple || 0;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n onCloseClick(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export class SideNav {\r\n menu: string;\r\n icon: string;\r\n items: Array<SideNavItem>;\r\n\r\n constructor() {\r\n this.menu = '';\r\n this.icon = '';\r\n this.items = [];\r\n }\r\n}\r\n\r\nexport class SideNavItem {\r\n id: string;\r\n name: string;\r\n url: string;\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { SideNav, SideNavItem } from '../model/sidenav.model';\r\n\r\n@Component({\r\n selector: 'qms-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n})\r\nexport class SidenavComponent implements OnInit {\r\n @Input() data = new SideNav();\r\n @ViewChild('sidenav') sidenav: MatSidenav;\r\n\r\n menu = '';\r\n icon = '';\r\n items: Array<SideNavItem> = [];\r\n\r\n isExpanded = true;\r\n showSubmenu: boolean = false;\r\n isShowing = false;\r\n showSubSubMenu: boolean = false;\r\n\r\n ngOnInit(): void {\r\n this.menu = this.data.menu;\r\n this.icon = this.data.icon;\r\n this.items = this.data.items;\r\n }\r\n\r\n mouseenter() {\r\n if (!this.isExpanded) {\r\n this.isShowing = true;\r\n }\r\n }\r\n\r\n mouseleave() {\r\n if (!this.isExpanded) {\r\n this.isShowing = false;\r\n }\r\n }\r\n}\r\n","import { ScrollingModule } from \"@angular/cdk/scrolling\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatListModule } from \"@angular/material/list\";\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatTreeModule } from \"@angular/material/tree\";\r\nimport { SharedMaterialModule } from '../../material-module';\r\nimport { QmsAngularModule } from '../../qms-angular.module';\r\nimport { QMSAppIconModule } from \"../app-icon/app-icon.module\";\r\nimport { QMSBreadcrumbModule } from \"../breadcrumb/breadcrumb.module\";\r\nimport { QMSListModule } from \"../list/list.module\";\r\nimport { RelatedContentComponent } from \"./content/related-content.component\";\r\nimport { RelatedListComponent } from \"./list-other-related/list-related.component\";\r\nimport { RelatedPopupComponent } from \"./popup/related-popup.component\";\r\nimport { RiskAnalysisComponent } from \"./risk/analysis/analysis.component\";\r\nimport { RiskListComponent } from \"./risk/list/list.component\";\r\nimport { RiskResultComponent } from \"./risk/result/result.component\";\r\nimport { SidenavComponent } from \"./sidenav/sidenav.component\";\r\nimport { TreeComponent } from \"./tree/tree.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n TreeComponent,\r\n RelatedPopupComponent,\r\n RelatedContentComponent,\r\n SidenavComponent,\r\n RiskAnalysisComponent,\r\n RiskResultComponent,\r\n RiskListComponent,\r\n RelatedListComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatExpansionModule,\r\n MatAutocompleteModule,\r\n ReactiveFormsModule,\r\n ScrollingModule,\r\n MatCardModule,\r\n MatSidenavModule,\r\n MatListModule,\r\n SharedMaterialModule,\r\n QMSListModule,\r\n QmsAngularModule,\r\n QMSBreadcrumbModule,\r\n QMSAppIconModule\r\n ],\r\n exports: [\r\n TreeComponent,\r\n RelatedPopupComponent,\r\n RelatedContentComponent,\r\n SidenavComponent,\r\n RiskAnalysisComponent,\r\n RiskResultComponent,\r\n RiskListComponent,\r\n RelatedListComponent\r\n ]\r\n})\r\nexport class QMSRelatedModule { }\r\n","export class TreeModel {\r\n rootId: string;\r\n parentId: string;\r\n rootName: string;\r\n subName: string;\r\n childId: string;\r\n childName: string;\r\n statusId: number;\r\n displayId: number;\r\n levelType?: number;\r\n onlyRead?: boolean;\r\n}\r\n","import { DataType } from \"../common/data-type.enum\";\r\n\r\nexport class TreeConfig {\r\n allowSelectFolder: boolean;\r\n areaOfCurrentProcess: string;\r\n showCheckBox: boolean;\r\n allowMultipleCheck: boolean;\r\n onlyCheckBoxForChild: boolean;\r\n moduleId: DataType;\r\n openIcon?: string;\r\n openIconColor: string;\r\n closeIcon?: string;\r\n closeIconColor: string;\r\n itemIcon?: string;\r\n itemIconPath?: string;\r\n itemIconBase64?: string;\r\n itemIconSvg?: string;\r\n singleSelectedNode: boolean;\r\n canHaveDupId?: boolean;\r\n expandAll?: boolean;\r\n onlyFolder?: boolean;\r\n}\r\n","import { Danger } from \"./danger.model\";\r\n\r\nexport class RiskDanger {\r\n title: string;\r\n data: Array<Danger>;\r\n numRow: number;\r\n isNotEditedItem: boolean;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.data = [];\r\n this.numRow = 5;\r\n this.isNotEditedItem = false;\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Injectable, OnDestroy } from '@angular/core';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class QMSCKEditorBaseComponent implements OnDestroy {\r\n ngUnsubcribe = new Subject<void>();\r\n\r\n ngOnDestroy(): void {\r\n this.ngUnsubcribe.next();\r\n this.ngUnsubcribe.complete();\r\n }\r\n}\r\n","export class QMSCKEditorDialogData {\r\n title: string;\r\n\r\n content: string;\r\n\r\n checkText?: string;\r\n\r\n isMessage?: boolean;\r\n\r\n isAdvance?: boolean;\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { QMSCKEditorBaseComponent } from '../../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorDialogData } from '../../models/qms-ckeditor-dialog.model';\r\n\r\n@Component({\r\n selector: 'app-confirm-popup',\r\n templateUrl: './qms-ckeditor-confirm.component.html',\r\n styleUrls: ['./qms-ckeditor-confirm.component.scss']\r\n})\r\nexport class QMSCKEditorConfirmComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n isNotShowAgain = false;\r\n\r\n constructor(\r\n private translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<QMSCKEditorConfirmComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorDialogData\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n onCancelClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onConfirmClick() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n onAdvanceConfirmClick() {\r\n const obj = { isConfirmed: true, isNotShowAgain: this.isNotShowAgain };\r\n this.dialogRef.close(obj);\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Component, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\r\n\r\ninterface TreeNode {\r\n id: string;\r\n name: string;\r\n children?: TreeNode[];\r\n}\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n disabled: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-ckeditor-tree',\r\n templateUrl: './qms-ckeditor-tree.component.html',\r\n styleUrls: ['./qms-ckeditor-tree.component.scss']\r\n})\r\nexport class QMSCKEditorTreeComponent implements OnChanges {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() rawData: Array<any> = [];\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() treeData: Array<any> = [];\r\n\r\n @Input() useExpandFeature: boolean;\r\n\r\n @Input() docType: number;\r\n\r\n @Input() allowSelectFolder: boolean;\r\n\r\n @Output() selectNodeEvent: EventEmitter<string> = new EventEmitter();\r\n\r\n @Output() selectFolderEvent: EventEmitter<string> = new EventEmitter();\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() listParentObj: any;\r\n\r\n arrIndex: string[] = [];\r\n\r\n @Input() areaOfCurrentProcess: string;\r\n\r\n // tslint:disable-next-line:member-ordering\r\n treeControl = new FlatTreeControl<TreeFlatNode>(\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n }\r\n );\r\n\r\n ngOnChanges() {\r\n if (this.treeData) {\r\n this.dataSource.data = this.treeData;\r\n }\r\n }\r\n\r\n private transformer = (node: TreeNode, level: number) => {\r\n let checkHasChild = true;\r\n if (!node.children) {\r\n checkHasChild = false;\r\n } else if (!(!!node.children && node.children.length && node.children.length > 0)) {\r\n checkHasChild = false;\r\n }\r\n // tslint:disable-next-line:max-line-length\r\n else if (\r\n !!node.children &&\r\n node.children.length &&\r\n node.children.length === 1 &&\r\n !node.children[0].name.length &&\r\n node.id.toString() === this.areaOfCurrentProcess\r\n ) {\r\n checkHasChild = false;\r\n }\r\n\r\n if (!(this.listParentObj[node.id] === 1)) {\r\n checkHasChild = false;\r\n }\r\n\r\n return {\r\n expandable: !!node.children && node.children.length > 0,\r\n name: node.name,\r\n level,\r\n id: node.id,\r\n hasChild: checkHasChild\r\n };\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n treeFlattener = new MatTreeFlattener(\r\n this.transformer,\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n },\r\n (node) => {\r\n return node.children;\r\n }\r\n );\r\n\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\r\n\r\n hasChild = (_: number, node: TreeFlatNode) => {\r\n return node.expandable;\r\n };\r\n\r\n selectNode(node: TreeFlatNode) {\r\n this.selectNodeEvent.emit(node.id);\r\n }\r\n\r\n selectFolder(node: TreeFlatNode) {\r\n this.selectFolderEvent.emit(node.id);\r\n }\r\n\r\n onExpandNode(node: TreeFlatNode, isExpandNode?: boolean) {\r\n // set useExpandFeature = true to improve performance of tree loading\r\n if (!isExpandNode || !this.useExpandFeature) {\r\n for (let i = 0; i < this.arrIndex.length; i++) {\r\n if (this.arrIndex[i] === node.id) {\r\n this.arrIndex.splice(i, 1);\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n // get array index to expand node after refresh datasource\r\n let index = 0;\r\n let isChange = false;\r\n let isRemove = false;\r\n if (node.level === 0) {\r\n this.arrIndex.push(node.id);\r\n } else {\r\n this.arrIndex.push(node.id);\r\n }\r\n\r\n const childArray = this.rawData.filter((x) => {\r\n return x.parentId === node.id;\r\n });\r\n let rootId = 0;\r\n let parentElement: TreeNode;\r\n let childrenList: TreeNode[];\r\n if (childArray.length === 0) {\r\n return;\r\n }\r\n childArray.forEach((item) => {\r\n if (item.rootId === rootId) {\r\n return;\r\n }\r\n\r\n // get child node from original datasource\r\n const child = this.getChildNode(item.rootId, childArray);\r\n rootId = item.rootId;\r\n\r\n index = this.getNodeIndex(child.id, undefined, this.dataSource['_treeControl'].dataNodes);\r\n if (index > -1) {\r\n return;\r\n }\r\n\r\n // add child node to expand node\r\n parentElement = this.findParentNode(node.id, this.dataSource.data);\r\n if (parentElement) {\r\n // temporary remove all node without children => purpose to add node folder first\r\n if (!isRemove) {\r\n childrenList = [...parentElement.children];\r\n this.removeChildren(parentElement);\r\n isRemove = true;\r\n }\r\n // add node folder first\r\n parentElement.children.push(child);\r\n isChange = true;\r\n }\r\n });\r\n // add node without children again\r\n if (isRemove) {\r\n this.addChildren(parentElement, childrenList);\r\n }\r\n\r\n // refresh data and expand tree node from root node\r\n if (isChange) {\r\n this.refreshTreeData();\r\n this.arrIndex.forEach((item) => {\r\n index = this.getNodeIndex(item, undefined, this.dataSource['_treeControl'].dataNodes);\r\n this.treeControl.expand(this.treeControl.dataNodes[index]);\r\n });\r\n isChange = false;\r\n }\r\n }\r\n\r\n removeChildren(parentElement?: TreeNode) {\r\n if (parentElement.children) {\r\n parentElement.children.length = 0;\r\n }\r\n }\r\n\r\n addChildren(parentElement?: TreeNode, childrenList?: TreeNode[]) {\r\n if (childrenList) {\r\n childrenList.forEach((e) => {\r\n parentElement.children.push(e);\r\n });\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n getNodeIndex(id: string, level?: number, data?: any[]) {\r\n if (level) {\r\n return data.findIndex((x) => {\r\n return x.id === id && x.level === level;\r\n });\r\n }\r\n\r\n return data.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n getChildNode(rootId: string, data: any) {\r\n const childArray = data.filter((x) => {\r\n return x.rootId === rootId;\r\n });\r\n const child = { id: childArray[0].rootId, name: childArray[0].subName, children: [] } as TreeNode;\r\n childArray.forEach((item) => {\r\n child.children.push({ id: item.childId, name: item.childName });\r\n });\r\n return child;\r\n }\r\n\r\n findParentNode(id: string, data: TreeNode[]) {\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentFather of data) {\r\n if (currentFather.id === id) {\r\n return currentFather;\r\n }\r\n\r\n if (currentFather.children) {\r\n const currentChild = currentFather.children.find((x) => {\r\n return x.id === id;\r\n });\r\n if (currentChild) {\r\n return currentChild;\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentChild1 of currentFather.children) {\r\n if (id !== currentChild1.id) {\r\n const result = this.findParentNode(id, currentFather.children);\r\n if (result !== false) {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n refreshTreeData() {\r\n const data = this.dataSource.data;\r\n this.dataSource.data = [];\r\n this.dataSource.data = data;\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-fullscreen',\r\n templateUrl: './qms-ckeditor-fullscreen.component.html',\r\n styleUrls: ['./qms-ckeditor-fullscreen.component.scss']\r\n})\r\nexport class QMSCKEditorFullscreenComponent {\r\n public showFullScreen() {\r\n this.showHideFullScreen('none', 'hide-content-wrapper', '0px', '0px', '0px', '98vh');\r\n }\r\n\r\n public hideFullScreen() {\r\n this.showHideFullScreen('block', 'show-content-wrapper', '0px', '0px', '2px', '93vh');\r\n }\r\n\r\n public showHideFullScreen(\r\n display: string,\r\n className: string,\r\n paddingTop: string,\r\n paddingBottom: string,\r\n marginTopMain: string,\r\n heightIframe: string\r\n ) {\r\n const sidebar = window.parent.document.getElementById('sidebar_left');\r\n if (sidebar) {\r\n if (display === 'block') {\r\n if (!sidebar.classList.contains('show-sidebar_left')) {\r\n sidebar.classList.add('show-sidebar_left');\r\n }\r\n } else if (display === 'none') {\r\n if (sidebar.classList.contains('show-sidebar_left')) {\r\n sidebar.classList.remove('show-sidebar_left');\r\n }\r\n }\r\n }\r\n const topbars = window.parent.document.getElementsByClassName('navbar-fixed-top');\r\n if (topbars && topbars.length > 0) {\r\n const topbar = topbars[0] as HTMLElement;\r\n topbar.style.display = display;\r\n }\r\n const contentWrapper = window.parent.document.getElementById('content_wrapper');\r\n if (contentWrapper) {\r\n contentWrapper.className = className;\r\n }\r\n\r\n const bodies = window.parent.document.getElementsByTagName('body');\r\n if (bodies && bodies.length > 0) {\r\n const body = bodies[0] as HTMLElement;\r\n body.style.paddingTop = paddingTop;\r\n body.style.paddingBottom = paddingBottom;\r\n if (display === 'block') {\r\n body.classList.remove('sidebar-hidden');\r\n body.classList.add('sidebar-ltr');\r\n } else if (display === 'none') {\r\n body.classList.remove('sidebar-ltr');\r\n body.classList.add('sidebar-hidden');\r\n }\r\n }\r\n const main = window.parent.document.getElementById('main');\r\n if (main) {\r\n main.style.marginTop = marginTopMain;\r\n }\r\n\r\n const iframes = window.parent.document.getElementsByClassName('processIFrameModule');\r\n if (iframes && iframes.length > 0) {\r\n const iframe = iframes[0] as HTMLElement;\r\n iframe.style.height = heightIframe;\r\n }\r\n\r\n const ck = window.document.getElementById('qmsckeditor');\r\n if (ck) {\r\n if (display === 'none') {\r\n if (!ck.classList.contains('qmsckeditor__fullscreen')) {\r\n ck.classList.add('qmsckeditor__fullscreen');\r\n }\r\n } else if (display === 'block') {\r\n if (ck.classList.contains('qmsckeditor__fullscreen')) {\r\n ck.classList.remove('qmsckeditor__fullscreen');\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorGlobalService {\r\n getApiUrlSubject = new BehaviorSubject<any>(null);\r\n\r\n constructor() { }\r\n\r\n setApiUrl(apiUrl: string) {\r\n this.getApiUrlSubject.next(apiUrl);\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { QMSCKEditorBaseComponent } from '../qms-ckeditor-base.component';\r\nimport { QMSCKEditorGlobalService } from './qms-ckeditor-global.service';\r\n\r\n@Injectable()\r\nexport class QMSCKEditorBaseService extends QMSCKEditorBaseComponent {\r\n headers = new HttpHeaders();\r\n apiUrl: string;\r\n\r\n constructor(public http: HttpClient, private globalService: QMSCKEditorGlobalService) {\r\n super();\r\n this.globalService.getApiUrlSubject.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n this.apiUrl = res;\r\n })\r\n }\r\n\r\n protected get(url: string, params: any = {}): Observable<any> {\r\n return this.http.get(this.apiUrl + url, { headers: this.headers, params });\r\n }\r\n\r\n protected post(url: string, data: any): Observable<any> {\r\n return this.http.post(this.apiUrl + url, data, { headers: this.headers });\r\n }\r\n\r\n protected put(url: string, data: any): Observable<any> {\r\n return this.http.put(this.apiUrl + url, data, { headers: this.headers });\r\n }\r\n\r\n protected delete(url: string, params: any = {}): Observable<any> {\r\n return this.http.delete(this.apiUrl + url, { headers: this.headers, params });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { QMSCKEditorLinkAnchorDocument } from '../common/models/qms-ckeditor-link-anchor-document.model';\r\nimport QMSCKEditorLinkAttachment from '../common/models/qms-ckeditor-link-attachment.model';\r\nimport { QMSCKEditorBaseService } from './qms-ckeditor-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorLinkService extends QMSCKEditorBaseService {\r\n public getAttachmentList(\r\n module: number,\r\n entityId: string,\r\n supportFileArchiveAttachments: boolean\r\n ): Observable<QMSCKEditorLinkAttachment[]> {\r\n return this.get('ckeditorLink/LinkAttachmentList', { module, entityId, supportFileArchiveAttachments });\r\n }\r\n\r\n public getAnchorDocumentList(documentId: number): Observable<QMSCKEditorLinkAnchorDocument[]> {\r\n return this.get('ckeditorLink/LinkAnchorDoucmentList', { documentId });\r\n }\r\n}\r\n","export default class QMSCKEditorParamter {\r\n module: number;\r\n entityId: string;\r\n}\r\n","export enum CKEditorModule {\r\n document = 1,\r\n process = 2,\r\n deviation = 3,\r\n risk = 4,\r\n checklist = 5,\r\n dashboard = 6\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport QMSCKEditorLinkAttachment from '../../../common/models/qms-ckeditor-link-attachment.model';\r\nimport { QMSCKEditorBaseComponent } from '../../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorLinkService } from '../../../services/qms-ckeditor-link.service';\r\nimport QMSCKEditorParamter from '../../../common/models/qms-ckeditor-parameter.model';\r\nimport { CKEditorModule } from '../../../common/enums/module.enum';\r\n\r\nexport interface LinkUrl {\r\n url: string;\r\n title: string;\r\n}\r\n\r\n@Component({\r\n selector: 'link-attachment',\r\n templateUrl: './link-attachment.component.html',\r\n styleUrls: ['./link-attachment.component.scss']\r\n})\r\nexport class LinkAttachmentComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n module = 0;\r\n entityId = '';\r\n supportFileArchiveAttachments = false;\r\n attachments: QMSCKEditorLinkAttachment[] = [];\r\n linkUrl: LinkUrl;\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private linkService: QMSCKEditorLinkService,\r\n public dialogRef: MatDialogRef<LinkAttachmentComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorParamter\r\n ) {\r\n super();\r\n this.module = data.module;\r\n this.entityId = data.entityId;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.getAttachmentList(this.module, this.entityId, this.supportFileArchiveAttachments);\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getAttachmentList(module: number, itemId: string, supportFileArchiveAttachments: boolean) {\r\n this.linkService\r\n .getAttachmentList(module, itemId, supportFileArchiveAttachments)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n this.attachments = response;\r\n }\r\n });\r\n }\r\n\r\n onSelectedAttachment(extraId: string, fileName: string) {\r\n this.linkUrl = { url: '', title: '' };\r\n if (extraId) {\r\n if (this.module === CKEditorModule.document) {\r\n this.linkUrl.url = `/api/File/GetFile?entityId=${extraId}`;\r\n }\r\n else if (this.module === CKEditorModule.process) {\r\n this.linkUrl.url = `/api/processes/GetFileContents?fileId=${extraId}`;\r\n }\r\n this.linkUrl.title = fileName;\r\n }\r\n this.dialogRef.close(this.linkUrl);\r\n }\r\n}\r\n","export enum LinkAnchor {\r\n Blank = '',\r\n Attachment = 'Idattachment',\r\n Related = 'IdrelatedDocument'\r\n}\r\n","export enum LinkType {\r\n url = 0,\r\n anchorText = 1,\r\n email = 2,\r\n anchorDocument = 3\r\n}\r\n","export enum ProtocolType {\r\n http = 0,\r\n https = 1,\r\n fpt = 2,\r\n new = 3,\r\n other = 4\r\n}\r\n","export enum TargetType {\r\n new = 0,\r\n topmost = 1,\r\n same = 2,\r\n parent = 3\r\n}\r\n","export class QMSCKEditorRelation {\r\n isOnlyDocument: boolean;\r\n isEnableFolder: boolean;\r\n\r\n constructor() {\r\n this.isOnlyDocument = false;\r\n this.isEnableFolder = false;\r\n }\r\n}\r\n","export default class QMSCKEditorLink {\r\n typeId: number;\r\n targetId: number;\r\n protocolId: number;\r\n url: string;\r\n title: string;\r\n edit: boolean;\r\n editorContent: string;\r\n module: number;\r\n entityId: string;\r\n constructor() {\r\n this.typeId = 0;\r\n this.targetId = 0;\r\n this.protocolId = 0;\r\n this.url = '';\r\n this.title = '';\r\n this.edit = false;\r\n this.editorContent = '';\r\n this.entityId = '';\r\n }\r\n}\r\n","export enum QMSCKEditorDocumentType {\r\n document = 1,\r\n process = 2,\r\n area = 3,\r\n folder = 4\r\n}\r\n","export class TreeNode {\r\n children: TreeNode[];\r\n id: string;\r\n name: string;\r\n parentId?: string;\r\n}\r\n","import QMSCKEditorTree from '../models/qms-ckeditor-tree.model';\r\nimport { TreeNode } from '../models/qms-ckeditor-tree-node.model';\r\n\r\nlet objData = {};\r\n\r\nfunction buildArrayTree(obj: object, level: number): TreeNode[] {\r\n return Object.keys(obj).reduce<TreeNode[]>((accumulator, key) => {\r\n const value = obj[key];\r\n const node = new TreeNode();\r\n const index = key.indexOf('_');\r\n node.id = key.substr(0, index);\r\n node.name = key.substr(index + 1, key.length - index);\r\n\r\n if (value != null) {\r\n if (typeof value === 'object') {\r\n node.children = this.buildArrayTree(value, level + 1);\r\n } else {\r\n node.name = value;\r\n }\r\n }\r\n\r\n return accumulator.concat(node);\r\n }, []);\r\n}\r\n\r\nfunction buildObjectTree(arr: QMSCKEditorTree[]): object {\r\n objData = {};\r\n let objTreeData;\r\n const root = arr.filter((x: { parentId: string }) => {\r\n return x.parentId === '';\r\n });\r\n root.forEach((item) => {\r\n objTreeData = this.findParent(item.rootId, arr);\r\n });\r\n return objTreeData;\r\n}\r\n\r\nfunction findParent(id: string, array: QMSCKEditorTree[]) {\r\n const objParent = {};\r\n const parent = array.filter((x: { rootId: string }) => {\r\n return x.rootId === id;\r\n });\r\n\r\n parent.forEach((item) => {\r\n objParent[`${item.childId}_${item.childName}`] = null;\r\n });\r\n\r\n // find child\r\n const child = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n if (child.length > 0) {\r\n this.findChild(id, objParent, array);\r\n }\r\n\r\n // add node to tree\r\n objData[`${parent[0].rootId}_${parent[0].rootName}`] = objParent;\r\n return objData;\r\n}\r\n\r\nfunction findChild(id: string, objParent: object, array: QMSCKEditorTree[]) {\r\n const subNode = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n subNode.forEach((item) => {\r\n const processNode = {};\r\n processNode[`${item.childId}_${item.childName}`] = null;\r\n objParent[`${item.rootId}_${item.subName}`] = processNode;\r\n\r\n findChild(item.rootId, processNode, array);\r\n });\r\n}\r\n\r\nconst QMSCKEditorTreeFunctions = {\r\n buildArrayTree,\r\n buildObjectTree,\r\n findParent,\r\n findChild\r\n};\r\n\r\nexport default QMSCKEditorTreeFunctions;\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport QMSCKEditorTree from '../common/models/qms-ckeditor-tree.model';\r\nimport { QMSCKEditorBaseService } from './qms-ckeditor-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorTreeService extends QMSCKEditorBaseService {\r\n public getDocumentList(): Observable<QMSCKEditorTree[]> {\r\n return this.get('ckeditorTree/GetDocumentList');\r\n }\r\n\r\n public getProcessList(): Observable<QMSCKEditorTree[]> {\r\n return this.get('ckeditorTree/GetProcessList');\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { forkJoin } from 'rxjs';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorDocumentType } from '../../common/enums/document-type.enum';\r\nimport QMSCKEditorTreeFunctions from '../../common/functions/tree.function';\r\nimport { QMSCKEditorRelation } from '../../common/models/qms-ckeditor-relation.model';\r\nimport { TreeNode } from '../../common/models/qms-ckeditor-tree-node.model';\r\nimport QMSCKEditorTree from '../../common/models/qms-ckeditor-tree.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTreeService } from '../../services/qms-ckeditor-tree.service';\r\n\r\nexport interface Related {\r\n id: number;\r\n name: string;\r\n type: number;\r\n}\r\n\r\nexport interface SelectedNode {\r\n id: string;\r\n type: number;\r\n}\r\n\r\nexport interface LinkUrl {\r\n id: string;\r\n url: string;\r\n title: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './qmsckeditor-related.component.html',\r\n styleUrls: ['./qmsckeditor-related.component.scss']\r\n})\r\nexport class QMSCKEditorRelatedComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n selectedNode: SelectedNode;\r\n linkUrl: LinkUrl;\r\n documentType: QMSCKEditorDocumentType;\r\n processData: QMSCKEditorTree[];\r\n documentData: QMSCKEditorTree[];\r\n filterData: QMSCKEditorTree[];\r\n treeDataFile: object;\r\n treeProcessFile: object;\r\n treeDocumentFile: object;\r\n treeProcessData: TreeNode[];\r\n treeDocumentData: TreeNode[];\r\n processNumber = -1;\r\n listParentProcessId = {};\r\n listParentDocumentId = {};\r\n\r\n myControl = new FormControl();\r\n filteredOptions = [];\r\n isInputValue = false;\r\n isOnlyDocument = false;\r\n isEnableFolder = false;\r\n areaOfCurrentProcess: string;\r\n\r\n constructor(\r\n private treeService: QMSCKEditorTreeService,\r\n private translate: TranslateLibraryService,\r\n private dialogRef: MatDialogRef<QMSCKEditorRelatedComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorRelation\r\n ) {\r\n super();\r\n this.isOnlyDocument = data.isOnlyDocument;\r\n this.isEnableFolder = data.isEnableFolder;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.selectedNode = { id: '', type: 0 };\r\n this.getProcessAndDocumentData();\r\n this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {\r\n this.isInputValue = true;\r\n this.filteredOptions = this.onSearchRelated(val);\r\n });\r\n }\r\n\r\n getProcessAndDocumentData() {\r\n forkJoin([this.getProcessData(), this.getDocumentData()])\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe(([p, d]) => {\r\n this.mappingData(p, 2);\r\n this.mappingData(d, 1);\r\n\r\n // for process\r\n this.filterData = this.processData.filter((x) => {\r\n return x.parentId === '';\r\n });\r\n this.treeDataFile = QMSCKEditorTreeFunctions.buildObjectTree(this.filterData);\r\n this.treeProcessData = QMSCKEditorTreeFunctions.buildArrayTree(this.treeDataFile, 0);\r\n // for document\r\n this.filterData = this.documentData.filter((x) => {\r\n return x.parentId === '';\r\n });\r\n this.treeDataFile = QMSCKEditorTreeFunctions.buildObjectTree(this.filterData);\r\n this.treeDocumentData = QMSCKEditorTreeFunctions.buildArrayTree(this.treeDataFile, 0);\r\n });\r\n }\r\n\r\n getProcessData() {\r\n return this.treeService.getProcessList().pipe(takeUntil(this.ngUnsubcribe));\r\n }\r\n\r\n getDocumentData() {\r\n return this.treeService.getDocumentList().pipe(takeUntil(this.ngUnsubcribe));\r\n }\r\n\r\n mappingData(array: QMSCKEditorTree[], dataType: number) {\r\n if (array) {\r\n if (dataType === 1) {\r\n this.documentData = array.map((item) => {\r\n if (!!item.parentId && item.parentId.length > 0) {\r\n this.listParentDocumentId[item.parentId] = 1;\r\n }\r\n if (!!item.childId && item.childId.length > 0) {\r\n this.listParentDocumentId[item.rootId] = 1;\r\n }\r\n return {\r\n rootId: item.rootId,\r\n parentId: item.parentId,\r\n rootName: item.rootName,\r\n subName: item.subName,\r\n childId: item.childId,\r\n childName: item.childName,\r\n statusId: item.statusId,\r\n displayId: item.displayId\r\n };\r\n });\r\n } else if (dataType === 2) {\r\n this.processData = array.filter((item) => {\r\n if (!!item.parentId && item.parentId.length > 0) {\r\n this.listParentProcessId[item.parentId] = 1;\r\n }\r\n if (item.childId && item.childId.length > 0) {\r\n this.listParentProcessId[item.rootId] = 1;\r\n }\r\n if (Number(item.displayId) === this.processNumber) {\r\n item.childId = '';\r\n item.childName = '';\r\n this.areaOfCurrentProcess = item.rootId;\r\n }\r\n return {\r\n rootId: item.rootId,\r\n parentId: item.parentId,\r\n rootName: item.rootName,\r\n subName: item.subName,\r\n childId: item.childId,\r\n childName: item.childName,\r\n statusId: item.statusId,\r\n displayId: item.displayId\r\n };\r\n });\r\n }\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onAddDocumentProcess() {\r\n let data: QMSCKEditorTree;\r\n this.linkUrl = { id: '', url: '', title: '' };\r\n switch (this.selectedNode.type) {\r\n case QMSCKEditorDocumentType.document:\r\n data = this.documentData.find((e) => {\r\n return e.childId === this.selectedNode.id;\r\n });\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/document/${data.childId}`;\r\n this.linkUrl.title = data.childName;\r\n }\r\n break;\r\n case QMSCKEditorDocumentType.process:\r\n data = this.processData.find((e) => {\r\n return e.childId === this.selectedNode.id;\r\n });\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/process-detail/${data.displayId}`;\r\n this.linkUrl.title = data.childName;\r\n }\r\n break;\r\n case QMSCKEditorDocumentType.area:\r\n data = this.processData.find((e) => {\r\n return e.rootId === this.selectedNode.id;\r\n });\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/area/detail/${data.rootId}`;\r\n this.linkUrl.title = data.rootName;\r\n }\r\n break;\r\n case QMSCKEditorDocumentType.folder:\r\n data = this.documentData.find((e) => {\r\n return e.rootId === this.selectedNode.id;\r\n });\r\n\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/folder/${data.rootId}`;\r\n this.linkUrl.title = data.rootName;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n this.dialogRef.close(this.linkUrl);\r\n }\r\n\r\n selectAreaNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.area;\r\n }\r\n\r\n selectProcessNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.process;\r\n }\r\n\r\n selectDocumentNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.document;\r\n }\r\n\r\n selectHandbookNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.folder;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n isMatchTrue(arr: any[], arr2: any[]) {\r\n return arr.every((i) => {\r\n return arr2.includes(i);\r\n });\r\n }\r\n\r\n onSearchRelated(_val: string) {\r\n const arr: Related[] = [];\r\n let data = [];\r\n if (typeof _val !== 'string') {\r\n return arr;\r\n }\r\n const val = _val\r\n .trim()\r\n .split(' ')\r\n .map((v) => {\r\n return v.toLowerCase();\r\n });\r\n if (!val || val.length === 0) {\r\n return arr;\r\n }\r\n\r\n if (!this.isOnlyDocument) {\r\n data = this.processData.filter((item) => {\r\n const tempArr = item.childName.split(' ').map((v) => {\r\n return v.toLowerCase();\r\n });\r\n return this.isMatchTrue(val, tempArr);\r\n });\r\n\r\n if (data) {\r\n data.forEach((element) => {\r\n arr.push({\r\n id: element.childId,\r\n name: element.childName,\r\n type: 2\r\n });\r\n });\r\n }\r\n }\r\n\r\n data = this.documentData.filter((item) => {\r\n const tempArr = item.childName.split(' ').map((v) => {\r\n return v.toLowerCase();\r\n });\r\n return this.isMatchTrue(val, tempArr);\r\n });\r\n\r\n if (data) {\r\n data.forEach((element) => {\r\n arr.push({\r\n id: element.childId,\r\n name: element.childName,\r\n type: 1\r\n });\r\n });\r\n }\r\n this.setResultHeight(arr);\r\n return arr;\r\n }\r\n\r\n displayRelated(related?: Related): string | undefined {\r\n return related ? related.name : undefined;\r\n }\r\n\r\n selectRelated(id: string, type: number) {\r\n this.selectedNode = { id, type };\r\n this.onAddDocumentProcess();\r\n }\r\n\r\n setResultHeight(arr?: Related[]) {\r\n const viewreports = document.getElementsByClassName('related-viewport');\r\n if (viewreports) {\r\n let iHeight = 0;\r\n const view = viewreports[0] as HTMLElement;\r\n if (arr.length * 5 > 50) {\r\n iHeight = 51;\r\n } else {\r\n iHeight = arr.length * 5 + 1;\r\n if (iHeight > 0) {\r\n // window[ProcessRelatedConst.IS_DISPLAY_SEARCH_RESULT] = true;\r\n }\r\n }\r\n view.style.height = `${iHeight}vh`;\r\n view.style.display = 'block';\r\n }\r\n }\r\n\r\n hideSearchResult() {\r\n if (this.filteredOptions && this.filteredOptions.length > 0) {\r\n const viewreports = document.getElementsByClassName('related-viewport');\r\n if (viewreports && viewreports.length) {\r\n const view = viewreports[0] as HTMLElement;\r\n view.style.display = 'none';\r\n // window[ProcessRelatedConst.IS_DISPLAY_SEARCH_RESULT] = false;\r\n }\r\n }\r\n }\r\n\r\n showSearchResult() {\r\n if (this.filteredOptions && this.filteredOptions.length) {\r\n const viewreports = document.getElementsByClassName('related-viewport');\r\n if (viewreports && viewreports.length) {\r\n const view = viewreports[0] as HTMLElement;\r\n if (view.style.display === 'none') {\r\n view.style.display = 'block';\r\n // window[ProcessRelatedConst.IS_DISPLAY_SEARCH_RESULT] = true;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { AfterViewChecked, ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { LinkAnchor } from '../../common/enums/link-anchor.enum';\r\nimport { LinkType } from '../../common/enums/link-type.enum';\r\nimport { ProtocolType } from '../../common/enums/protocol-type.enum';\r\nimport { TargetType } from '../../common/enums/target-type.enum';\r\nimport { QMSCKEditorLinkAnchorDocument } from '../../common/models/qms-ckeditor-link-anchor-document.model';\r\nimport QMSCKEditorParamter from '../../common/models/qms-ckeditor-parameter.model';\r\nimport { QMSCKEditorRelation } from '../../common/models/qms-ckeditor-relation.model';\r\nimport QMSCKEditorLink from '../../common/models/qms-ckeditor-url.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorLinkService } from '../../services/qms-ckeditor-link.service';\r\nimport { QMSCKEditorRelatedComponent } from '../qms-ckeditor-relation/qmsckeditor-related.component';\r\nimport { LinkAttachmentComponent } from './attachments/link-attachment.component';\r\n\r\ninterface ILinkType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface ITarget {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface IProtocol {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface IAnchor {\r\n value: number;\r\n viewValue: string;\r\n anchorValue: string;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-ckeditor-link',\r\n templateUrl: './qms-ckeditor-link.component.html',\r\n styleUrls: ['./qms-ckeditor-link.component.scss']\r\n})\r\nexport class QMSCKEditorLinkComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {\r\n LANG: any;\r\n linkFormGroup: FormGroup = new FormGroup({\r\n targetList: new FormControl(),\r\n protocolList: new FormControl(),\r\n url: new FormControl('', [Validators.required]),\r\n advisoryTitle: new FormControl()\r\n });\r\n anchorTextFormGroup: FormGroup = new FormGroup({\r\n anchorText: new FormControl('', [Validators.required])\r\n });\r\n emailFormGroup: FormGroup = new FormGroup({\r\n emailAddress: new FormControl('', [Validators.required]),\r\n emailSubject: new FormControl('', [Validators.required]),\r\n emailBody: new FormControl('', [Validators.required])\r\n });\r\n anchorDocFormGroup: FormGroup = new FormGroup({\r\n anchorTitle: new FormControl('', [Validators.required]),\r\n anchorByName: new FormControl('', [Validators.required])\r\n });\r\n isExpanded = true;\r\n linkTypes: ILinkType[] = [];\r\n targets: ITarget[] = [];\r\n protocols: IProtocol[] = [];\r\n anchorDocuments: QMSCKEditorLinkAnchorDocument[] = [];\r\n anchors: IAnchor[];\r\n editorAnchors: IAnchor[];\r\n documentAnchors: IAnchor[];\r\n editorContent = '';\r\n selectedLink = 0;\r\n selectedTarget = 0;\r\n selectedProtocol = 0;\r\n url = '';\r\n advisoryTitle = '';\r\n edit = false;\r\n anchorText = '';\r\n emailAddress = '';\r\n emailSubject = '';\r\n emailBody = '';\r\n documentId = 0;\r\n anchorTitle = '';\r\n anchorByName = '';\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private linkService: QMSCKEditorLinkService,\r\n public dialogRef: MatDialogRef<QMSCKEditorLinkComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorLink\r\n ) {\r\n super();\r\n this.selectedLink = data.typeId;\r\n this.selectedTarget = data.targetId;\r\n this.selectedProtocol = data.protocolId;\r\n this.url = data.url;\r\n this.advisoryTitle = data.title;\r\n this.edit = data.edit;\r\n this.editorContent = data.editorContent;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.initLinkType();\r\n this.initTarget();\r\n this.initProtocol();\r\n this.initAnchor();\r\n if (this.data.edit) {\r\n this.parseLinkUrl(this.selectedLink, this.url);\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n initLinkType() {\r\n if (this.linkTypes) {\r\n this.linkTypes.push({ id: LinkType.url, name: this.LANG.QMSCKEDITOR.LINK_URL });\r\n this.linkTypes.push({\r\n id: LinkType.anchorText,\r\n name: this.LANG.QMSCKEDITOR.LINK_ANCHOR_IN_TEXT\r\n });\r\n this.linkTypes.push({ id: LinkType.email, name: this.LANG.QMSCKEDITOR.LINK_EMAIL });\r\n this.linkTypes.push({\r\n id: LinkType.anchorDocument,\r\n name: this.LANG.QMSCKEDITOR.LINK_ANCHOR_DOCUMENT\r\n });\r\n }\r\n }\r\n\r\n initTarget() {\r\n if (this.targets) {\r\n this.targets.push({ id: TargetType.new, name: this.LANG.QMSCKEDITOR.TARTGET_NEW });\r\n this.targets.push({ id: TargetType.topmost, name: this.LANG.QMSCKEDITOR.TARGET_TOPMOST });\r\n this.targets.push({ id: TargetType.same, name: this.LANG.QMSCKEDITOR.TARGET_SAME });\r\n this.targets.push({ id: TargetType.parent, name: this.LANG.QMSCKEDITOR.TARGET_PARENT });\r\n }\r\n }\r\n\r\n initProtocol() {\r\n if (this.protocols) {\r\n this.protocols.push({ id: ProtocolType.http, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTP });\r\n this.protocols.push({ id: ProtocolType.https, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTPS });\r\n this.protocols.push({ id: ProtocolType.fpt, name: this.LANG.QMSCKEDITOR.PROTOCOL_FTP });\r\n this.protocols.push({ id: ProtocolType.new, name: this.LANG.QMSCKEDITOR.PROTOCOL_NEW });\r\n this.protocols.push({ id: ProtocolType.other, name: this.LANG.QMSCKEDITOR.PROTOCOL_OTHER });\r\n }\r\n }\r\n\r\n initAnchor() {\r\n this.anchors = [];\r\n this.anchors = [{ value: 0, viewValue: '', anchorValue: LinkAnchor.Blank }];\r\n }\r\n\r\n parseLinkUrl(typeId: number, url: string) {\r\n if (typeId === LinkType.anchorText) {\r\n this.getEditorAnchor();\r\n this.anchorText = url.substr(1);\r\n } else if (typeId === LinkType.email) {\r\n const p1 = url.indexOf('mailto:');\r\n const p2 = url.indexOf('?subject=');\r\n const p3 = url.indexOf('&body=');\r\n this.emailAddress = url.substr(p1 + 7, p2 - 7);\r\n this.emailSubject = url.substr(p2 + 9, p3 - p2 - 9);\r\n this.emailBody = url.substr(p3 + 6, url.length - p3 - 6);\r\n } else if (typeId === LinkType.anchorDocument) {\r\n const flashIndex = url.lastIndexOf('/');\r\n const hashIndex = url.indexOf('#');\r\n const sId = url.substr(flashIndex + 1, hashIndex - 1 - flashIndex);\r\n const documentId = parseInt(sId, 10);\r\n this.getAnchorDocument(documentId);\r\n this.anchorByName = url.substr(hashIndex + 1, url.length - hashIndex);\r\n this.anchorTitle = this.data.title;\r\n }\r\n }\r\n\r\n onSelectedLinkType() {\r\n if (this.selectedLink === LinkType.anchorText) {\r\n this.getEditorAnchor();\r\n } else if (this.selectedLink === LinkType.anchorDocument) {\r\n if (!this.documentAnchors) {\r\n this.anchorDocuments = [];\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.documentAnchors = this.anchors;\r\n }\r\n }\r\n }\r\n\r\n eHandbook(isOnlyDocument: boolean, isAnchorDocument: boolean) {\r\n const data = new QMSCKEditorRelation();\r\n data.isOnlyDocument = isOnlyDocument;\r\n data.isEnableFolder = !isOnlyDocument;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorRelatedComponent, {\r\n width: '650px',\r\n height: '650px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n if (!isAnchorDocument) {\r\n this.url = result.url;\r\n if (!this.advisoryTitle) {\r\n this.advisoryTitle = result.title;\r\n }\r\n this.selectedProtocol = ProtocolType.other;\r\n } else {\r\n this.documentId = result.id;\r\n this.anchorTitle = `${result.title}(${result.id})`;\r\n this.getAnchorDocument(result.id);\r\n }\r\n }\r\n });\r\n }\r\n\r\n attachment() {\r\n const data = new QMSCKEditorParamter();\r\n data.module = this.data.module;\r\n data.entityId = this.data.entityId;\r\n const dialogTemplate = this.dialog.open(LinkAttachmentComponent, {\r\n width: '650px',\r\n height: '650px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.url = result.url;\r\n if (!this.advisoryTitle) {\r\n this.advisoryTitle = result.title;\r\n }\r\n this.selectedProtocol = ProtocolType.other;\r\n }\r\n });\r\n }\r\n\r\n getEditorAnchor() {\r\n this.anchorDocuments = [];\r\n if (this.editorContent) {\r\n this.anchorDocuments.push({\r\n id: 0,\r\n entityId: 0,\r\n documentId: 0,\r\n documentTypeId: 0,\r\n richText: this.editorContent\r\n });\r\n }\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.editorAnchors = this.anchors;\r\n }\r\n\r\n getAnchorDocument(documentId: number) {\r\n this.linkService\r\n .getAnchorDocumentList(documentId)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((res) => {\r\n if (res) {\r\n this.anchorDocuments = res;\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.documentAnchors = this.anchors;\r\n } else {\r\n this.anchorDocuments = [];\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.documentAnchors = this.anchors;\r\n }\r\n });\r\n }\r\n\r\n setAnchorDocument(anchorDocument: QMSCKEditorLinkAnchorDocument[]) {\r\n this.initAnchor();\r\n let id = 3;\r\n if (anchorDocument) {\r\n anchorDocument.forEach((e) => {\r\n const div = document.createElement('div');\r\n div.innerHTML = e.richText;\r\n const domContent = div;\r\n const aTags = domContent.getElementsByTagName('a');\r\n if (aTags) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < aTags.length; i++) {\r\n const tag = aTags[i];\r\n if (tag.name) {\r\n const index = this.anchors.findIndex((x) => {\r\n return x.anchorValue === tag.name;\r\n });\r\n if (index < 0) {\r\n this.anchors.push({\r\n value: id,\r\n viewValue: tag.name,\r\n anchorValue: tag.name\r\n });\r\n id += 1;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n this.anchors.push({\r\n value: 1,\r\n viewValue: this.LANG.QMSCKEDITOR.ANCHOR_ATTACHMENT,\r\n anchorValue: LinkAnchor.Attachment\r\n });\r\n this.anchors.push({\r\n value: 2,\r\n viewValue: this.LANG.QMSCKEDITOR.ANCHOR_RELATED_DOCUMENT,\r\n anchorValue: LinkAnchor.Related\r\n });\r\n }\r\n\r\n disableOkButton() {\r\n let isDisable = false;\r\n switch (this.selectedLink) {\r\n case LinkType.url:\r\n isDisable = this.linkFormGroup.invalid;\r\n break;\r\n case LinkType.anchorText:\r\n isDisable = this.anchorTextFormGroup.invalid;\r\n break;\r\n case LinkType.email:\r\n isDisable = this.emailFormGroup.invalid;\r\n break;\r\n case LinkType.anchorDocument:\r\n isDisable = this.anchorDocFormGroup.invalid;\r\n break;\r\n default:\r\n break;\r\n }\r\n return isDisable;\r\n }\r\n\r\n setLink() {\r\n const link = new QMSCKEditorLink();\r\n link.typeId = this.selectedLink;\r\n link.targetId = this.selectedTarget;\r\n link.protocolId = this.selectedProtocol;\r\n if (this.selectedLink === LinkType.url) {\r\n link.url = `${this.selectedLink}${this.selectedProtocol}${this.url}`;\r\n link.title = this.advisoryTitle;\r\n } else if (this.selectedLink === LinkType.anchorText) {\r\n link.url = `${this.selectedLink}${0}#${this.anchorText}`;\r\n link.title = `#${this.anchorText}`;\r\n link.targetId = TargetType.topmost;\r\n } else if (this.selectedLink === LinkType.email) {\r\n link.url = `${this.selectedLink}${0}mailto:${this.emailAddress}?subject=${this.emailSubject}&body=${this.emailBody\r\n }`;\r\n link.title = this.emailAddress;\r\n link.targetId = TargetType.topmost;\r\n } else if (this.selectedLink === LinkType.anchorDocument) {\r\n link.url = `${this.selectedLink}${0}/document/${this.documentId}#${this.anchorByName}`;\r\n link.title = this.anchorTitle;\r\n link.targetId = TargetType.topmost;\r\n }\r\n this.dialogRef.close(link);\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Injectable, Injector } from '@angular/core';\r\n\r\n// @dynamic\r\nexport class QMSCKEditorInjector {\r\n private static injector: Injector;\r\n\r\n static setInjector(injector: Injector) {\r\n QMSCKEditorInjector.injector = injector;\r\n }\r\n\r\n static getInjector(): Injector {\r\n return QMSCKEditorInjector.injector;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n static getService(type: any) {\r\n const injector = QMSCKEditorInjector.getInjector();\r\n const service = injector.get(type);\r\n return service;\r\n }\r\n}\r\n","import {\r\n MatSnackBar,\r\n MatSnackBarConfig,\r\n MatSnackBarHorizontalPosition,\r\n MatSnackBarVerticalPosition\r\n} from '@angular/material/snack-bar';\r\nimport { QMSCKEditorInjector } from '../../services/qms-ckeditor-injector.service';\r\n\r\nexport class QMSCKEditorToastService {\r\n static horizontalPosition: MatSnackBarHorizontalPosition = 'right';\r\n\r\n static verticalPosition: MatSnackBarVerticalPosition = 'top';\r\n\r\n static actionButtonLabel = 'Close';\r\n\r\n static action = true;\r\n\r\n static setAutoHide = true;\r\n\r\n static autoHide = 3000;\r\n\r\n static success(msg) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = this.setAutoHide ? this.autoHide : 0;\r\n config.panelClass = ['toast-success'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n\r\n static warning(msg, duration?: number) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = duration || (this.setAutoHide ? this.autoHide : 0);\r\n config.panelClass = ['toast-warning'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n\r\n static info(msg) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = this.setAutoHide ? this.autoHide : 0;\r\n config.panelClass = ['toast-infor'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n\r\n static error(msg) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = 0;\r\n config.panelClass = ['toast-error'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n}\r\n","export class QMSCKEditorTemplate {\r\n id: number;\r\n title: string;\r\n description: string;\r\n content: string;\r\n deleted: boolean;\r\n createdBy: number;\r\n edit: boolean;\r\n\r\n constructor() {\r\n this.id = 0;\r\n this.title = '';\r\n this.description = '';\r\n this.content = '';\r\n this.deleted = false;\r\n this.createdBy = 0;\r\n this.edit = false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { QMSCKEditorTemplate } from '../models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseService } from './qms-ckeditor-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorTemplateService extends QMSCKEditorBaseService {\r\n public deleteTemplate(id: number): Observable<boolean> {\r\n return this.delete('ckeditorTemplate/DeleteTemplate', { id });\r\n }\r\n public getTemplate(): Observable<QMSCKEditorTemplate[]> {\r\n return this.get('ckeditorTemplate/GetTemplateList');\r\n }\r\n\r\n public modifyTemplate(template: QMSCKEditorTemplate): Observable<boolean> {\r\n return this.post('ckeditorTemplate/ModifyTemplate', template);\r\n }\r\n}\r\n","import { AfterViewChecked, ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorDialogData } from '../../common/models/qms-ckeditor-dialog.model';\r\nimport { QMSCKEditorConfirmComponent } from '../../common/module/confirm/qms-ckeditor-confirm.component';\r\nimport { QMSCKEditorToastService } from '../../common/toast/qms-ckeditor-toast.service';\r\nimport { QMSCKEditorTemplate } from '../../models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTemplateService } from '../../services/qms-ckedtior-template.service';\r\n\r\ninterface ITemplate {\r\n id: number;\r\n title: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-qmsck-template',\r\n templateUrl: './qms-ckeditor-template.component.html',\r\n styleUrls: ['./qms-ckeditor-template.component.scss']\r\n})\r\nexport class QMSCKEditorTemplateComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {\r\n LANG: any;\r\n templateFormGroup: FormGroup = new FormGroup({\r\n templateList: new FormControl(),\r\n title: new FormControl('', [Validators.required]),\r\n description: new FormControl('', [Validators.required])\r\n });\r\n isExpanded = true;\r\n content: string;\r\n templateList: QMSCKEditorTemplate[] = [];\r\n templates: ITemplate[] = [];\r\n template = new QMSCKEditorTemplate();\r\n selectedId = 0;\r\n isEdit = false;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private templateService: QMSCKEditorTemplateService,\r\n public dialogRef: MatDialogRef<QMSCKEditorTemplateComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorTemplate\r\n ) {\r\n super();\r\n this.content = data.content;\r\n this.selectedId = data.id;\r\n this.isEdit = data.edit;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.getTemplate();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getTemplate() {\r\n this.templateService\r\n .getTemplate()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n this.templateList = response;\r\n this.templates = response.map((x) => {\r\n return {\r\n id: x.id,\r\n title: x.title\r\n };\r\n });\r\n this.addNoneTemplate(this.templates);\r\n } else {\r\n this.addNoneTemplate(this.templates);\r\n }\r\n\r\n if (this.isEdit && this.selectedId !== 0) {\r\n this.onSelectChange();\r\n }\r\n });\r\n }\r\n\r\n addNoneTemplate(template: ITemplate[]) {\r\n if (template && !this.isEdit) {\r\n template.unshift({\r\n id: 0,\r\n title: this.LANG.QMSCKEDITOR.CREATE_NEW_TEMPLATE\r\n });\r\n }\r\n }\r\n\r\n onSelectChange() {\r\n if (this.selectedId === 0) {\r\n this.template.id = this.selectedId;\r\n this.template.title = '';\r\n this.template.description = '';\r\n this.template.content = this.content;\r\n this.template.deleted = false;\r\n this.template.createdBy = 0;\r\n } else if (this.templateList.length > 0) {\r\n const index = this.templateList.findIndex((x) => {\r\n return x.id === this.selectedId;\r\n });\r\n this.template.id = this.templateList[index].id;\r\n this.template.title = this.templateList[index].title;\r\n this.template.description = this.templateList[index].description;\r\n this.template.content = this.templateList[index].content;\r\n this.template.deleted = this.templateList[index].deleted;\r\n this.template.createdBy = this.templateList[index].createdBy;\r\n }\r\n }\r\n\r\n deleteTemplate() {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = this.LANG.QMSCKEDITOR.DELETE_TEMPLATE;\r\n data.content = this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_DELETE_TEMPLATE;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.templateService\r\n .deleteTemplate(this.selectedId)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === this.selectedId;\r\n });\r\n if (index >= 0) {\r\n this.templates.splice(index, 1);\r\n }\r\n this.selectedId = 0;\r\n this.onSelectChange();\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.DELETED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.DELETE_FAILED);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n saveTemplate() {\r\n if (this.selectedId === 0) {\r\n this.template.content = this.content;\r\n }\r\n this.templateService\r\n .modifyTemplate(this.template)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === this.selectedId;\r\n });\r\n if (index >= 0 && this.selectedId !== 0) {\r\n this.templates[index].title = this.template.title;\r\n }\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);\r\n }\r\n });\r\n }\r\n\r\n cancelTemplate() {\r\n this.dialogRef.close();\r\n }\r\n\r\n updateTemplate() {\r\n this.templateService\r\n .modifyTemplate(this.template)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n if (this.isEdit) {\r\n this.dialogRef.close(this.template);\r\n } else {\r\n let index = this.templates.findIndex((x) => {\r\n return x.id === this.template.id;\r\n });\r\n if (index >= 0) {\r\n this.templates[index].title = this.template.title;\r\n }\r\n index = this.templateList.findIndex((x) => {\r\n return x.id === this.template.id;\r\n });\r\n if (index >= 0) {\r\n this.templateList[index].description = this.template.description;\r\n }\r\n }\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorDialogData } from '../../common/models/qms-ckeditor-dialog.model';\r\nimport { QMSCKEditorConfirmComponent } from '../../common/module/confirm/qms-ckeditor-confirm.component';\r\nimport { QMSCKEditorToastService } from '../../common/toast/qms-ckeditor-toast.service';\r\nimport { QMSCKEditorTemplate } from '../../models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTemplateService } from '../../services/qms-ckedtior-template.service';\r\nimport { QMSCKEditorTemplateComponent } from '../qms-ckeditor-template/qms-ckeditor-template.component';\r\n\r\n@Component({\r\n selector: 'app-qmsck-load-template',\r\n templateUrl: './qms-ckeditor-load-template.component.html',\r\n styleUrls: ['./qms-ckeditor-load-template.component.scss']\r\n})\r\nexport class QMSCKEditorLoadTemplateComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n templates: QMSCKEditorTemplate[] = [];\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private templateService: QMSCKEditorTemplateService,\r\n public dialogRef: MatDialogRef<QMSCKEditorLoadTemplateComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: string\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.getTemplate();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getTemplate() {\r\n this.templateService\r\n .getTemplate()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n this.templates = response;\r\n }\r\n });\r\n }\r\n\r\n onSelectTemplate(id: number) {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = this.LANG.QMSCKEDITOR.CHANGE_TEMPLATE;\r\n data.content = this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_CHANGE_TEMPLATE;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n const content = this.templates[index].content;\r\n this.dialogRef.close(content);\r\n }\r\n });\r\n }\r\n\r\n onEditTemplate(id: number) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n const data: QMSCKEditorTemplate = new QMSCKEditorTemplate();\r\n data.id = this.templates[index].id;\r\n data.content = this.templates[index].content;\r\n data.edit = true;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorTemplateComponent, {\r\n width: '650px',\r\n height: '500px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.templates[index].title = result.title;\r\n this.templates[index].description = result.description;\r\n }\r\n });\r\n }\r\n\r\n onDeleteTemplate(id: number) {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = this.LANG.QMSCKEDITOR.DELETE_TEMPLATE;\r\n data.content = this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_DELETE_TEMPLATE;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.templateService\r\n .deleteTemplate(id)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n if (index >= 0) {\r\n this.templates.splice(index, 1);\r\n }\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.DELETED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.DELETE_FAILED);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { QMSCKEditorToastService } from '../toast/qms-ckeditor-toast.service';\r\nexport class UploadAdapter {\r\n loader: any;\r\n constructor(loader) {\r\n this.loader = loader;\r\n }\r\n\r\n upload() {\r\n return this.loader.file\r\n .then((file) => {\r\n return new Promise((resolve, reject) => {\r\n const myReader = new FileReader();\r\n myReader.onloadend = () => {\r\n resolve({ default: myReader.result });\r\n };\r\n // if (file.size > 512000) {\r\n // const msg = `${file.name} is more than 500kb. Sorry, it has to be less than or equal to 500kb`;\r\n // QMSCKEditorToastService.error(msg);\r\n // reject();\r\n // }\r\n myReader.readAsDataURL(file);\r\n });\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n }\r\n}\r\n","export class CKEditorEventConst {\r\n public static QMSCK_FULLSCREEN_PLUGIN_MSG = 'QMSCK_FULLSCREEN_PLUGIN_MSG';\r\n public static QMSCK_TEMPLATE_PLUGIN_MSG = 'QMSCK_TEMPLATE_PLUGIN_MSG';\r\n public static QMSCK_LOAD_TEMPLATE_PLUGIN_MSG = 'QMSCK_LOAD_TEMPLATE_PLUGIN_MSG';\r\n public static QMSCK_LOAD_TEMPLATE_PLUGIN_RESP = 'QMSCK_LOAD_TEMPLATE_PLUGIN_RESP';\r\n public static QMSCK_LINK_PLUGIN_MSG = 'QMSCK_LINK_PLUGIN_MSG';\r\n public static QMSCK_LINK_PLUGIN_RESP = 'QMSCK_LINK_PLUGIN_RESP';\r\n public static QMSCK_TOOLTIP_PLUGIN_MSG = 'QMSCK_TOOLTIP_PLUGIN_MSG';\r\n public static QMSCK_TOOLTIP_PLUGIN_RESP = 'QMSCK_TOOLTIP_PLUGIN_RESP';\r\n}\r\n","var IFRAME_SRC = '//cdn.iframe.ly/api/iframe';\r\nvar API_KEY = 'b499e92e857f435c39c14d';\r\n\r\nfunction getCKEditorConfiguration(itemToolbar: string) {\r\n const ckeditorConfig = {\r\n toolbar: {\r\n items: [\r\n ],\r\n viewportTopOffset: 30,\r\n shouldNotGroupWhenFull: true\r\n },\r\n language: 'en',\r\n table: {\r\n contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells']\r\n },\r\n image: {\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n toolbar: [\r\n 'imageResize:25',\r\n 'imageResize:50',\r\n 'imageResize:75',\r\n 'imageResize:original',\r\n 'imageStyle:alignLeft',\r\n 'imageStyle:alignCenter',\r\n 'imageStyle:alignRight',\r\n '|',\r\n 'imageTextAlternative',\r\n '|',\r\n 'linkImage'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'imageResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'imageResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'imageResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'imageResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'medium'\r\n }\r\n ]\r\n },\r\n video: {\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n resizeUnit: '%',\r\n toolbar: [\r\n 'videoResize',\r\n '|',\r\n 'videoResize:25',\r\n 'videoResize:50',\r\n 'videoResize:75',\r\n 'videoResize:original',\r\n 'videoStyle:alignLeft',\r\n 'videoStyle:alignCenter',\r\n 'videoStyle:alignRight'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'videoResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'videoResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'videoResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'videoResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'large'\r\n }\r\n ]\r\n },\r\n media: {\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n resizeUnit: '%',\r\n toolbar: [\r\n 'mediaResize',\r\n '|',\r\n 'mediaResize:25',\r\n 'mediaResize:50',\r\n 'mediaResize:75',\r\n 'mediaResize:original',\r\n 'mediaStyle:alignLeft',\r\n 'mediaStyle:alignCenter',\r\n 'mediaStyle:alignRight'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'mediaResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'mediaResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'mediaResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'mediaResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'large'\r\n }\r\n ]\r\n },\r\n // Configure 'mediaEmbed' with Iframely previews.\r\n mediaEmbed: {\r\n // Previews are always enabled if there’s a provider for a URL (below regex catches all URLs)\r\n // By default `previewsInData` are disabled, but let’s set it to `false` explicitely to be sure\r\n previewsInData: true,\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n resizeUnit: '%',\r\n toolbar: [\r\n 'mediaResize',\r\n '|',\r\n 'mediaResize:25',\r\n 'mediaResize:50',\r\n 'mediaResize:75',\r\n 'mediaResize:original',\r\n 'mediaStyle:alignLeft',\r\n 'mediaStyle:alignCenter',\r\n 'mediaStyle:alignRight'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'mediaResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'mediaResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'mediaResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'mediaResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'large'\r\n }\r\n ],\r\n // providers: [\r\n // {\r\n // // hint: this is just for previews. Get actual HTML codes by making API calls from your CMS\r\n // name: 'iframely previews',\r\n // // Match all URLs or just the ones you need:\r\n // url: /.+/,\r\n\r\n // html: match => {\r\n // const url = match[0];\r\n\r\n // var iframeUrl = IFRAME_SRC + '?app=1&api_key=' + API_KEY + '&url=' + encodeURIComponent(url);\r\n // // alternatively, use &key= instead of &api_key with the MD5 hash of your api_key\r\n // // more about it: https://iframely.com/docs/allow-origins\r\n\r\n // return (\r\n // // If you need, set maxwidth and other styles for 'iframely-embed' class - it's yours to customize\r\n // '<div class=\"iframely-embed\">' +\r\n // '<div class=\"iframely-responsive\">' +\r\n // `<iframe src=\"${iframeUrl}\" ` +\r\n // 'frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen>' +\r\n // '</iframe>' +\r\n // '</div>' +\r\n // '</div>'\r\n // );\r\n // }\r\n // }\r\n // ]\r\n },\r\n link: {\r\n addTargetToExternalLinks: false,\r\n decorators: [\r\n {\r\n mode: 'manual',\r\n label: 'New window',\r\n attributes: {\r\n target: '_blank',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n mode: 'manual',\r\n label: 'Topmost window',\r\n attributes: {\r\n target: '_top',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n mode: 'manual',\r\n label: 'Same window',\r\n attributes: {\r\n target: '_self',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n mode: 'manual',\r\n label: 'Parent window',\r\n attributes: {\r\n target: '_parent',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n // alway put this one a the bottom\r\n mode: 'manual',\r\n label: 'Select range',\r\n attributes: {\r\n selectedRange: true\r\n }\r\n }\r\n ]\r\n }\r\n };\r\n\r\n if (itemToolbar) {\r\n const itemArray = itemToolbar.split(',');\r\n itemArray.forEach(i => {\r\n ckeditorConfig.toolbar.items.push(i);\r\n });\r\n }\r\n\r\n return ckeditorConfig;\r\n}\r\n\r\nconst CKEditorCommonFunctions = {\r\n getCKEditorConfiguration\r\n};\r\nexport default CKEditorCommonFunctions;\r\n","export class QMSCKEditorTooltip {\r\n text: string;\r\n content: string;\r\n ckEditor:any;\r\n \r\n constructor() {\r\n this.text = '';\r\n this.content = '';\r\n }\r\n }\r\n ","import { AfterViewChecked, ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators, Validator } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTooltip } from '../../models/qms-ckeditor-tooltip.model';\r\n//import * as customEditor from '../../../../assets/qms-ckeditor-plugin/build/ckEditor';\r\nimport CKEditorCommonFunctions from '../../common/functions/common.function';\r\n\r\ninterface ITooltip {\r\n text: string;\r\n content: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-qmsck-tooltip',\r\n templateUrl: './qms-ckeditor-tooltip.component.html',\r\n styleUrls: ['./qms-ckeditor-tooltip.component.scss']\r\n})\r\nexport class QMSCKEditorTooltipComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {\r\n LANG: any;\r\n tooltipFormGroup: FormGroup = new FormGroup({\r\n title: new FormControl('', [Validators.required]),\r\n content: new FormControl('', [Validators.required])\r\n });\r\n tooltip: ITooltip;\r\n editor: any;\r\n editorConfig: any;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<QMSCKEditorTooltipComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorTooltip\r\n ) {\r\n super();\r\n this.tooltip = { text: data.text, content: data.content };\r\n this.editor = data.ckEditor;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n 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');\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getOutputContent(content: string) {\r\n this.tooltip.content = content;\r\n }\r\n\r\n public onChanged({ editor }) {\r\n this.tooltip.content = editor.getData();\r\n }\r\n\r\n public onBlur({ editor }) {\r\n this.tooltip.content = editor.getData();\r\n }\r\n\r\n public onReady(editor) {\r\n if (this.tooltip.text) {\r\n editor.setData(this.tooltip.text);\r\n }\r\n editor.ui.getEditableElement().parentElement.insertBefore(editor.ui.view.toolbar.element, editor.ui.getEditableElement());\r\n }\r\n\r\n saveTooltip() {\r\n const tooltip = new QMSCKEditorTooltip();\r\n tooltip.content = this.tooltip.content;\r\n tooltip.text = this.tooltip.text;\r\n this.dialogRef.close(tooltip);\r\n }\r\n\r\n cancelTooltip() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, HostListener, Input, OnInit, Output, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { UploadAdapter } from './common/classes/uploadAdapter';\r\nimport { CKEditorEventConst } from './common/constants/ckeditorEvent.constant';\r\nimport CKEditorCommonFunctions from './common/functions/common.function';\r\nimport { QMSCKEdtiorInputData } from './common/models/qms-ckeditor-input.model';\r\nimport { QMSCKEditorPlugin } from './common/models/qms-ckeditor-plugin.model';\r\nimport QMSCKEditorLink from './common/models/qms-ckeditor-url.model';\r\nimport { QMSCKEditorFullscreenComponent } from './components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component';\r\nimport { QMSCKEditorLinkComponent } from './components/qms-ckeditor-link/qms-ckeditor-link.component';\r\nimport { QMSCKEditorLoadTemplateComponent } from './components/qms-ckeditor-load-template/qms-ckeditor-load-template.component';\r\nimport { QMSCKEditorTemplateComponent } from './components/qms-ckeditor-template/qms-ckeditor-template.component';\r\nimport { QMSCKEditorTemplate } from './models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseComponent } from './qms-ckeditor-base.component';\r\nimport { QMSCKEditorGlobalService } from './services/qms-ckeditor-global.service';\r\nimport { QMSCKEditorTooltip } from './models/qms-ckeditor-tooltip.model';\r\nimport { QMSCKEditorTooltipComponent } from './components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component';\r\n@Component({\r\n selector: 'qms-ckeditor',\r\n templateUrl: './qms-ckeditor.component.html',\r\n styleUrls: ['./qms-ckeditor.component.scss'],\r\n providers: [\r\n QMSCKEditorFullscreenComponent,\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => QMSCKEditorComponent),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => QMSCKEditorComponent),\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class QMSCKEditorComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewInit, Validator {\r\n @Input() qmsckData: QMSCKEdtiorInputData;\r\n @Input() qmsckPlugin: QMSCKEditorPlugin;\r\n @Input() qmsckContentInput: string;\r\n @Input('disabled') isDisabled: boolean;\r\n @Input('required') required: boolean = false;\r\n @Output() qmsckContentOutput: EventEmitter<string> = new EventEmitter();\r\n\r\n ckEditor: any;\r\n name: string;\r\n ckeditorConfig: any;\r\n ckEditorEventConst = CKEditorEventConst;\r\n countWord: number;\r\n countChar: number;\r\n editorInstance: any;\r\n\r\n @HostListener('window:message', ['$event'])\r\n onMessage(event) {\r\n switch (event.data.eventName) {\r\n case this.ckEditorEventConst.QMSCK_FULLSCREEN_PLUGIN_MSG:\r\n this.fullscreenEventHandling();\r\n break;\r\n case this.ckEditorEventConst.QMSCK_TEMPLATE_PLUGIN_MSG:\r\n this.templateEventHandling();\r\n break;\r\n case this.ckEditorEventConst.QMSCK_LOAD_TEMPLATE_PLUGIN_MSG:\r\n this.loadTemplateEventHandling();\r\n break;\r\n case this.ckEditorEventConst.QMSCK_LINK_PLUGIN_MSG:\r\n this.linkEventHandling(event.data.value);\r\n break;\r\n case this.ckEditorEventConst.QMSCK_TOOLTIP_PLUGIN_MSG:\r\n this.tooltipEventHandling(event.data.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Constructor\r\n */\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private globalService: QMSCKEditorGlobalService,\r\n private qmsCKEditorFullscreenComponent: QMSCKEditorFullscreenComponent,\r\n private renderer: Renderer2,\r\n private elRef: ElementRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.name = 'CKEditor custom build';\r\n this.ckEditor = this.qmsckPlugin.pluginObject;\r\n this.ckeditorConfig = CKEditorCommonFunctions.getCKEditorConfiguration(this.qmsckPlugin.itemToolbar);\r\n this.globalService.setApiUrl(this.qmsckData.apiUrl);\r\n if (this.isEnabledCustomizingMathtypeService()) {\r\n this.customizeMathTypeService();\r\n }\r\n if (this.isEnabledCustomizingTimestampFormat()) {\r\n this.customizeTimestampFormat();\r\n }\r\n }\r\n\r\n onChange: (content: any) => void;\r\n onTouched: () => void;\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.isDisabled) {\r\n this.renderer.addClass(this.elRef.nativeElement, 'ck-disabled');\r\n }\r\n }\r\n\r\n isEnabledCustomizingTimestampFormat(): boolean {\r\n const pattern = /(timestamp)/gmi;\r\n return !!this.qmsckData.timestampFormat\r\n && this.qmsckData.timestampFormat !== ''\r\n && !!this.qmsckPlugin.itemToolbar\r\n && this.qmsckPlugin.itemToolbar.search(pattern) > -1;\r\n }\r\n\r\n customizeTimestampFormat() {\r\n const timestampConfig = {\r\n timestampConfig: {\r\n datetimeFormat: this.qmsckData.timestampFormat\r\n }\r\n };\r\n this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, timestampConfig);\r\n }\r\n\r\n isEnabledCustomizingMathtypeService(): boolean {\r\n const pattern = /(MathType)|(ChemType)/gmi;\r\n return !!this.qmsckData.mathtypeServiceUrl\r\n && this.qmsckData.mathtypeServiceUrl !== ''\r\n && !!this.qmsckPlugin.itemToolbar\r\n && this.qmsckPlugin.itemToolbar.search(pattern) > -1;\r\n }\r\n\r\n customizeMathTypeService() {\r\n const mathTypeConfig = {\r\n mathTypeParameters: {\r\n serviceProviderProperties: {\r\n URI: this.qmsckData.mathtypeServiceUrl,\r\n server: 'aspx'\r\n }\r\n }\r\n };\r\n this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, mathTypeConfig);\r\n }\r\n\r\n public onChanged({ editor }) {\r\n this.qmsckContentOutput.emit(this.qmsckContentInput);\r\n }\r\n\r\n public onBlur({ editor }) {\r\n this.qmsckContentOutput.emit(this.qmsckContentInput);\r\n }\r\n\r\n validate(c: FormControl) {\r\n if (!this.required) {\r\n return null;\r\n }\r\n return (this.qmsckContentInput && !this.required) ? null : {\r\n type: {\r\n valid: false,\r\n actual: c.value\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * onReady\r\n */\r\n public onReady(editor) {\r\n this.editorInstance = editor;\r\n if (this.qmsckContentInput) {\r\n editor.setData(this.qmsckContentInput);\r\n }\r\n\r\n this.initEditor(editor);\r\n\r\n }\r\n\r\n private initEditor(editor) {\r\n editor.ui\r\n .getEditableElement()\r\n .parentElement.insertBefore(editor.ui.view.toolbar.element, editor.ui.getEditableElement());\r\n\r\n editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {\r\n return new UploadAdapter(loader);\r\n };\r\n\r\n // Apped Wordcount to CKeditor\r\n editor.plugins.get('WordCount').on('update', (evt, stats) => {\r\n // Prints the current content statistics.\r\n const wordsBox = document.querySelector('.wordcount-content');\r\n wordsBox.textContent = `Words: ${stats.words} / Characters: ${stats.characters}`;\r\n });\r\n\r\n }\r\n\r\n /**\r\n * Full screen - Restore down\r\n */\r\n public fullscreenEventHandling() {\r\n const ck = window.document.getElementById('qmsckeditor');\r\n if (ck) {\r\n if (!ck.classList.contains('qmsckeditor__fullscreen')) {\r\n this.qmsCKEditorFullscreenComponent.showFullScreen();\r\n } else {\r\n this.qmsCKEditorFullscreenComponent.hideFullScreen();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Add template - Load template\r\n */\r\n public templateEventHandling() {\r\n const data: QMSCKEditorTemplate = new QMSCKEditorTemplate();\r\n data.id = 0;\r\n data.content = this.qmsckContentInput;\r\n data.edit = false;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorTemplateComponent, {\r\n width: '650px',\r\n height: '520px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n // TDO\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Add template - Load template\r\n */\r\n public loadTemplateEventHandling() {\r\n const dialogTemplate = this.dialog.open(QMSCKEditorLoadTemplateComponent, {\r\n width: '650px',\r\n height: '700px',\r\n data: this.qmsckContentInput,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_LOAD_TEMPLATE_PLUGIN_RESP, {\r\n detail: result\r\n });\r\n window.dispatchEvent(evt);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Anchor - Link - Image mapping\r\n */\r\n public linkEventHandling(link) {\r\n let data = new QMSCKEditorLink();\r\n data = link;\r\n data.editorContent = this.qmsckContentInput;\r\n data.module = this.qmsckData.module;\r\n data.entityId = this.qmsckData.entityId;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorLinkComponent, {\r\n width: '650px',\r\n height: '660px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_LINK_PLUGIN_RESP, {\r\n detail: result\r\n });\r\n window.dispatchEvent(evt);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Tooltip mapping\r\n */\r\n public tooltipEventHandling(value) {\r\n let data = new QMSCKEditorTooltip();\r\n data.text = value.text;\r\n data.content = value.content;\r\n data.ckEditor = this.qmsckPlugin.pluginObject;\r\n\r\n const dialogTemplate = this.dialog.open(QMSCKEditorTooltipComponent, {\r\n width: '650px',\r\n height: '530px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_TOOLTIP_PLUGIN_RESP, {\r\n detail: result\r\n });\r\n window.dispatchEvent(evt);\r\n }\r\n });\r\n }\r\n}\r\n","import { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { Injector, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\r\nimport { QMSCKEditorConfirmComponent } from './common/module/confirm/qms-ckeditor-confirm.component';\r\nimport { QMSCKEditorTreeComponent } from './common/module/tree/qms-ckeditor-tree.component';\r\nimport { QMSCKEditorFullscreenComponent } from './components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component';\r\nimport { LinkAttachmentComponent } from './components/qms-ckeditor-link/attachments/link-attachment.component';\r\nimport { QMSCKEditorLinkComponent } from './components/qms-ckeditor-link/qms-ckeditor-link.component';\r\nimport { QMSCKEditorLoadTemplateComponent } from './components/qms-ckeditor-load-template/qms-ckeditor-load-template.component';\r\nimport { QMSCKEditorRelatedComponent } from './components/qms-ckeditor-relation/qmsckeditor-related.component';\r\nimport { QMSCKEditorTemplateComponent } from './components/qms-ckeditor-template/qms-ckeditor-template.component';\r\nimport { QMSCKEditorComponent } from './qms-ckeditor.component';\r\nimport { QMSCKEditorInjector } from './services/qms-ckeditor-injector.service';\r\nimport { SharedModule } from '../shared.module';\r\nimport { QMSCKEditorTooltipComponent } from './components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n QMSCKEditorFullscreenComponent,\r\n QMSCKEditorComponent,\r\n QMSCKEditorTemplateComponent,\r\n QMSCKEditorLoadTemplateComponent,\r\n QMSCKEditorConfirmComponent,\r\n QMSCKEditorLinkComponent,\r\n QMSCKEditorTreeComponent,\r\n QMSCKEditorRelatedComponent,\r\n LinkAttachmentComponent,\r\n QMSCKEditorTooltipComponent\r\n ],\r\n imports: [\r\n CKEditorModule,\r\n CommonModule,\r\n MatCommonModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n MatExpansionModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n MatCardModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatButtonModule,\r\n MatTreeModule,\r\n MatAutocompleteModule,\r\n ScrollingModule,\r\n HttpClientModule,\r\n SharedModule\r\n ],\r\n providers: [],\r\n exports: [QMSCKEditorComponent],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class QMSCKEditorModule {\r\n constructor(private injectors: Injector) {\r\n QMSCKEditorInjector.setInjector(this.injectors);\r\n }\r\n}\r\n","export class QMSCKEditorData {\r\n apiUrl?: string;\r\n module?: number;\r\n entityId?: string;\r\n documentId?: number;\r\n mathtypeServiceUrl?: string;\r\n timestampFormat?: string;\r\n}\r\n","export class QMSCKEdtiorInputData {\r\n apiUrl: string;\r\n module: number;\r\n entityId: string;\r\n documentId: number;\r\n mathtypeServiceUrl: string;\r\n timestampFormat: string;\r\n\r\n constructor() {\r\n this.apiUrl = '';\r\n this.module = 0;\r\n this.entityId = '';\r\n this.documentId = 0;\r\n this.mathtypeServiceUrl = '';\r\n this.timestampFormat = '';\r\n }\r\n}\r\n","export class QMSCKEditorLinkAnchorDocument {\r\n id: number;\r\n entityId: number;\r\n documentId: number;\r\n documentTypeId: number;\r\n richText: string;\r\n\r\n constructor() {\r\n this.id = 0;\r\n this.entityId = 0;\r\n this.documentId = 0;\r\n this.documentTypeId = 0;\r\n this.richText = '';\r\n }\r\n}\r\n","export default class QMSCKEditorLinkAttachment {\r\n itemId: string;\r\n fileName: string;\r\n placementId: number;\r\n processrelationTypeId: number;\r\n extension: string;\r\n description: string;\r\n sort: number;\r\n extraId: string;\r\n}\r\n","export default class QMSCKEditorTree {\r\n rootId: string;\r\n parentId: string;\r\n rootName: string;\r\n subName: string;\r\n childId: string;\r\n childName: string;\r\n statusId: number;\r\n displayId: number;\r\n}\r\n","export class QMSCKEditorPlugin {\r\n pluginObject: any;\r\n itemToolbar: string;\r\n\r\n constructor() {\r\n this.pluginObject = null;\r\n this.itemToolbar = '';\r\n }\r\n}\r\n","import { ViewChild } from '@angular/core';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { IconModel } from './qms-app-bar.model';\r\n\r\n@Component({\r\n selector: 'app-qms-app-bar',\r\n templateUrl: './qms-app-bar.component.html',\r\n styleUrls: ['./qms-app-bar.component.scss']\r\n})\r\nexport class QmsAppBarComponent implements OnInit {\r\n @ViewChild('menu', { static: true }) menu: MatButton;\r\n\r\n // nomal style\r\n @Input() isNomalType = false;\r\n @Input() leftFirstIcon = 'keyboard_backspace';\r\n @Input() title: string;\r\n @Input() cancelTitle: string;\r\n @Input() confirmTitle: string;\r\n @Input() disabledConfirmAction: boolean;\r\n @Output() onClickLeftFirstIconEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() onCancelEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() onConfirmEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n // modern style\r\n @Input() hideMenuDropdown: boolean;\r\n @Input() logoSvgPath: string;\r\n @Input() imgSvgPath: string;\r\n @Input() isImgSvgTransparent: boolean;\r\n @Input() rightIcons: IconModel[] = [];\r\n @Input() notifications = 0;\r\n @Output() onMenuClickedEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() onRightIconClickedEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor() { }\r\n \r\n ngOnInit(): void {\r\n }\r\n\r\n onCancel() {\r\n this.onCancelEvent.emit();\r\n }\r\n\r\n onClickLeftFirstIcon() {\r\n this.onClickLeftFirstIconEvent.emit();\r\n }\r\n\r\n onConfirm() {\r\n this.onConfirmEvent.emit();\r\n }\r\n\r\n onMenuClicked() {\r\n this.onMenuClickedEvent.emit();\r\n }\r\n\r\n onRightIconClicked(icon: string) {\r\n this.onRightIconClickedEvent.emit(icon);\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QmsAppBarComponent } from './qms-app-bar.component';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { QMSButtonModule } from '../button/button.module';\r\n\r\n@NgModule(\r\n {\r\n declarations: [\r\n QmsAppBarComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatToolbarModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatBadgeModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n QmsAppBarComponent\r\n ]\r\n }\r\n)\r\n\r\nexport class QmsAppBarModule {\r\n}\r\n","export class IconModel {\r\n icon: string;\r\n tooltip: string;\r\n cssClass: string;\r\n svg: boolean;\r\n isShow: boolean;\r\n constructor(icon: string, tooltip: string, cssClass = '', svg = false, isShow = true) {\r\n this.icon = icon;\r\n this.tooltip = tooltip;\r\n this.svg = svg;\r\n this.cssClass = cssClass;\r\n this.isShow = isShow;\r\n }\r\n}","import { MatDialogConfig } from \"@angular/material/dialog\";\r\n\r\nexport class ConfirmDialog {\r\n title: string;\r\n body: string;\r\n normalTitle: string;\r\n closeButton: boolean;\r\n buttonType: string;\r\n actionText: string;\r\n cancelText: string;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.body = '';\r\n this.normalTitle = '';\r\n this.buttonType = 'normal';\r\n this.closeButton = false;\r\n this.actionText = 'Confirm';\r\n this.cancelText = 'Cancel';\r\n }\r\n}\r\n\r\n\r\n\r\nexport class QMSDialogConfig extends MatDialogConfig {\r\n constructor(data: ConfirmDialog, width: string = '', minHeight: string = '', panelClass: string = '') {\r\n super();\r\n this.data = data;\r\n this.width = width;\r\n this.disableClose = false;\r\n this.panelClass = ['qms-dialog'];\r\n this.panelClass.push(panelClass);\r\n this.autoFocus = false;\r\n this.restoreFocus = false;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { QMSToolTipComponent } from './tooltip';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n CommonModule\r\n ],\r\n exports: [\r\n QMSToolTipComponent,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n \r\n ],\r\n declarations: [\r\n QMSToolTipComponent\r\n ],\r\n})\r\nexport class QMSTooltipModule { }","export class QmsBannerContent {\r\n text: string;\r\n tooltip?: string;\r\n bold?: boolean;\r\n}\r\n\r\nexport enum BannerType {\r\n primary = 'primary',\r\n warning = 'warning',\r\n success = 'success',\r\n error = 'error',\r\n light = 'light',\r\n none = 'none',\r\n}\r\n\r\nexport class QmsBannerConfirmButton {\r\n id: string | number;\r\n text: string;\r\n}\r\n\r\nexport class QmsBannerConfirmButtonClick {\r\n button: QmsBannerConfirmButton;\r\n event: PointerEvent;\r\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BannerType, QmsBannerContent } from '../models/qms-banner.model';\r\n\r\n@Component({\r\n selector: 'qms-banner',\r\n templateUrl: './qms-banner.component.html',\r\n styleUrls: ['./qms-banner.component.scss']\r\n})\r\nexport class QmsBannerComponent {\r\n @Input() type = BannerType.primary;\r\n @Input() contents: QmsBannerContent[] = [];\r\n @Input() icon: string;\r\n @Input() buttonText: string;\r\n @Input() buttonMinWidth: number;\r\n\r\n @Output() buttonClick = new EventEmitter<PointerEvent>();\r\n\r\n public onClickButton(event: PointerEvent) {\r\n this.buttonClick.emit(event);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QmsBannerComponent } from './qms-banner.component';\r\nimport { QMSButtonModule } from '../../button/button.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsBannerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n QmsBannerComponent\r\n ]\r\n})\r\nexport class QmsBannerModule { }\r\n","import { Component, Input } from '@angular/core';\r\nimport { BannerType } from '../models/qms-banner.model';\r\n\r\n@Component({\r\n selector: 'qms-banner-loading',\r\n templateUrl: './qms-banner-loading.component.html',\r\n styleUrls: ['./qms-banner-loading.component.scss']\r\n})\r\nexport class QmsBannerLoadingComponent {\r\n @Input() type = BannerType.primary;\r\n @Input() title: string;\r\n @Input() percent: number;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { QmsBannerLoadingComponent } from './qms-banner-loading.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsBannerLoadingComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatProgressSpinnerModule\r\n ],\r\n exports: [\r\n QmsBannerLoadingComponent\r\n ]\r\n})\r\nexport class QmsBannerLoadingModule { }\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BannerType, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerContent } from '../models/qms-banner.model';\r\n\r\n@Component({\r\n selector: 'qms-banner-confirm',\r\n templateUrl: './qms-banner-confirm.component.html',\r\n styleUrls: ['./qms-banner-confirm.component.scss']\r\n})\r\nexport class QmsBannerConfirmComponent {\r\n @Input() type = BannerType.primary;\r\n @Input() contents: QmsBannerContent[] = [];\r\n @Input() icon: string;\r\n @Input() title: string;\r\n @Input() buttons: QmsBannerConfirmButton[];\r\n\r\n @Output() buttonClick = new EventEmitter<QmsBannerConfirmButtonClick>();\r\n\r\n public onClickButton(event: PointerEvent, button: QmsBannerConfirmButton) {\r\n this.buttonClick.emit({\r\n event: event,\r\n button: button\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QmsBannerConfirmComponent } from './qms-banner-confirm.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { QMSButtonModule } from '../../button/button.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsBannerConfirmComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n QmsBannerConfirmComponent\r\n ]\r\n})\r\nexport class QmsBannerConfirmModule { }\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit, ChangeDetectionStrategy, Component,\r\n ContentChildren, Directive, ElementRef, HostListener, Input, OnInit,\r\n QueryList, Renderer2, ViewEncapsulation\r\n} from \"@angular/core\";\r\n\r\n\r\n@Component({\r\n selector: 'qms-table-action',\r\n templateUrl: 'table-action.html',\r\n styleUrls: ['table.scss'],\r\n host: { 'class': 'qms-table-action' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSTableAction implements OnInit {\r\n\r\n constructor(private elRef: ElementRef) { }\r\n ngOnInit() { }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-table-action-block',\r\n templateUrl: 'table-action-block.html',\r\n styleUrls: ['table.scss'],\r\n host: {\r\n 'class': 'qms-table-action-block',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSTableActionBlock implements AfterViewInit {\r\n\r\n constructor(private elRef: ElementRef<HTMLElement>, private renderer: Renderer2) { }\r\n\r\n ngAfterViewInit() {\r\n }\r\n}\r\n\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nimport { QMSTableAction, QMSTableActionBlock } from './table-action';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n QMSTableAction,\r\n QMSTableActionBlock,\r\n ],\r\n declarations: [\r\n QMSTableAction,\r\n QMSTableActionBlock,\r\n ],\r\n providers: []\r\n})\r\nexport class QMSTableModule { }\r\n","import { ItemIconType } from \"../../related/common/item-icon-type.enum\";\r\n\r\nexport class BreadcrumbNode {\r\n icon: string;\r\n iconColor: string;\r\n itemIcon: string;\r\n itemIconSvg: string;\r\n itemIconPath: string;\r\n itemIconBase64: string;\r\n name: string;\r\n isOverflow?: boolean;\r\n isShow?: boolean;\r\n displayType?: ItemIconType;\r\n}\r\n ","export class StepModel {\r\n id: string;\r\n name: string;\r\n disabled: boolean;\r\n selected: boolean;\r\n constructor(id: string, name: string, disabled: boolean, selected: boolean) {\r\n this.id = id;\r\n this.disabled = disabled;\r\n this.name = name;\r\n this.selected = selected;\r\n }\r\n}","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\r\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { StepModel } from './qms-stepper.model';\r\n\r\n@Component({\r\n selector: 'app-qms-stepper',\r\n templateUrl: './qms-stepper.component.html',\r\n styleUrls: ['./qms-stepper.component.scss']\r\n})\r\nexport class QmsStepperComponent implements OnInit {\r\n @ViewChild('stepper', { static: false }) stepper;\r\n @Input() steps: StepModel[] = [];\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() isHorizontal = false;\r\n @Input() currentStep = 0;\r\n @Input() labelPosition = 'end';\r\n @Output() selectionChangeEvent: EventEmitter<number> = new EventEmitter();\r\n constructor(private changeDetector: ChangeDetectorRef) {\r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n changeStep(selectedIndex: number): void {\r\n this.currentStep = selectedIndex;\r\n this.selectionChangeEvent.emit(selectedIndex);\r\n }\r\n}\r\n","import { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { QmsStepperComponent } from './qms-stepper.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n@NgModule(\r\n {\r\n declarations: [\r\n QmsStepperComponent\r\n ],\r\n imports: [\r\n MatStepperModule,\r\n CommonModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n QmsStepperComponent\r\n ],\r\n entryComponents: [\r\n QmsStepperComponent\r\n ],\r\n providers: [{\r\n provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false }\r\n }]\r\n }\r\n)\r\n\r\nexport class QmsStepperModule {\r\n}","import { MatSnackBarConfig, MatSnackBarHorizontalPosition } from \"@angular/material/snack-bar\";\r\n\r\nexport class QMSSnackbarConfig extends MatSnackBarConfig {\r\n constructor(duration: number = 3000, horizontalPosition: MatSnackBarHorizontalPosition = 'right', panelClass: string | string[] = ['c-snackbar-qms']) {\r\n super();\r\n this.duration = duration;\r\n this.horizontalPosition = horizontalPosition;\r\n this.panelClass = panelClass;\r\n }\r\n}\r\n","/*\r\n * Public API Surface of qms-angular\r\n */\r\n\r\nimport { from } from 'rxjs';\r\n\r\nexport * from './lib/qms-angular.service';\r\nexport * from './lib/qms-angular.component';\r\nexport * from './lib/qms-angular.module';\r\n\r\n// directives\r\n// export * from './lib/directives/directive.module';\r\nexport * from './lib/directives/margin.directive';\r\nexport * from './lib/directives/form.directive';\r\n\r\n// //components\r\nexport * from './lib/components/test-only/test-only.component';\r\n\r\nexport * from './lib/components/button/button.module';\r\nexport * from './lib/components/button/button';\r\nexport * from './lib/components/button/color';\r\n\r\nexport * from './lib/components/comment/comment';\r\n\r\n\r\nexport * from './lib/directives/search-field.directive';\r\nexport * from './lib/directives/range-slider/range-slider.directive';\r\nexport * from './lib/directives/range-slider/range-slider-lockup.directive';\r\nexport * from './lib/components/list/list.module';\r\nexport * from './lib/components/list/list';\r\nexport * from './lib/components/suffix-field/suffix-field.directive';\r\n\r\nexport * from './lib/services/translation-registry.service';\r\nexport * from './lib/shared.module';\r\nexport * from './lib/model/en';\r\nexport * from './lib/model/no';\r\n\r\nexport * from './lib/components/rich-text/rich-text.module';\r\nexport * from './lib/components/rich-text/rich-text';\r\n\r\n\r\n\r\nexport * from './lib/directives/chips/chip.directive';\r\nexport * from './lib/directives/chips/chip-body.directive';\r\nexport * from './lib/components/edit-file-name-dialog/edit-file-name-dialog.module';\r\nexport * from './lib/components/edit-file-name-dialog/edit-file-name-dialog';\r\nexport * from './lib/components/upload-file-error-dialog/upload-file-error-dialog.module';\r\nexport * from './lib/components/upload-file-error-dialog/upload-file-error-dialog';\r\n\r\nexport * from './lib/directives/file-upload/file-upload.directive';\r\nexport * from './lib/directives/file-upload/file-upload-attachment-list.directive';\r\nexport * from './lib/directives/file-upload/file-upload-selector.directive';\r\nexport * from './lib/directives/file-upload/file-upload-display.directive';\r\nexport * from './lib/directives/file-upload/file-upload-scrollable-attachment-list.directive';\r\nexport * from './lib/directives/file-upload/file-upload-multiple.directive';\r\nexport * from './lib/directives/file-upload/file-upload-multiple-selector.directive';\r\nexport * from './lib/directives/file-upload/file-upload-multiple-display.directive';\r\nexport * from './lib/directives/file-upload/qms-file-upload-attachment.model';\r\n\r\n\r\nexport * from './lib/directives/dropdown-menu/dropdown-item.directive';\r\n\r\nexport * from './lib/directives/scrollbar/scrollbar.directive';\r\nexport * from './lib/directives/scroll-selected/scroll-to-selected.directive';\r\n\r\n// export * from './lib/components/substance-conflict/substance-conflict.module';\r\n// export * from './lib/components/substance-conflict/substaince-conflict.base';\r\n// export * from './lib/components/substance-conflict/substance-conflict.component';\r\n\r\nexport * from './lib/components/related/related.module';\r\nexport * from './lib/components/related/tree/tree.component';\r\nexport * from './lib/components/related/common/tree.function';\r\nexport * from './lib/components/related/model/tree-node.model';\r\nexport * from './lib/components/related/model/tree.model';\r\nexport * from './lib/components/related/popup/related-popup.component';\r\nexport * from './lib/components/related/model/popup-data.model';\r\nexport * from './lib/components/related/content/related-content.component';\r\nexport * from './lib/components/related/sidenav/sidenav.component';\r\nexport * from './lib/components/related/model/sidenav.model';\r\nexport * from './lib/components/related/risk/analysis/analysis.component';\r\nexport * from './lib/components/related/model/risk-analysis.model';\r\nexport * from './lib/components/related/model/tree-config.model';\r\nexport * from './lib/components/related/model/risk-danger.model';\r\nexport * from './lib/components/related/risk/result/result.component';\r\nexport * from './lib/components/related/model/risk-result.model';\r\nexport * from './lib/components/related/risk/list/list.component';\r\nexport * from './lib/components/related/list-other-related/list-related.component'\r\nexport * from './lib/components/related/service/related-global.service';\r\nexport * from './lib/components/related/common/qms-icon.const';\r\n/* qms-ckeditor */\r\nexport * from './lib/qms-ckeditor-components/qms-ckeditor.module';\r\nexport * from './lib/qms-ckeditor-components/qms-ckeditor-base.component';\r\nexport * from './lib/qms-ckeditor-components/qms-ckeditor.component';\r\n\r\nexport * from './lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant';\r\nexport * from './lib/qms-ckeditor-components/common/enums/document-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/link-anchor.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/link-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/protocol-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/target-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/module.enum';\r\nexport * from './lib/qms-ckeditor-components/common/functions/common.function';\r\nexport * from './lib/qms-ckeditor-components/common/functions/tree.function';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-dialog.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-link-anchor-document.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-link-attachment.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-relation.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-tree.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-url.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-plugin.model';\r\nexport * from './lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component';\r\nexport * from './lib/qms-ckeditor-components/common/module/tree/qms-ckeditor-tree.component';\r\nexport * from './lib/qms-ckeditor-components/common/toast/qms-ckeditor-toast.service';\r\n\r\nexport * from './lib/qms-ckeditor-components/models/qms-ckeditor-template.model';\r\n\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component';\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component';\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component';\r\n// export * from './lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component';\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component';\r\n\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-global.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-injector.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-base.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckedtior-template.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckedtior-template.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-link.service';\r\n\r\nexport * from './lib/directives/text-block/text-block.directive';\r\nexport * from './lib/directives/text-block/text-block-line.directive';\r\nexport * from './lib/components/qms-app-bar/qms-app-bar.module';\r\nexport * from './lib/components/qms-app-bar/qms-app-bar.model';\r\nexport * from './lib/components/qms-app-bar/qms-app-bar.component';\r\n\r\nexport * from './lib/components/dialog/constant';\r\nexport * from './lib/components/dialog/dialog';\r\n\r\nexport * from './lib/directives/side-sheet/drawer.directive';\r\nexport * from './lib/directives/side-sheet/drawer-header.directive';\r\nexport * from './lib/directives/side-sheet/drawer-content.directive';\r\nexport * from './lib/directives/side-sheet/drawer-header-action.directive';\r\nexport * from './lib/directives/tooltip/tooltip-renderer.directive';\r\nexport * from './lib/directives/tooltip/tooltip-image.directive';\r\nexport * from './lib/components/tooltip/tooltip';\r\nexport * from './lib/components/tooltip/tooltip.module';\r\n\r\nexport * from './lib/directives/tab/tab-label.directive';\r\nexport * from './lib/directives/tab/tab-group.directive';\r\nexport * from './lib/directives/tab/tab-group-advanced.directive';\r\n\r\nexport * from './lib/components/banner/qms-banner/qms-banner.module';\r\nexport * from './lib/components/banner/qms-banner/qms-banner.component';\r\nexport * from './lib/components/banner/qms-banner-loading/qms-banner-loading.module';\r\nexport * from './lib/components/banner/qms-banner-loading/qms-banner-loading.component';\r\nexport * from './lib/components/banner/qms-banner-confirm/qms-banner-confirm.module';\r\nexport * from './lib/components/banner/qms-banner-confirm/qms-banner-confirm.component';\r\nexport * from './lib/components/banner/models/qms-banner.model';\r\n\r\nexport * from './lib/components/button/button-toggle';\r\nexport * from './lib/pipe/dateFormat.pipe';\r\n\r\nexport * from './lib/directives/chip-input/chip-input-field.directive';\r\nexport * from './lib/directives/chip-input/chip-input-select-field.directive';\r\nexport * from './lib/directives/chip-input/chip-input-select-trigger.directive';\r\nexport * from './lib/directives/chip-input/chip-input-select-dropdown.directive';\r\nexport * from './lib/directives/chip-input/chip-input-chip-list.directive';\r\nexport * from './lib/components/table/table.module';\r\nexport * from './lib/components/table/table-action';\r\n\r\n\r\nexport * from './lib/components/breadcrumb/breadcrumb';\r\nexport * from './lib/components/breadcrumb/breadcrumb.module';\r\nexport * from './lib/components/breadcrumb/breadcrumb-item.directive';\r\nexport * from './lib/components/breadcrumb/breadcrumb-direction-icon.directive';\r\nexport * from './lib/components/breadcrumb/model/breadcrumb-node.model';\r\n\r\nexport * from './lib/common/qms-icon.const';\r\n\r\nexport * from './lib/components/qms-stepper/qms-stepper.model';\r\nexport * from './lib/components/qms-stepper/qms-stepper.module';\r\nexport * from './lib/components/qms-stepper/qms-stepper.component';\r\nexport * from './lib/components/snackbar/snackbar';\r\n\r\nexport * from './lib/directives/scroll-selected/scroll-to-selected.directive';\r\n\r\nexport * from './lib/components/app-icon/icon-registry.service';\r\nexport * from './lib/components/app-icon/app-icon.module';\r\n\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {SharedMaterialModule as ɵa} from './lib/material-module';\nexport {LinkAttachmentComponent as ɵd} from './lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component';\nexport {QMSCKEditorTemplateComponent as ɵb} from './lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component';\nexport {QMSCKEditorTooltipComponent as ɵe} from './lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component';\nexport {QMSCKEditorTooltip as ɵf} from './lib/qms-ckeditor-components/models/qms-ckeditor-tooltip.model';\nexport {QMSCKEditorTreeService as ɵc} from './lib/qms-ckeditor-components/services/qms-ckeditor-tree.service';"],"names":["Injectable","BehaviorSubject","Component","EventEmitter","ChangeDetectionStrategy","Input","Output","FormBuilder","ElementRef","MatDialogRef","Inject","MAT_DIALOG_DATA","ViewChild","HostListener","Directive","ContentChild","MatAutocompleteTrigger","NgControl","Optional","FileErrorType","MatDialog","Renderer2","ViewEncapsulation","ComponentPortal","Overlay","OverlayPositionBuilder","InjectionToken","NG_VALUE_ACCESSOR","forwardRef","coerceBooleanProperty","SelectionModel","ChangeDetectorRef","ContentChildren","mixinDisableRipple","FocusMonitor","Attribute","mixinDisabled","ANIMATION_MODULE_TYPE","NgModule","MatCommonModule","MatIconModule","MatProgressSpinnerModule","MatInputModule","MatCardModule","MatDialogModule","CUSTOM_ELEMENTS_SCHEMA","moment","Pipe","CommonModule","FormsModule","ReactiveFormsModule","MAT_FORM_FIELD_DEFAULT_OPTIONS","MAT_RADIO_DEFAULT_OPTIONS","setLines","MatListModule","MatExpansionModule","MAT_EXPANSION_PANEL_DEFAULT_OPTIONS","NO_ERRORS_SCHEMA","NG_VALIDATORS","MatButtonModule","MatFormFieldModule","MatIconRegistry","DomSanitizer","ViewChildren","MatMenuModule","objData","buildArrayTree","TreeNode","buildObjectTree","findParent","findChild","FlatTreeControl","MatTreeFlattener","MatTreeFlatDataSource","Subject","FormControl","takeUntil","debounceTime","MatTreeModule","MatCheckboxModule","MatAutocompleteModule","ScrollingModule","MatSidenavModule","HttpHeaders","HttpClient","CKEditorModule","LinkAnchor","LinkType","ProtocolType","TargetType","QMSCKEditorDocumentType","forkJoin","FormGroup","Validators","MatSnackBarConfig","MatSnackBar","MatSnackBarModule","MatSelectModule","HttpClientModule","Injector","MatToolbarModule","MatTooltipModule","MatBadgeModule","MatDialogConfig","BannerType","MatStepperModule","STEPPER_GLOBAL_OPTIONS"],"mappings":"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"}
1
+ {"version":3,"file":"qms-angular.umd.js","sources":["../../../projects/qms-angular/src/lib/qms-angular.service.ts","../../../projects/qms-angular/src/lib/model/en.ts","../../../projects/qms-angular/src/lib/model/no.ts","../../../projects/qms-angular/src/lib/services/translation-registry.service.ts","../../../projects/qms-angular/src/lib/qms-angular.component.ts","../../../projects/qms-angular/src/lib/components/comment/comment.ts","../../../projects/qms-angular/src/lib/components/dialog/dialog.ts","../../../projects/qms-angular/src/lib/components/suffix-field/suffix-field.directive.ts","../../../projects/qms-angular/src/lib/components/test-only/test-only.component.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-chip-list.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-field.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-select-dropdown.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-select-trigger.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-select-field.directive.ts","../../../projects/qms-angular/src/lib/directives/chips/chip-body.directive.ts","../../../projects/qms-angular/src/lib/directives/chips/chip.directive.ts","../../../projects/qms-angular/src/lib/directives/dropdown-menu/dropdown-item.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-attachment-list.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-display.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-multiple-display.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/qms-file-upload-attachment.model.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-multiple-selector.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-multiple.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-scrollable-attachment-list.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-selector.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload.directive.ts","../../../projects/qms-angular/src/lib/directives/form.directive.ts","../../../projects/qms-angular/src/lib/directives/margin.directive.ts","../../../projects/qms-angular/src/lib/directives/range-slider/range-slider-lockup.directive.ts","../../../projects/qms-angular/src/lib/directives/range-slider/range-slider.directive.ts","../../../projects/qms-angular/src/lib/directives/scroll-selected/scroll-to-selected.directive.ts","../../../projects/qms-angular/src/lib/directives/scrollbar/scrollbar.directive.ts","../../../projects/qms-angular/src/lib/directives/search-field.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer-content.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer-header-action.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer-header.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer.directive.ts","../../../projects/qms-angular/src/lib/directives/tab/tab-group-advanced.directive.ts","../../../projects/qms-angular/src/lib/directives/tab/tab-group.directive.ts","../../../projects/qms-angular/src/lib/directives/tab/tab-label.directive.ts","../../../projects/qms-angular/src/lib/directives/text-block/text-block-line.directive.ts","../../../projects/qms-angular/src/lib/directives/text-block/text-block.directive.ts","../../../projects/qms-angular/src/lib/directives/tooltip/tooltip-image.directive.ts","../../../projects/qms-angular/src/lib/components/tooltip/tooltip.ts","../../../projects/qms-angular/src/lib/directives/tooltip/tooltip-renderer.directive.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/qms-angular/src/lib/components/button/button-toggle.ts","../../../projects/qms-angular/src/lib/components/button/color.ts","../../../projects/qms-angular/src/lib/components/button/button.ts","../../../projects/qms-angular/src/lib/components/button/button.module.ts","../../../projects/qms-angular/src/lib/material-module.ts","../../../projects/qms-angular/src/lib/pipe/dateFormat.pipe.ts","../../../projects/qms-angular/src/lib/shared.module.ts","../../../projects/qms-angular/src/lib/qms-angular.module.ts","../../../projects/qms-angular/src/lib/components/list/list.ts","../../../projects/qms-angular/src/lib/components/list/list.module.ts","../../../projects/qms-angular/src/lib/components/rich-text/rich-text.ts","../../../projects/qms-angular/src/lib/components/rich-text/rich-text.module.ts","../../../projects/qms-angular/src/lib/components/edit-file-name-dialog/edit-file-name-dialog.ts","../../../projects/qms-angular/src/lib/components/edit-file-name-dialog/edit-file-name-dialog.module.ts","../../../projects/qms-angular/src/lib/components/upload-file-error-dialog/upload-file-error-dialog.ts","../../../projects/qms-angular/src/lib/components/upload-file-error-dialog/upload-file-error-dialog.module.ts","../../../projects/qms-angular/src/lib/components/related/common/qms-icon.const.ts","../../../projects/qms-angular/src/lib/components/app-icon/icon-registry.service.ts","../../../projects/qms-angular/src/lib/components/app-icon/app-icon.module.ts","../../../projects/qms-angular/src/lib/common/qms-icon.const.ts","../../../projects/qms-angular/src/lib/components/related/common/item-icon-type.enum.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb-item.directive.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/enum/dropdown-node-width.enum.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb-direction-icon.directive.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../projects/qms-angular/src/lib/components/related/common/data-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/content/related-content.component.ts","../../../projects/qms-angular/src/lib/components/related/common/document-folder-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/list-other-related/list-related.component.ts","../../../projects/qms-angular/src/lib/components/related/common/module-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/common/related.const.ts","../../../projects/qms-angular/src/lib/components/related/model/popup-data.model.ts","../../../projects/qms-angular/src/lib/components/related/model/related-data.model.ts","../../../projects/qms-angular/src/lib/components/related/service/related-global.service.ts","../../../projects/qms-angular/src/lib/components/related/model/tree-node.model.ts","../../../projects/qms-angular/src/lib/components/related/common/tree.function.ts","../../../projects/qms-angular/src/lib/components/related/tree/tree.component.ts","../../../projects/qms-angular/src/lib/components/related/popup/related-popup.component.ts","../../../projects/qms-angular/src/lib/components/related/model/risk-analysis.model.ts","../../../projects/qms-angular/src/lib/components/related/risk/analysis/analysis.component.ts","../../../projects/qms-angular/src/lib/components/related/common/action-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/risk/list/list.component.ts","../../../projects/qms-angular/src/lib/components/related/common/color.enum.ts","../../../projects/qms-angular/src/lib/components/related/model/risk-result.model.ts","../../../projects/qms-angular/src/lib/components/related/risk/result/result.component.ts","../../../projects/qms-angular/src/lib/components/related/model/sidenav.model.ts","../../../projects/qms-angular/src/lib/components/related/sidenav/sidenav.component.ts","../../../projects/qms-angular/src/lib/components/related/related.module.ts","../../../projects/qms-angular/src/lib/components/related/model/tree.model.ts","../../../projects/qms-angular/src/lib/components/related/model/tree-config.model.ts","../../../projects/qms-angular/src/lib/components/related/model/risk-danger.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/qms-ckeditor-base.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-dialog.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/module/tree/qms-ckeditor-tree.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-global.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-base.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-link.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-parameter.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/module.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/link-anchor.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/link-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/protocol-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/target-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-relation.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-url.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/document-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-tree-node.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/functions/tree.function.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-injector.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/toast/qms-ckeditor-toast.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/models/qms-ckeditor-template.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckedtior-template.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/classes/uploadAdapter.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/functions/common.function.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/helper/guidHelper.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn-api.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/bpmn/inspector.function.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/bpmn/toolbar.function.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/flowchart-view-mode.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/image-mode.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/constants/iconSvg.constants.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.lib.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.validator.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/models/qms-ckeditor-tooltip.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/qms-ckeditor.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/qms-ckeditor.module.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-link-anchor-document.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-link-attachment.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-tree.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-plugin.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/related-to-item-type.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn-template.model.ts","../../../projects/qms-angular/src/lib/components/qms-app-bar/qms-app-bar.component.ts","../../../projects/qms-angular/src/lib/components/qms-app-bar/qms-app-bar.module.ts","../../../projects/qms-angular/src/lib/components/qms-app-bar/qms-app-bar.model.ts","../../../projects/qms-angular/src/lib/components/dialog/constant.ts","../../../projects/qms-angular/src/lib/components/tooltip/tooltip.module.ts","../../../projects/qms-angular/src/lib/components/banner/models/qms-banner.model.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner/qms-banner.component.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner/qms-banner.module.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-loading/qms-banner-loading.component.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-loading/qms-banner-loading.module.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-confirm/qms-banner-confirm.component.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-confirm/qms-banner-confirm.module.ts","../../../projects/qms-angular/src/lib/components/table/table-action.ts","../../../projects/qms-angular/src/lib/components/table/table.module.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/model/breadcrumb-node.model.ts","../../../projects/qms-angular/src/lib/components/qms-stepper/qms-stepper.model.ts","../../../projects/qms-angular/src/lib/components/qms-stepper/qms-stepper.component.ts","../../../projects/qms-angular/src/lib/components/qms-stepper/qms-stepper.module.ts","../../../projects/qms-angular/src/lib/components/snackbar/snackbar.ts","../../../projects/qms-angular/src/public-api.ts","../../../projects/qms-angular/src/qms-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QmsAngularService {\r\n\r\n constructor() { }\r\n}\r\n","export const en = {\r\n \"MY_COMPONENT\": \"My component\",\r\n \"SAVE_BUTTON\": \"Save\",\r\n \"CANCEL_BUTTON\": \"Cancel\",\r\n \"DELETE_MESSAGE_COMMENT\": \"This message has been deleted.\",\r\n \"REGRET\": \"Regret\",\r\n \"EDIT\": \"Edit\",\r\n \"DELETE\": \"Delete\",\r\n \"SAVE\": \"Save\",\r\n \"CANCEL\": \"Cancel\",\r\n \"EDIT_FILE_NAME\": \"Edit file name\",\r\n \"FILE_NAME\": \"File name\",\r\n \"UPLOAD_LEAVE_WARNING\": \"Files you're uploading may not be saved.\",\r\n \"SOME_FILES_WERE_NOT_ADDED\": \"Some files were not added\",\r\n \"YOU_CAN_ONLY_ADD\": \"You can only upload\",\r\n \"SELECT\": \"Select\",\r\n \"PROCESSES\": \"Processes\",\r\n \"DOCUMENTS\": \"Documents\",\r\n \"DEVIATION\": \"Categories\",\r\n \"CHECKLIST\": \"Checklists\",\r\n \"ASSESSMENT\": \"Assessments\",\r\n \"ADD\": \"Add\",\r\n \"SEARCH\": \"Search\",\r\n \"REGULAR_TITLE\": \"What do you want to include in the risk assessment(s)?\",\r\n \"CAPTION_TITLE\": \"In causal assessments, all causes related to the event are automatically added.\",\r\n \"CAUSAL_ANALYZES\": \"Selected Assessments\",\r\n \"FINISHED\": \"Finished\",\r\n \"PROCESS_ID\": \"Process ID\",\r\n \"DOCUMENT_ID\": \"Document ID\",\r\n \"PROCESS_AREA\": \"Process area\",\r\n \"FOLDER\": \"Folder\",\r\n \"DEVIATION_TYPE\": \"Deviation type\",\r\n \"CHECKLIST_CATEGORY\": \"Categories\",\r\n \"EVENT\": \"Event\",\r\n \"AREA_OF_IMPACT\": \"Consequence Area\",\r\n \"RESULT\": \"Result\",\r\n \"NOT_ACCEPTED\": \"Not accepted\",\r\n \"MUST_BE_EVALUATED\": \"Must be evaluated\",\r\n \"ACCEPTED\": \"Accepted\",\r\n \"ARCHIVED\": \"Archived\",\r\n \"CAUSE\": \"Cause\",\r\n \"ERROR\": {\r\n \"SELECT_DANGER\": \"You must select one or more events\"\r\n },\r\n \"MESSAGE\": {\r\n \"PROCESSES_IN\": \"Processes in\",\r\n \"DOCUMENTS_IN\": \"Documents in\"\r\n }\r\n ,\r\n \"QMSCKEDITOR\": {\r\n \"REMOVE_MAP\": \"Remove Map\",\r\n \"IMAGE_MAP_PROPERTIES\": \"Image Map Properties\",\r\n \"INSERT_TOOLTIP\": \"Insert a tooltip\",\r\n \"CONTENT\": \"Content\",\r\n \"TEMPLATE\": \"Template\",\r\n \"CONTENT_TEMPLATE\": \"Content Template\",\r\n \"CREATE_NEW_TEMPLATE\": \"Create new tempplate\",\r\n \"UPDATE_TEMPLATE\": \"Update tempplate\",\r\n \"TITLE\": \"Title\",\r\n \"DESCRIPTION\": \"Description\",\r\n \"SAVE\": \"Save\",\r\n \"CHOOSE_TEMPLATE\": \"Please select the template to open in the editor\",\r\n \"REPLACE_CONTENT\": \"Replace actual contents\",\r\n \"SAVED\": \"Saved\",\r\n \"SAVE_FAILED\": \"Save failed\",\r\n \"DELETE\": \"Delete\",\r\n \"DELETED\": \"Deleted\",\r\n \"DELETE_FAILED\": \"Delete failed\",\r\n \"DELETE_TEMPLATE\": \"Delete template\",\r\n \"CHANGE_TEMPLATE\": \"Change template\",\r\n \"CANCEL\": \"Cancel\",\r\n \"LINK\": \"Link\",\r\n \"LINK_TYPE\": \"Link type\",\r\n \"ZOOM\": \"Zoom\",\r\n \"LINK_URL\": \"URL\",\r\n \"LINK_ANCHOR_IN_TEXT\": \"Link to anchor in the text\",\r\n \"LINK_EMAIL\": \"Email\",\r\n \"LINK_ANCHOR_DOCUMENT\": \"Anchor in other document\",\r\n \"TARGET\": \"Target\",\r\n \"TARTGET_NEW\": \"New Window (_blank)\",\r\n \"TARGET_TOPMOST\": \"Topmost Window (_top)\",\r\n \"TARGET_SAME\": \"Same Window (_self)\",\r\n \"TARGET_PARENT\": \"Parent Window (_parent)\",\r\n \"PROTOCOL\": \"Protocol\",\r\n \"PROTOCOL_HTTP\": \"http://\",\r\n \"PROTOCOL_HTTPS\": \"https://\",\r\n \"PROTOCOL_FTP\": \"ftp://\",\r\n \"PROTOCOL_NEW\": \"news://\",\r\n \"PROTOCOL_OTHER\": \"<other>\",\r\n \"ADVISORY_TITLE\": \"Advisory Title\",\r\n \"HANDBOOK\": \"eHandbook\",\r\n \"ATTACHMENT\": \"Attachment\",\r\n \"OK\": \"Ok\",\r\n \"URL_HEADER\": \"URL information\",\r\n \"ANCHOR_TEXT_HEADER\": \"Select an Anchor\",\r\n \"ANCHOR_BY_NAME\": \"Anchor by name\",\r\n \"EMAIL_HEADER\": \"Email information\",\r\n \"EMAIL_ADDRESS\": \"Address\",\r\n \"EMAIL_SUBJECT\": \"Subject\",\r\n \"EMAIL_BODY\": \"Body\",\r\n \"ANCHOR_ATTACHMENT\": \"Attachments\",\r\n \"ANCHOR_RELATED_DOCUMENT\": \"Related document\",\r\n \"ADD_DOCUMENT_PROCESS\": \"Add document/ process\",\r\n \"ADD_DOCUMENT\": \"Add document\",\r\n \"ADD\": \"Add\",\r\n \"PROCESSES\": \"Processes\",\r\n \"DOCUMENTS\": \"Documents\",\r\n \"UPDATE\": \"Update\",\r\n \"DOCUMENT\": \"Document\",\r\n \"CONFIRM\": \"Confirm\",\r\n \"SEARCH\": \"Search\",\r\n \"IMAGE_MODE_POINTER\": \"Pointer\",\r\n \"IMAGE_MODE_RECTANGLE\": \"Rectangle\",\r\n \"IMAGE_MODE_CIRCLE\": \"Circle\",\r\n \"IMAGE_MODE_POLYGON\": \"Polygon\",\r\n \"IMAGE_MODE_REMOVE\": \"Remove\",\r\n \"POLYGON_DRAW\": \"Use SHIFT + click for the last control point\",\r\n \"RECTANGLE_DRAW\": \"Hold down SHIFT for square mode\",\r\n \"SQUARE_DRAW\": \"Release SHIFT for rectangle mode\",\r\n \"INVALID_URL\": \"Invalid URL\",\r\n \"REQUIRED_URL\": \"URL is required\"\r\n },\r\n \"BPMN\": {\r\n \"DEFAULT\": \"Default\",\r\n \"TYPE\": \"Type\",\r\n \"NAME\": \"Name\",\r\n \"EXCLUSIVE\": \"Exclusive\",\r\n \"INCLUSIVE\": \"Inclusive\",\r\n \"PARALLEL\": \"Parallel\",\r\n \"APPEARANCE\": \"appearance\",\r\n \"BODY_COLOR\": \"Body color\",\r\n \"TEXT_ALIGNMENT\": \"Text Alignment\",\r\n \"LEFT\": \"Left\",\r\n \"CENTER\": \"Center\",\r\n \"RIGHT\": \"Right\",\r\n \"FONT_FAMILY\": \"Font family\",\r\n \"FONT_SIZE\": \"Font size\",\r\n \"CONTENT\": \"Content\",\r\n \"ICON\": \"Icon\",\r\n \"NONE\": \"None\",\r\n \"MESSAGE\": \"Message\",\r\n \"USER\": \"User\",\r\n \"TASK\": \"Task\",\r\n \"TRANSACTION\": \"Transaction\",\r\n \"EVENT_SUB_PROCESS\": \"event-sub-process\",\r\n \"CALL_ACTIVITY\": \"call-activity\",\r\n \"SUB_PROCESS\": \"Sub-process\",\r\n \"START\": \"Start\",\r\n \"END\": \"End\",\r\n \"INTERMEDIATE\": \"Intermediate\",\r\n \"CANCEL\": \"Cancel\",\r\n \"CANCEL_OULINED\": \"Cancel oulined\",\r\n \"CANCEL_FILLED\": \"Cancel filled\",\r\n \"COMPENSATION_OULINED\": \"Compensation oulined\",\r\n \"COMPENSATION_FILLED\": \"Compensation filled\",\r\n \"CONDITIONAL\": \"Conditional\",\r\n \"ERROR_OULINED\": \"Error oulined\",\r\n \"ERROR_FILLED\": \"Error filled\",\r\n \"ESCALATION_OULINED\": \"Escalation oulined\",\r\n \"ESCALATION_FILLED\": \"Escalation filled\",\r\n \"LINK_OULINED\": \"Link oulined\",\r\n \"LINK_FILLED\": \"Link filled\",\r\n \"MESSAGE_OULINED\": \"Message oulined\",\r\n \"MESSAGE_FILLED\": \"Message filled\",\r\n \"MULTIPLE_OULINED\": \"Multiple oulined\",\r\n \"MULTIPLE_FILLED\": \"Multiple filled\",\r\n \"PARALLEL_MULTIPLE\": \"Parallel multiple\",\r\n \"TERMINATION_OULINED\": \"Termination oulined\",\r\n \"TERMINATION_FILLED\": \"Termination filled\",\r\n \"TIMER\": \"Timer\",\r\n \"SIGNAL_OULINED\": \"Signal oulined\",\r\n \"SIGNAL_FILLED\": \"Signal filled\",\r\n \"PARALLEL_OULINED\": \"Parallel oulined\",\r\n \"PARALLEL_FILLED\": \"Parallel filled\",\r\n \"SUB_TYPE\": \"Subtype\",\r\n \"TRANSPARENCY\": \"Transparency\",\r\n \"LABEL\": \"Label\",\r\n \"TEXT\": \"Text\",\r\n \"POSITION\": \"Position\",\r\n \"LABELS\": \"Labels\",\r\n \"NORMAL\": \"Normal\",\r\n \"ASSOCIATION\": \"Association\",\r\n \"CONVERSATION\": \"Conversation\",\r\n \"PARTICPANTS\": \"Particpants\",\r\n \"INITIATING_PARTICIPANT\": \"Initiating Participant\",\r\n \"PRIMARY_COLOR\": \"Primary Color\",\r\n \"SECONDARY_COLOR\": \"Secondary Color\",\r\n \"CALL-CONVERSATION\": \"Call-conversation\",\r\n \"ADD_LANES\": \"Add lanes\",\r\n \"PERCENTAGE\": \"Percentage\",\r\n \"ADD_SUBLANES\": \"Add sublanes\",\r\n \"HEADER_COLOR\": \"Header Color\",\r\n \"LANE_BODY_COLOR\": \"Lane Body Color\",\r\n \"LANE_HEADER_COLOR\": \"Lane Header Color\",\r\n \"OPEN_A_PRINT_DIALOG\": \"Open a Print Dialog\",\r\n \"OPEN_AS_JSON\": \"Open As JSON\",\r\n \"ZOOM_IN\": \"Zoom In\",\r\n \"ZOOM_OUT\": \"Zoom Out\",\r\n \"ZOOM_TO_FIT\": \"Zoom To Fit\",\r\n \"SEND_TO_FRONT\": \"Sent To Front\",\r\n \"BRING_OBJECT_TO_FRONT\": \"Bring Object to Front\",\r\n \"SEND_TO_BACK\": \"Sent To Back\",\r\n \"BRING_OBJECT_TO_BACK\": \"Send Object to Back\",\r\n \"CLEAR_PAPER\": \"Clear Paper\",\r\n \"UNDO\": \"Undo\",\r\n \"REDO\": \"Redo\",\r\n \"SELECT_TEMPLATE\": \"Select template\",\r\n \"DELETE_TEMPLATE\": \"Delete template\",\r\n \"SAVE_AS_TEMPLATE\": \"Save as template\",\r\n \"RESET_TO_LAST_SAVE\": \"Reset to last saved\",\r\n \"GRID_SIZE\": \"Grid size\",\r\n \"CHANGE_GRID_SIZE\": \"Change grid size\",\r\n \"SNAPLINES\": \"Snaplines:\",\r\n \"ENABLE_DISABLE_SNAPLINES\": \"Enable/Disable Snaplines\",\r\n \"LINE_COLOR\": \"Line Color\",\r\n \"BODY_LINE_COLOR\": \"Body Line Color\",\r\n \"TYPE_COLOR\": \"Type Color\",\r\n \"MARKER\": \"Markers\",\r\n \"MARKER_COLOR\": \"Markers Color\",\r\n \"TOP_COLOR\": \"Markers Color\",\r\n \"TOP_LINE_COLOR\": \"Top Line Color\",\r\n \"COLLECTION\": \"Collection\",\r\n \"COLLECTION_COLOR\": \"Collection Color\",\r\n \"SIZE\": \"Size\",\r\n \"HEADER_SIZE\": \"Header Size\",\r\n \"HEADER\": \"Header\",\r\n \"HEADER_STROKE_COLOR\": \"Header stroke color\",\r\n \"HEADER_LABEL_COLOR\": \"Header label color\",\r\n \"LANE_STROKE_COLOR\": \"Lane Stroke Color\",\r\n \"LANE_HEADER_STROKE\": \"Lane Header Stroke\",\r\n \"LANE_LABEL_COLOR\": \"Lane Label Color\",\r\n \"MILESTONE_HEADER_FILL\": \"Milestone Header Fill\",\r\n \"MILESTONE_STROKE\": \"Milestone Stroke\",\r\n \"MILESTONE_LABEL_COLOR\": \"Milestone Label Color\",\r\n \"MILESTONE_LINE_COLOR\": \"Milestone Line Color\",\r\n \"HEADER_ALIGNMENT\": \"Header Alignment\",\r\n \"HEADER_FONT_FAMILY\": \"Header Font family\",\r\n \"HEADER_FONT_SIZE\": \"Header Font size\",\r\n \"LANE_ALIGNMENT\": \"Lane Alignment\",\r\n \"LANE_FONT_FAMILY\": \"Lane Font family\",\r\n \"LANE_FONT_SIZE\": \"Lane Font size\",\r\n \"MILESTONE_ALIGNMENT\": \"Milestone Alignment\",\r\n \"MILESTONE_FONT_FAMILY\": \"Milestone Font family\",\r\n \"MILESTONE_FONT_SIZE\": \"Milestone Font size\",\r\n \"TEXT_COLOR\": \"Text color\",\r\n \"TEXT_HEADER_COLOR\": \"Header text color\",\r\n \"TEXT_BACKGROUND_COLOR\": \"Background text color\",\r\n \"TEXT_INSIDE_SHAPE\": \"Show text inside shape\",\r\n \"TEMPLATE_NAME\": \"Template name\",\r\n \"TEMPLATE_INFO\": \"Please input template name\",\r\n \"SELECT_TEMPLATE_INFORMATION\": \"You must select a template before you do this action.\",\r\n },\r\n \"QMSCKEDITOR_MESSAGE\": {\r\n \"CONFIRM_DELETE_TEMPLATE\": \"Are you sure you want to delete this template?\",\r\n \"CONFIRM_CHANGE_TEMPLATE\": \"Are you sure you want to apply this template to the editor?\"\r\n }\r\n}\r\n","export const no = {\r\n \"MY_COMPONENT\": \"Min komponent\",\r\n \"SAVE_BUTTON\": \"Lagre\",\r\n \"CANCEL_BUTTON\": \"Avbryt\",\r\n \"DELETE_MESSAGE_COMMENT\": \"Denne meldingen er slettet.\",\r\n \"REGRET\": \"Angre\",\r\n \"EDIT\": \"Rediger\",\r\n \"DELETE\": \"Slett\",\r\n \"SAVE\": \"Lagre\",\r\n \"CANCEL\": \"Avbryt\",\r\n \"EDIT_FILE_NAME\": \"Rediger filnavn\",\r\n \"FILE_NAME\": \"Filnavn\",\r\n \"UPLOAD_LEAVE_WARNING\": \"Filene du laster opp vil kanskje ikke bli lagret\",\r\n \"SOME_FILES_WERE_NOT_ADDED\": \"Noen filer ble ikke lagt til\",\r\n \"YOU_CAN_ONLY_ADD\": \"Du kan kun laste opp\",\r\n \"SELECT\": \"Velg\",\r\n \"PROCESSES\": \"Prosesser\",\r\n \"DOCUMENTS\": \"Dokumenter\",\r\n \"DEVIATION\": \"Kategorier\",\r\n \"CHECKLIST\": \"Sjekklister\",\r\n \"ASSESSMENT\": \"Analyser\",\r\n \"ADD\": \"Legg til\",\r\n \"SEARCH\": \"Søk\",\r\n \"REGULAR_TITLE\": \"Hva ønsker du å inkludere av hendeler i risikoanalysen(e)?\",\r\n \"CAPTION_TITLE\": \"I årsaksanalyser blir automatisk alle årsaker knyttet til hendelsen lagt til.\",\r\n \"CAUSAL_ANALYZES\": \"Valgte Analyser\",\r\n \"FINISHED\": \"Ferdig\",\r\n \"PROCESS_ID\": \"Prosess ID\",\r\n \"DOCUMENT_ID\": \"Dokument ID\",\r\n \"PROCESS_AREA\": \"Prosessområder\",\r\n \"FOLDER\": \"Mappe\",\r\n \"DEVIATION_TYPE\": \"Sakstype\",\r\n \"CHECKLIST_CATEGORY\": \"Kategorier\",\r\n \"EVENT\": \"Hendelse\",\r\n \"AREA_OF_IMPACT\": \"Konsekvensområde\",\r\n \"RESULT\": \"Resultat\",\r\n \"NOT_ACCEPTED\": \"Ikke akseptert\",\r\n \"MUST_BE_EVALUATED\": \"Må vurderes\",\r\n \"ACCEPTED\": \"Akseptert\",\r\n \"ARCHIVED\": \"Arkivert\",\r\n \"CAUSE\": \"Årsak\",\r\n \"ERROR\": {\r\n \"SELECT_DANGER\": \"Du må velge en eller flere hendelser\"\r\n },\r\n \"MESSAGE\": {\r\n \"PROCESSES_IN\": \"Prosesser i\",\r\n \"DOCUMENTS_IN\": \"Dokumenter i\"\r\n },\r\n \"QMSCKEDITOR\": {\r\n \"REMOVE_MAP\": \"Fjern kartet\",\r\n \"IMAGE_MAP_PROPERTIES\": \"Bilde Kart Egenskaper\",\r\n \"INSERT_TOOLTIP\": \"Sett inn et verktøytips\",\r\n \"CONTENT\": \"Innhold\",\r\n \"TEMPLATE\": \"Mal\",\r\n \"CONTENT_TEMPLATE\": \"Innholdsmal\",\r\n \"CREATE_NEW_TEMPLATE\": \"Lag ny mal\",\r\n \"UPDATE_TEMPLATE\": \"Oppdater mal\",\r\n \"TITLE\": \"Tittel\",\r\n \"DESCRIPTION\": \"Beskrivelse\",\r\n \"SAVE\": \"Lagre\",\r\n \"CHOOSE_TEMPLATE\": \"Velg malen du vil åpne i redigeringsprogrammet\",\r\n \"REPLACE_CONTENT\": \"Bytt ut faktisk innhold\",\r\n \"SAVED\": \"Lagret\",\r\n \"SAVE_FAILED\": \"Lagringen mislyktes\",\r\n \"DELETE\": \"Slett\",\r\n \"DELETED\": \"Slettet\",\r\n \"DELETE_FAILED\": \"Sletting mislyktes\",\r\n \"DELETE_TEMPLATE\": \"Slett mal\",\r\n \"CHANGE_TEMPLATE\": \"Endre mal\",\r\n \"CANCEL\": \"Avbryt\",\r\n \"LINK\": \"Link\",\r\n \"LINK_TYPE\": \"Koblingstype\",\r\n \"ZOOM\": \"Zoom\",\r\n \"LINK_URL\": \"URL\",\r\n \"LINK_ANCHOR_IN_TEXT\": \"Lenke til anker i teksten\",\r\n \"LINK_EMAIL\": \"E-post\",\r\n \"LINK_ANCHOR_DOCUMENT\": \"Anker i annet dokument\",\r\n \"TARGET\": \"Target\",\r\n \"TARTGET_NEW\": \"Nytt vindu (_blank)\",\r\n \"TARGET_TOPMOST\": \"Det øverste vinduet (_top)\",\r\n \"TARGET_SAME\": \"Samme vindu (selv)\",\r\n \"TARGET_PARENT\": \"Overordnet vindu (_parent)\",\r\n \"PROTOCOL\": \"Protocol\",\r\n \"PROTOCOL_HTTP\": \"http://\",\r\n \"PROTOCOL_HTTPS\": \"https://\",\r\n \"PROTOCOL_FTP\": \"ftp://\",\r\n \"PROTOCOL_NEW\": \"nyheter://\",\r\n \"PROTOCOL_OTHER\": \"<other>\",\r\n \"ADVISORY_TITLE\": \"Rådgivende tittel\",\r\n \"HANDBOOK\": \"eHandbook\",\r\n \"ATTACHMENT\": \"Attachment\",\r\n \"OK\": \"OK\",\r\n \"URL_HEADER\": \"URL-informasjon\",\r\n \"ANCHOR_TEXT_HEADER\": \"Velg et anker\",\r\n \"ANCHOR_BY_NAME\": \"Anker ved navn\",\r\n \"EMAIL_HEADER\": \"E-postinformasjon\",\r\n \"EMAIL_ADDRESS\": \"Adresse\",\r\n \"EMAIL_SUBJECT\": \"Emne\",\r\n \"EMAIL_BODY\": \"Kropp\",\r\n \"ANCHOR_ATTACHMENT\": \"Vedlegg\",\r\n \"ANCHOR_RELATED_DOCUMENT\": \"Beslektet dokument\",\r\n \"ADD_DOCUMENT_PROCESS\": \"Legg til dokument / prosess\",\r\n \"ADD_DOCUMENT\": \"Legg til dokument\",\r\n \"ADD\": \"Legg til\",\r\n \"PROSESSER\": \"Prosesser\",\r\n \"DOCUMENTS\": \"Dokumenter\",\r\n \"UPDATE\": \"Oppdater\",\r\n \"DOCUMENT\": \"Dokument\",\r\n \"CONFIRM\": \"Bekreft\",\r\n \"SEARCH\": \"Søk\",\r\n \"IMAGE_MODE_POINTER\": \"Peker\",\r\n \"IMAGE_MODE_RECTANGLE\": \"Rektangel\",\r\n \"IMAGE_MODE_CIRCLE\": \"Sirkel\",\r\n \"IMAGE_MODE_POLYGON\": \"Polygon\",\r\n \"IMAGE_MODE_REMOVE\": \"Ta bort\",\r\n \"POLYGON_DRAW\": \"Bruk SKIFT + klikk for det siste kontrollpunktet\",\r\n \"RECTANGLE_DRAW\": \"Hold nede SKIFT for kvadratisk modus\",\r\n \"SQUARE_DRAW\": \"Slipp SKIFT for rektangelmodus\",\r\n \"INVALID_URL\": \"Ugyldig URL\",\r\n \"REQUIRED_URL\": \"URL er påkrevd\"\r\n },\r\n \"BPMN\": {\r\n \"DEFAULT\": \"Standard\",\r\n \"TYPE\": \"Type\",\r\n \"NAME\": \"Navn\",\r\n \"EXCLUSIVE\": \"Eksklusiv\",\r\n \"INCLUSIVE\": \"Inklusive\",\r\n \"PARALLEL\": \"Parallel\",\r\n \"APPEARANCE\": \"Utseende\",\r\n \"BODY_COLOR\": \"Farge\",\r\n \"TEXT_ALIGNMENT\": \"Tekstplassering\",\r\n \"LEFT\": \"Venstre\",\r\n \"CENTER\": \"Midtjuster\",\r\n \"RIGHT\": \"Høyre\",\r\n \"FONT_FAMILY\": \"Fontfamilie\",\r\n \"FONT_SIZE\": \"Skriftstørrelse\",\r\n \"CONTENT\": \"Innhold\",\r\n \"ICON\": \"Ikon\",\r\n \"NONE\": \"None\",\r\n \"MESSAGE\": \"Message\",\r\n \"USER\": \"User\",\r\n \"TASK\": \"Task\",\r\n \"TRANSACTION\": \"Transaction\",\r\n \"EVENT_SUB_PROCESS\": \"event-sub-process\",\r\n \"CALL_ACTIVITY\": \"call-activity\",\r\n \"SUB_PROCESS\": \"Sub-process\",\r\n \"START\": \"Start\",\r\n \"END\": \"End\",\r\n \"INTERMEDIATE\": \"Intermediate\",\r\n \"CANCEL\": \"Cancel\",\r\n \"CANCEL_OULINED\": \"Cancel oulined\",\r\n \"CANCEL_FILLED\": \"Cancel filled\",\r\n \"COMPENSATION_OULINED\": \"Compensation oulined\",\r\n \"COMPENSATION_FILLED\": \"Compensation filled\",\r\n \"CONDITIONAL\": \"Conditional\",\r\n \"ERROR_OULINED\": \"Error oulined\",\r\n \"ERROR_FILLED\": \"Error filled\",\r\n \"ESCALATION_OULINED\": \"Escalation oulined\",\r\n \"ESCALATION_FILLED\": \"Escalation filled\",\r\n \"LINK_OULINED\": \"Link oulined\",\r\n \"LINK_FILLED\": \"Link filled\",\r\n \"MESSAGE_OULINED\": \"Message oulined\",\r\n \"MESSAGE_FILLED\": \"Message filled\",\r\n \"MULTIPLE_OULINED\": \"Multiple oulined\",\r\n \"MULTIPLE_FILLED\": \"Multiple filled\",\r\n \"PARALLEL_MULTIPLE\": \"Parallel multiple\",\r\n \"TERMINATION_OULINED\": \"Termination oulined\",\r\n \"TERMINATION_FILLED\": \"Termination filled\",\r\n \"TIMER\": \"Timer\",\r\n \"SIGNAL_OULINED\": \"Signal oulined\",\r\n \"SIGNAL_FILLED\": \"Signal filled\",\r\n \"PARALLEL_OULINED\": \"Parallel oulined\",\r\n \"PARALLEL_FILLED\": \"Parallel filled\",\r\n \"SUB_TYPE\": \"Subtype\",\r\n \"TRANSPARENCY\": \"Transparency\",\r\n \"LABEL\": \"Label\",\r\n \"TEXT\": \"Tekst\",\r\n \"POSITION\": \"Plassering\",\r\n \"LABELS\": \"Labels\",\r\n \"NORMAL\": \"Normal\",\r\n \"ASSOCIATION\": \"Association\",\r\n \"CONVERSATION\": \"Conversation\",\r\n \"PARTICPANTS\": \"Particpants\",\r\n \"INITIATING_PARTICIPANT\": \"Initiating Participant\",\r\n \"PRIMARY_COLOR\": \"Hovedfarge\",\r\n \"SECONDARY_COLOR\": \"Sekundærfarge\",\r\n \"CALL-CONVERSATION\": \"Call-conversation\",\r\n \"ADD_LANES\": \"Legg til baner\",\r\n \"PERCENTAGE\": \"Prosent\",\r\n \"ADD_SUBLANES\": \"Legg til delbane\",\r\n \"HEADER_COLOR\": \"Header Color\",\r\n \"LANE_BODY_COLOR\": \"Lane Body Color\",\r\n \"LANE_HEADER_COLOR\": \"Lane Header Color\",\r\n \"OPEN_A_PRINT_DIALOG\": \"Åpne en utskriftsdialog\",\r\n \"OPEN_AS_JSON\": \"Åpne som JSON\",\r\n \"ZOOM_IN\": \"Zoom inn\",\r\n \"ZOOM_OUT\": \"Zoom ut\",\r\n \"ZOOM_TO_FIT\": \"Zoom for å passe\",\r\n \"SEND_TO_FRONT\": \"Send til front\",\r\n \"BRING_OBJECT_TO_FRONT\": \"Flytt objektet frem til front\",\r\n \"SEND_TO_BACK\": \"Send bakerst\",\r\n \"BRING_OBJECT_TO_BACK\": \"Flytt objektet bakerst\",\r\n \"CLEAR_PAPER\": \"Tøm\",\r\n \"UNDO\": \"Angre\",\r\n \"REDO\": \"Gjenta\",\r\n \"SELECT_TEMPLATE\": \"Velg mal\",\r\n \"DELETE_TEMPLATE\": \"Slett mal\",\r\n \"SAVE_AS_TEMPLATE\": \"Lagre som mal\",\r\n \"RESET_TO_LAST_SAVE\": \"Forkast ulagrede endringer\",\r\n \"GRID_SIZE\": \"Grid str.\",\r\n \"CHANGE_GRID_SIZE\": \"Endre grid str.\",\r\n \"SNAPLINES\": \"Hjelpelinjer:\",\r\n \"ENABLE_DISABLE_SNAPLINES\": \"Aktivere/Deaktivere hjelpelinjer\",\r\n \"LINE_COLOR\": \"Linje Farge\",\r\n \"BODY_LINE_COLOR\": \"Kropps Linje Farge\",\r\n \"TYPE_COLOR\": \"Type Farge\",\r\n \"MARKER\": \"Markører\",\r\n \"MARKER_COLOR\": \"Markører Farge\",\r\n \"TOP_COLOR\": \"Topp Farge\",\r\n \"TOP_LINE_COLOR\": \"Topp Linje Farge\",\r\n \"COLLECTION\": \"Samling\",\r\n \"COLLECTION_COLOR\": \"Samling Farge\",\r\n \"SIZE\": \"Str.\",\r\n \"HEADER_SIZE\": \"Overskriftsstr.\",\r\n \"HEADER\": \"Overskrift\",\r\n \"HEADER_STROKE_COLOR\": \"Header stroke color\",\r\n \"HEADER_LABEL_COLOR\": \"Header label color\",\r\n \"LANE_STROKE_COLOR\": \"Lane Stroke Color\",\r\n \"LANE_HEADER_STROKE\": \"Lane Header Stroke\",\r\n \"LANE_LABEL_COLOR\": \"Lane Label Color\",\r\n \"MILESTONE_HEADER_FILL\": \"Milestone Header Fill\",\r\n \"MILESTONE_STROKE\": \"Milestone Stroke\",\r\n \"MILESTONE_LABEL_COLOR\": \"Milestone Label Color\",\r\n \"MILESTONE_LINE_COLOR\": \"Milestone Line Color\",\r\n \"HEADER_ALIGNMENT\": \"Header Alignment\",\r\n \"HEADER_FONT_FAMILY\": \"Header Font family\",\r\n \"HEADER_FONT_SIZE\": \"Header Font size\",\r\n \"LANE_ALIGNMENT\": \"Lane Alignment\",\r\n \"LANE_FONT_FAMILY\": \"Lane Font family\",\r\n \"LANE_FONT_SIZE\": \"Lane Font size\",\r\n \"MILESTONE_ALIGNMENT\": \"Milestone Alignment\",\r\n \"MILESTONE_FONT_FAMILY\": \"Milestone Font family\",\r\n \"MILESTONE_FONT_SIZE\": \"Milestone Font size\",\r\n \"TEXT_COLOR\": \"Tekst Farge\",\r\n \"TEXT_HEADER_COLOR\": \"Header Tekst Farge\",\r\n \"TEXT_BACKGROUND_COLOR\": \"Bakgrunn Tekst Farge\",\r\n \"TEXT_INSIDE_SHAPE\": \"Vis teksten inni figur\",\r\n \"TEMPLATE_NAME\": \"Malnavn\",\r\n \"TEMPLATE_INFO\": \"Vennligst skriv inn malnavn\",\r\n \"SELECT_TEMPLATE_INFORMATION\": \"Du må velge en malen før du utfører denne handlingen.\",\r\n },\r\n \"QMSCKEDITOR_MESSAGE\": {\r\n \"CONFIRM_DELETE_TEMPLATE\": \"Er du sikker på at du vil slette denne malen?\",\r\n \"CONFIRM_CHANGE_TEMPLATE\": \"Er du sikker på at du vil bruke denne malen på redaktøren?\"\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { en } from '../model/en';\r\nimport { no } from '../model/no';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TranslateLibraryService {\r\n\r\n getLanguageSubject$ = new BehaviorSubject<any>(null);\r\n private availableLanguages = { en, no };\r\n\r\n constructor() { }\r\n\r\n setLanguage(item: any) {\r\n this.getLanguageSubject$.next(item);\r\n }\r\n\r\n getObjectLang(lang) {\r\n let language = lang && lang.toLowerCase() || 'en';\r\n if (language !== 'en' && language !== 'no') {\r\n language = 'en';\r\n }\r\n return this.availableLanguages[language];\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateLibraryService } from './services/translation-registry.service';\r\n\r\n@Component({\r\n selector: 'lib-qms-angular',\r\n templateUrl: 'qms-angular.component.html',\r\n styles: []\r\n})\r\nexport class QmsAngularComponent implements OnInit {\r\n\r\n LANG: any;\r\n\r\n constructor(public trans: TranslateLibraryService) { }\r\n\r\n ngOnInit() {\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","// Import the core angular services.\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from \"@angular/core\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\n\r\nexport interface Logs {\r\n user: string,\r\n date: any,\r\n isDraft: boolean,\r\n isEdit: boolean,\r\n content: string,\r\n editedContent: string\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-comment',\r\n templateUrl: 'comment.html',\r\n styleUrls: ['comment.scss'],\r\n host: { 'class': 'qms-comment' },\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSComment implements OnInit, OnChanges {\r\n @Input() sourceLog: Logs[];\r\n @Output() updateLog = new EventEmitter();\r\n\r\n LANG: any;\r\n\r\n constructor(public trans: TranslateLibraryService) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n for (const propName in changes) {\r\n const changedProp = changes[propName];\r\n const to = JSON.stringify(changedProp.currentValue);\r\n if (changedProp.isFirstChange()) {\r\n console.log('Initial value of');\r\n } else {\r\n const from = JSON.stringify(changedProp.previousValue);\r\n console.log('changed from');\r\n }\r\n }\r\n console.log('value changed', changes.sourceLog.currentValue);\r\n // this.sourceLog = changes.sourceLog.currentValue;\r\n }\r\n\r\n ngOnInit() {\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n console.log(this.LANG);\r\n\r\n }\r\n });\r\n }\r\n\r\n showContent(content) {\r\n return content.replace(/(?:\\r\\n|\\r|\\n)/g, '<br>');\r\n }\r\n\r\n editContent(item) {\r\n item.editedContent = item.content;\r\n item.isEdit = true;\r\n }\r\n\r\n saveEditedContent(item) {\r\n item.content = item.editedContent;\r\n item.isEdit = false;\r\n this.updateLog.emit(item);\r\n }\r\n\r\n removeItem(item) {\r\n item.isDelete = true;\r\n this.updateLog.emit(item);\r\n }\r\n}\r\n","import { AfterViewInit, Component, ElementRef, HostListener, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ConfirmDialog } from './constant';\r\n\r\n@Component({\r\n selector: 'qms-dialog-confirm',\r\n templateUrl: 'dialog-confirm.html',\r\n styleUrls: ['dialog.scss']\r\n})\r\nexport class QMSConfirmDialog implements OnInit, AfterViewInit {\r\n info: ConfirmDialog;\r\n\r\n @ViewChild('actionGroup') actionGroup: ElementRef;\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.orderActionButton();\r\n }\r\n\r\n constructor(private fb: FormBuilder,\r\n private _elRef: ElementRef,\r\n private dialogRef: MatDialogRef<QMSConfirmDialog>,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n\r\n this.info = { ...data };\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.orderActionButton();\r\n }\r\n\r\n orderActionButton() {\r\n const divHeight = this.actionGroup.nativeElement.offsetHeight;\r\n document.getElementById('action-btn').style.order = divHeight > 68 ? '1' : '2';\r\n }\r\n\r\n save() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-dialog-form',\r\n templateUrl: 'dialog-form.html',\r\n styleUrls: ['dialog.scss']\r\n})\r\nexport class QMSFormDialog implements OnInit {\r\n ngOnInit() {\r\n\r\n }\r\n}\r\n\r\n","import { AfterViewChecked, AfterViewInit, ContentChild, Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-suffix]',\r\n})\r\nexport class QMSSuffixDirective {\r\n constructor(private el: ElementRef) {\r\n el.nativeElement.classList.add('qms-suffix');\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'mat-form-field[qms-suffix-field]',\r\n})\r\nexport class QMSSuffixFieldDirective implements AfterViewChecked {\r\n @ContentChild(QMSSuffixDirective, {static: false}) qmsSuffix: QMSSuffixDirective;\r\n\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngAfterViewChecked(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-suffix-field');\r\n }\r\n }\r\n\r\n removeFocus = () => {\r\n this.ele.nativeElement.classList.remove('mat-focused');\r\n }\r\n}\r\n\r\n\r\n","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'qms-test-only',\r\n styleUrls: ['./test-only.component.scss'],\r\n templateUrl: './test-only.component.html'\r\n})\r\nexport class TestOnlyComponent {\r\n @Input() text: string = \"\";\r\n}","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-input-chip-list]',\r\n})\r\nexport class QMSChipInputChipListDirective implements OnInit {\r\n @Input() maxRows: number;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-input-chip-list');\r\n if(this.maxRows && this.maxRows > 0){\r\n this.ele.nativeElement.classList.add(`qms-chip-input-max-${this.maxRows}`)\r\n }\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input]',\r\n})\r\nexport class QMSChipInputDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input-dropdown]',\r\n})\r\nexport class QMSChipInputSelectDropWDownDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input-dropdown');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, OnInit } from \"@angular/core\";\r\nimport { MatAutocompleteTrigger } from \"@angular/material/autocomplete\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input-select-trigger]',\r\n})\r\nexport class QMSChipInputSelectTriggerDirective implements OnInit {\r\n public eleSelect: ElementRef;\r\n public autocomplete: MatAutocompleteTrigger;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input');\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event.target'])\r\n click(){\r\n if(this.autocomplete){\r\n if(!this.autocomplete.panelOpen)\r\n this.autocomplete.openPanel();\r\n else\r\n this.autocomplete.closePanel();\r\n }\r\n \r\n }\r\n}\r\n","import { AfterViewInit, ContentChild, Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\nimport { MatAutocompleteTrigger } from \"@angular/material/autocomplete\";\r\nimport { QMSChipInputSelectTriggerDirective } from \"./chip-input-select-trigger.directive\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input-select]',\r\n})\r\nexport class QMSChipInputSelectFieldDirective implements OnInit, AfterViewInit {\r\n @ContentChild(QMSChipInputSelectTriggerDirective, {static: false}) selectTrigger: QMSChipInputSelectTriggerDirective;\r\n @ContentChild(MatAutocompleteTrigger) autocomplete: MatAutocompleteTrigger;\r\n\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngAfterViewInit(): void {\r\n if(this.selectTrigger){\r\n this.selectTrigger.autocomplete = this.autocomplete;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input-select');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-chip-body]',\r\n})\r\nexport class QMSChipBodyDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-body');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'mat-chip[qms-chip]',\r\n})\r\nexport class QMSInputChipDirective implements OnInit, OnChanges {\r\n\r\n @Input() selected: boolean;\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.selected) {\r\n this.ele.nativeElement.classList.add('qms-chip-selected');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-chip-selected');\r\n }\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip');\r\n if (this.selected) {\r\n this.ele.nativeElement.classList.add('qms-chip-selected');\r\n }\r\n }\r\n }\r\n}\r\n","import { AfterViewInit, ContentChild, Directive, ElementRef, HostListener, Input, OnChanges, OnInit, SimpleChanges } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-menu-item]',\r\n})\r\nexport class QMSDropdownMenuItem implements OnInit, AfterViewInit, OnChanges{\r\n @ContentChild(\"menuItemContent\", {static: false}) menuItemContent: ElementRef;\r\n @Input() selected: boolean;\r\n \r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.selected){\r\n this.ele.nativeElement.classList.add('qms-dropdown-menu-item-selected');\r\n }\r\n else{\r\n this.ele.nativeElement.classList.remove('qms-dropdown-menu-item-selected');\r\n }\r\n }\r\n \r\n ngAfterViewInit(): void {\r\n if(this.menuItemContent){\r\n if(this.menuItemContent.nativeElement){\r\n this.menuItemContent.nativeElement.classList.add('qms-dropdown-menu-item__content')\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-dropdown-menu-item');\r\n if(this.selected){\r\n this.ele.nativeElement.classList.add('qms-dropdown-menu-item-selected');\r\n }\r\n }\r\n }\r\n}","import { AfterContentChecked, ContentChild, Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-attachment-list]',\r\n})\r\n\r\nexport class QMSAttachmentListDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-attachment-list');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input, OnChanges, OnInit, Optional } from \"@angular/core\";\r\nimport { NgControl } from \"@angular/forms\";\r\nimport { QMSFileAttachment } from \"./qms-file-upload-attachment.model\";\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-display]',\r\n})\r\nexport class QMSFileUploadDisplayDirective implements OnInit, OnChanges{\r\n public eleInput: ElementRef;\r\n public removeInvalid: () => void;\r\n public addInvalid: () => void;\r\n @Input() value;\r\n constructor(public ele: ElementRef, \r\n @Optional() private control: NgControl) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n ngOnChanges(): void {\r\n if(this.control){\r\n this.control.control.setValue(this.value? this.value : '');\r\n this.control.control.updateValueAndValidity();\r\n if(this.control.control.valid && this.removeInvalid){\r\n this.removeInvalid();\r\n }\r\n if(this.control.control.invalid && this.addInvalid){\r\n this.addInvalid();\r\n }\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event.target'])\r\n Click() {\r\n this.eleInput.nativeElement.click();\r\n }\r\n}","import { Directive, ElementRef, HostListener, Input, OnChanges, OnInit, Optional } from \"@angular/core\";\r\nimport { NgControl } from \"@angular/forms\";\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-multiple-display]',\r\n})\r\nexport class QMSFileUploadMultipleDisplayDirective implements OnInit{\r\n public eleInput: ElementRef;\r\n @Input() acceptExtension: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n \r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event.target'])\r\n Click() {\r\n this.eleInput.nativeElement.click();\r\n }\r\n}","\r\nexport enum FileErrorType{\r\n noError,\r\n notSupportedExtension,\r\n exceedMaxSize,\r\n}\r\nexport class QMSFileAttachment {\r\n file: File;\r\n fileName: string;\r\n fileContent: string;\r\n fileContentBase64: string;\r\n extension: string;\r\n isSuccessful: boolean;\r\n typeError: FileErrorType;\r\n progress: number;\r\n}","import { Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { QMSUploadFileErrorDialog } from \"../../components/upload-file-error-dialog/upload-file-error-dialog\";\r\nimport { FileErrorType, QMSFileAttachment } from \"./qms-file-upload-attachment.model\";\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-multiple-selector]',\r\n})\r\n\r\nexport class QMSFileUploadMultipleSelectorDirective implements OnInit, OnChanges {\r\n @Input() filesForInput: QMSFileAttachment[];\r\n @Output() filesForInputChange = new EventEmitter();\r\n @Input() acceptExtensions: string[];\r\n @Output('onFileUploaded') onFileUploaded: EventEmitter<any> = new EventEmitter();\r\n @Input() maxSize: number;\r\n invokeMyFunc(){\r\n if(this.onFileUploaded)\r\n this.onFileUploaded.emit();\r\n }\r\n\r\n constructor(public ele: ElementRef, public dialog: MatDialog) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(!this.filesForInput || this.filesForInput.length === 0){\r\n this.ele.nativeElement.value = '';\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n @HostListener('change', ['$event']) OnChanges(event) {\r\n if(event.target && event.target.files){\r\n const listFiles: FileList = event.target.files;\r\n let listAttachments : QMSFileAttachment[] = [];\r\n for (let i = 0; i < listFiles.length; i++) {\r\n const file = event.target.files[i];\r\n let attachment = new QMSFileAttachment();\r\n attachment.fileName = file.name;\r\n attachment.extension = file.name.split('.').pop();\r\n attachment.file = file; \r\n attachment.isSuccessful = true;\r\n attachment.typeError = FileErrorType.noError;\r\n if(this.acceptExtensions){\r\n const check = this.acceptExtensions.filter(type => type.toLowerCase() === attachment.extension.toLowerCase())\r\n if(check.length === 0){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.notSupportedExtension;\r\n }\r\n }\r\n if(this.maxSize && file.size > this.maxSize){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.exceedMaxSize;\r\n }\r\n listAttachments.push(attachment);\r\n }\r\n this.filesForInputChange.emit(listAttachments);\r\n this.invokeMyFunc();\r\n }\r\n }\r\n}","import { AfterViewInit, ContentChild, Directive, ElementRef,\r\n HostListener, Input, OnChanges, OnInit } from \"@angular/core\";\r\nimport { QMSFileUploadMultipleDisplayDirective } from \"./file-upload-multiple-display.directive\";\r\nimport { QMSFileUploadMultipleSelectorDirective } from \"./file-upload-multiple-selector.directive\";\r\nimport { ComponentCanDeactivate } from \"./file-upload.directive\";\r\n\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-multiple]',\r\n})\r\nexport class QMSFileUploadMultipleDirective implements OnInit, AfterViewInit, OnChanges {\r\n @Input() isLoading;\r\n @ContentChild(QMSFileUploadMultipleSelectorDirective, {static: false}) fileSelector: QMSFileUploadMultipleSelectorDirective;\r\n @ContentChild(QMSFileUploadMultipleDisplayDirective, {static: false}) fileDisplay: QMSFileUploadMultipleDisplayDirective;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-file-upload-loading');\r\n }\r\n \r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n }\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n if (this.fileSelector) {\r\n this.fileDisplay.eleInput = this.fileSelector.ele;\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-scrollable-attachment-list]',\r\n})\r\n\r\nexport class QMSScrolableAttachmentListDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-scrollable-attachment-list');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { FileErrorType, QMSFileAttachment } from \"./qms-file-upload-attachment.model\";\r\n\r\n\r\nexport function requiredFileType( types: string[] ) {\r\n return function (control: FormControl) {\r\n const fileName = control.value;\r\n if ( fileName ) {\r\n const extension = fileName.split('.').pop();\r\n const check = types.filter(type => type.toLowerCase() === extension.toLowerCase())\r\n if(check.length === 0){\r\n return {\r\n requiredFileType: true\r\n };\r\n }\r\n return null;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\nexport function notExceedSize( size: number ) {\r\n return function (control: FormControl) {\r\n const file = control.value;\r\n if ( file ) {\r\n \r\n if(file.size > size){\r\n return {\r\n notExceedSize: true\r\n };\r\n }\r\n return null;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-selector]',\r\n})\r\n\r\nexport class QMSFileUploadSelectorDirective implements OnInit, OnChanges {\r\n @Input() inputFile: any;\r\n @Output() inputFileChange = new EventEmitter();\r\n @Input() acceptExtensions: string[];\r\n @Output('onFileUploaded') onFileUploaded: EventEmitter<any> = new EventEmitter();\r\n @Input() maxSize: number;\r\n public isLoading: boolean;\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(!this.inputFile){\r\n this.ele.nativeElement.value = '';\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n invokeMyFunc(){\r\n if(this.onFileUploaded)\r\n this.onFileUploaded.emit();\r\n }\r\n\r\n @HostListener('change', ['$event']) OnChanges(event) {\r\n if(event.target && event.target.files[0]){\r\n const file = event.target.files[0];\r\n let attachment = new QMSFileAttachment();\r\n attachment.fileName = file.name;\r\n attachment.extension = file.name.split('.').pop();\r\n attachment.file = file;\r\n attachment.isSuccessful = true;\r\n attachment.typeError = FileErrorType.noError;\r\n if(this.acceptExtensions){\r\n const check = this.acceptExtensions.filter(type => type.toLowerCase() === attachment.extension.toLowerCase())\r\n if(check.length === 0){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.notSupportedExtension;\r\n }\r\n }\r\n if(this.maxSize && file.size > this.maxSize){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.exceedMaxSize;\r\n }\r\n this.inputFileChange.emit(attachment);\r\n this.invokeMyFunc();\r\n }\r\n }\r\n}","import { AfterContentChecked, AfterViewInit, ContentChild, Directive, ElementRef,\r\n EventEmitter,\r\n HostListener, Injectable, Input, OnChanges, OnInit, Output, Renderer2, SimpleChanges } from \"@angular/core\";\r\nimport { CanDeactivate } from \"@angular/router\";\r\nimport { Observable } from \"rxjs\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\nimport { QMSFileUploadDisplayDirective } from \"./file-upload-display.directive\";\r\nimport { QMSFileUploadSelectorDirective } from \"./file-upload-selector.directive\";\r\n\r\n\r\nexport interface ComponentCanDeactivate {\r\n canDeactivate: () => Observable<boolean> | Promise<boolean> | boolean;\r\n}\r\n \r\n@Injectable()\r\nexport class QMSUploadingFileGuard implements CanDeactivate<ComponentCanDeactivate> {\r\n constructor(){}\r\n canDeactivate(component: ComponentCanDeactivate) {\r\n // if there are no pending changes, just allow deactivation; else confirm first\r\n return component.canDeactivate? component.canDeactivate(): true;\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-file-upload]',\r\n})\r\nexport class QMSFileUploadDirective implements OnInit, AfterViewInit, OnChanges {\r\n @Input() isLoading;\r\n @ContentChild(QMSFileUploadSelectorDirective, {static: false}) fileSelector: QMSFileUploadSelectorDirective;\r\n @ContentChild(QMSFileUploadDisplayDirective, {static: false}) fileDisplay: QMSFileUploadDisplayDirective;\r\n\r\n constructor(private ele: ElementRef, private renderer: Renderer2) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-file-upload-loading');\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.fileSelector) {\r\n this.fileDisplay.eleInput = this.fileSelector.ele;\r\n this.fileDisplay.removeInvalid = this.removeInvalid;\r\n this.fileDisplay.addInvalid = this.addInvalid;\r\n this.fileSelector.isLoading = this.isLoading;\r\n }\r\n }\r\n\r\n removeInvalid = () => {\r\n this.ele.nativeElement.classList.remove('mat-form-field-invalid');\r\n }\r\n\r\n addInvalid = () => {\r\n this.ele.nativeElement.classList.add('mat-form-field-invalid');\r\n }\r\n}\r\n","import { AfterContentInit, Directive, ElementRef, Renderer2 } from \"@angular/core\";\r\n\r\n\r\n@Directive({\r\n selector: '[qms-form]',\r\n host: { 'class': 'qms-form' }\r\n})\r\nexport class QMSFormFieldDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-form-textarea]',\r\n host: { 'class': 'qms-form form-textarea' }\r\n})\r\nexport class QMSFormFieldTextareaDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-form-date]',\r\n host: { 'class': 'qms-form form-datepicker' }\r\n})\r\nexport class QMSFormFieldDatePickerDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n\r\n@Directive({\r\n selector: '[qms-group-options]',\r\n host: { 'class': 'qms-group-options' }\r\n})\r\nexport class QMSGroupOptionDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-group-options]',\r\n host: { 'class': 'qms-group-options' }\r\n})\r\n\r\nexport class AutocompleteOffDirective {\r\n constructor(private _el: ElementRef) {\r\n this._el.nativeElement.setAttribute('autocomplete', 'off');\r\n this._el.nativeElement.setAttribute('autocorrect', 'off');\r\n this._el.nativeElement.setAttribute('autocapitalize', 'none');\r\n this._el.nativeElement.setAttribute('spellcheck', 'false');\r\n }\r\n}","import { Directive, Input, ElementRef, OnInit, OnDestroy } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-margin]'\r\n})\r\n\r\nexport class MarginDirective implements OnInit {\r\n @Input() dim: string;\r\n @Input() value: string;\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dim ?\r\n this.el.nativeElement.style[`margin-${this.dim}`] = `${this.value}px` :\r\n this.value.includes('px')\r\n ? this.el.nativeElement.style[`margin`] = `${this.value}`\r\n : this.el.nativeElement.style[`margin`] = `${this.value}px`;\r\n }\r\n}","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'mat-slider[qms-range-slider-lockup]',\r\n})\r\nexport class QMSRangeSliderLockUpDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-range-slider-lockup');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'mat-slider[qms-range-slider]',\r\n})\r\nexport class QMSRangeSliderDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-range-slider');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input, OnInit, Renderer2 } from '@angular/core';\r\n@Directive({\r\n selector: '[scrollToSelected]'\r\n})\r\nexport class ScrollToSelectedDirective implements OnInit {\r\n @Input() scrollToClass: string;\r\n @HostListener('document:click', ['$event'])\r\n onClick(e) {\r\n const isStepElement = e.currentTarget.activeElement.classList.contains('mat-step-header');\r\n const isStepElementActive = e.currentTarget.activeElement.classList.contains('mat-primary');\r\n if (isStepElement && isStepElementActive) {\r\n this.rerenderView();\r\n }\r\n }\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {\r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n rerenderView() {\r\n if (this.el.nativeElement.classList.contains(this.scrollToClass)) {\r\n this.el.nativeElement.scrollIntoView(true, { behavior: 'smooth', block: 'start' });\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.rerenderView();\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-scrollbar]',\r\n})\r\nexport class QMSScrollbarDirective implements OnInit {\r\n @Input() isNoneBackground: boolean;\r\n\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-scrollbar');\r\n\r\n if (this.isNoneBackground) {\r\n this.ele.nativeElement.classList.add('none-scroll-bg');\r\n }\r\n }\r\n }\r\n}","import { AfterViewChecked, AfterViewInit, ContentChild, Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, \r\n OnDestroy,\r\n OnInit, Output, Renderer2, SimpleChanges, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[qms-input-clear]',\r\n})\r\nexport class QMSInputClearDirective {\r\n inputDemo;\r\n inputDemoChange;\r\n constructor(public el: ElementRef) {\r\n el.nativeElement.classList.add('qms-input-clear');\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'mat-form-field[qms-search-field]',\r\n})\r\nexport class QMSSearchFieldDirective implements OnInit, AfterViewInit, OnChanges {\r\n @Input() isLoading;\r\n constructor(private ele: ElementRef, private renderer: Renderer2) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-search-field-loading');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-search-field-loading');\r\n }\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-search-field');\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-search-field-loading');\r\n }\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer-content]',\r\n})\r\nexport class QMSDrawerContentDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer-content');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer-header-action]',\r\n})\r\nexport class QMSDrawerHeaderActionDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer-header__action');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer-header]',\r\n})\r\nexport class QMSDrawerHeaderDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer-header');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer]',\r\n})\r\nexport class QMSDrawerDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tab-group-advanced]',\r\n})\r\nexport class QMSTabGroupAdvancedDirective implements OnInit{\r\n @Input() color: string;\r\n @Input() type: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tab-group-advanced');\r\n if(this.color){\r\n this.ele.nativeElement.classList.add(this.color);\r\n }\r\n if(this.type==='fixed'){\r\n this.ele.nativeElement.classList.add('qms-tab-group-advanced-fixed');\r\n }\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tab-group]',\r\n})\r\nexport class QMSTabGroupDirective implements OnInit{\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tab-group');\r\n }\r\n \r\n }\r\n}","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tab-label]',\r\n})\r\nexport class QMSTabLabelDirective implements OnInit{\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tab-label');\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, Renderer2 } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-text-block-line]'\r\n})\r\nexport class QMSTextBlockLine {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n @Input('size') size: string;\r\n @Input('type') type: string;\r\n @Input('color') color: string;\r\n\r\n ngOnInit(): void {\r\n if (this.type === 'caption-semibold') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption-semibold');\r\n }\r\n else if (this.type == 'caption'){\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption');\r\n }\r\n else if (this.type === 'body') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `content size-${this.size ? this.size : 'none'}`);\r\n } else {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `qms-text-block-line size-${this.size ? this.size : 'none'}`);\r\n }\r\n\r\n if (this.color) {\r\n this.renderer.addClass(this.elRef.nativeElement, this.color);\r\n }\r\n\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-text-block]',\r\n})\r\nexport class QMSTextBlockDirective implements OnInit {\r\n\r\n @Input('appearance') appearance: string;\r\n @Input('mode') mode: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-text-block');\r\n if(this.appearance == 'fill'){\r\n this.ele.nativeElement.classList.add('qms-text-block-filled')\r\n }\r\n if(this.mode === 'dark'){\r\n this.ele.nativeElement.classList.add('qms-text-block-dark')\r\n }\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tooltip-image]',\r\n})\r\nexport class QMSTooltipImageDirective implements OnInit {\r\n @Input('type') type: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tooltip-image');\r\n if (this.type) { \r\n this.ele.nativeElement.classList.add(this.type);\r\n }\r\n }\r\n }\r\n}\r\n","import { AfterViewInit, Component, ContentChild, ElementRef, Input, OnInit, TemplateRef, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'qms-tooltip',\r\n templateUrl: './tooltip.html',\r\n styleUrls: ['./tooltip.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n })\r\nexport class QMSToolTipComponent implements OnInit, AfterViewInit {\r\n\r\n /**\r\n * This is simple text which is to be shown in the tooltip\r\n */\r\n @Input() text: string;\r\n @Input() mode: string;\r\n\r\n /**\r\n * This provides finer control on the content to be visible on the tooltip\r\n * This template will be injected in McToolTipRenderer directive in the consumer template\r\n * <ng-template #template>\r\n * content.....\r\n * </ng-template>\r\n */\r\n @Input() contentTemplate: TemplateRef<any>;\r\n @ViewChild('qmsTooltipContainer', {static: false}) qmsTooltipContainer: ElementRef;\r\n constructor(private ele: ElementRef) { }\r\n ngAfterViewInit(): void {\r\n if(this.mode == 'dark'){\r\n this.qmsTooltipContainer.nativeElement.classList.add('qms-tooltip-container-dark')\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n}","import { ConnectedPosition, ConnectionPositionPair, Overlay, OverlayPositionBuilder, OverlayRef } from \"@angular/cdk/overlay\";\r\nimport { ComponentPortal } from \"@angular/cdk/portal\";\r\nimport { ComponentRef, Directive, ElementRef, HostListener, Input, TemplateRef } from \"@angular/core\";\r\nimport { QMSToolTipComponent } from \"../../components/tooltip/tooltip\";\r\n\r\n@Directive({\r\n selector: '[qms-tool-tip]'\r\n})\r\nexport class QMSToolTipRendererDirective {\r\n\r\n /**\r\n * This will be used to show tooltip or not\r\n * This can be used to show the tooltip conditionally\r\n */\r\n @Input() showToolTip: boolean = true;\r\n @Input() mode: string;\r\n //If this is specified then specified text will be showin in the tooltip\r\n @Input(`qms-tool-tip`) text: string;\r\n\r\n //If this is specified then specified template will be rendered in the tooltip\r\n @Input() contentTemplate: TemplateRef<any>;\r\n @Input() position: string;\r\n private _overlayRef: OverlayRef;\r\n\r\n constructor(private _overlay: Overlay,\r\n private _overlayPositionBuilder: OverlayPositionBuilder,\r\n private _elementRef: ElementRef) { }\r\n\r\n /**\r\n * Init life cycle event handler\r\n */\r\n ngOnInit() {\r\n let positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: 5,\r\n }]);\r\n switch (this.position) {\r\n case 'left': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetY: 0,\r\n offsetX: -10,\r\n }]);\r\n break;\r\n }\r\n case 'right': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n offsetY: 0,\r\n offsetX: 10,\r\n }]);\r\n break;\r\n }\r\n case 'top': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n offsetY: -10,\r\n offsetX: 0,\r\n }]);\r\n break;\r\n }\r\n case 'bottom': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: 10,\r\n offsetX: 0\r\n }]);\r\n break;\r\n }\r\n }\r\n\r\n this._overlayRef = this._overlay.create({ positionStrategy });\r\n }\r\n\r\n /**\r\n * This method will be called whenever mouse enters in the Host element\r\n * i.e. where this directive is applied\r\n * This method will show the tooltip by instantiating the McToolTipComponent and attaching to the overlay\r\n */\r\n @HostListener('focus')\r\n @HostListener('mouseenter')\r\n show() {\r\n if (!this.showToolTip) {\r\n return;\r\n }\r\n //attach the component if it has not already attached to the overlay\r\n if ((this.text || this.contentTemplate) && this._overlayRef && !this._overlayRef.hasAttached()) {\r\n const tooltipRef: ComponentRef<QMSToolTipComponent>\r\n = this._overlayRef.attach(new ComponentPortal(QMSToolTipComponent));\r\n if(this.text)\r\n tooltipRef.instance.text = this.text;\r\n if (this.mode) {\r\n tooltipRef.instance.mode = this.mode;\r\n }\r\n tooltipRef.instance.contentTemplate = this.contentTemplate;\r\n }\r\n }\r\n\r\n /**\r\n * This method will be called when mouse goes out of the host element\r\n * i.e. where this directive is applied\r\n * This method will close the tooltip by detaching the overlay from the view\r\n */\r\n @HostListener('focusout')\r\n @HostListener('mouseleave')\r\n hide() {\r\n this.closeToolTip();\r\n }\r\n\r\n /**\r\n * Destroy lifecycle event handler\r\n * This method will make sure to close the tooltip\r\n * It will be needed in case when app is navigating to different page\r\n * and user is still seeing the tooltip; In that case we do not want to hang around the\r\n * tooltip after the page [on which tooltip visible] is destroyed\r\n */\r\n ngOnDestroy() {\r\n this.closeToolTip();\r\n }\r\n\r\n /**\r\n * This method will close the tooltip by detaching the component from the overlay\r\n */\r\n private closeToolTip() {\r\n if (this._overlayRef) {\r\n this._overlayRef.detach();\r\n }\r\n }\r\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport {\r\n AfterContentInit,\r\n Attribute,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n QueryList,\r\n ViewChild,\r\n ViewEncapsulation,\r\n InjectionToken,\r\n Inject,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n CanDisableRipple,\r\n mixinDisableRipple,\r\n} from '@angular/material/core';\r\n\r\n\r\n\r\nexport type ButtonToggleAppearance = 'standard' | 'active' | 'dark';\r\n\r\nexport interface ButtonToggleDefaultOptions {\r\n appearance?: ButtonToggleAppearance;\r\n}\r\n\r\n\r\nexport const BUTTON_TOGGLE_DEFAULT_OPTIONS =\r\n new InjectionToken<ButtonToggleDefaultOptions>('BUTTON_TOGGLE_DEFAULT_OPTIONS');\r\n\r\n\r\nexport const BUTTON_TOGGLE_GROUP =\r\n new InjectionToken<QMSButtonToggleGroup>('QMSButtonToggleGroup');\r\n\r\n\r\nexport const BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => QMSButtonToggleGroup),\r\n multi: true\r\n};\r\n\r\n\r\nlet uniqueIdCounter = 0;\r\n\r\n\r\nexport class ButtonToggleChange {\r\n constructor(\r\n public source: QMSButtonToggle,\r\n public value: any) { }\r\n}\r\n\r\n\r\n@Directive({\r\n selector: 'qms-button-toggle-group',\r\n providers: [\r\n BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,\r\n { provide: BUTTON_TOGGLE_GROUP, useExisting: QMSButtonToggleGroup },\r\n ],\r\n host: {\r\n 'role': 'group',\r\n 'class': 'qms-button-toggle-group',\r\n '[attr.aria-disabled]': 'disabled',\r\n '[class.qms-button-toggle-vertical]': 'vertical',\r\n '[class.qms-button-toggle-group-appearance-standard]': 'appearance === \"standard\"',\r\n '[class.qms-button-toggle-group-appearance-active]': 'appearance === \"active\"',\r\n '[class.qms-button-toggle-group-appearance-dark]': 'appearance === \"dark\"',\r\n },\r\n exportAs: 'qmsButtonToggleGroup',\r\n})\r\nexport class QMSButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\r\n private _vertical = false;\r\n private _disabled = false;\r\n private _selectionModel: SelectionModel<QMSButtonToggle>;\r\n\r\n private _rawValue: any;\r\n\r\n _controlValueAccessorChangeFn: (value: any) => void = () => { };\r\n\r\n _onTouched: () => any = () => { };\r\n\r\n @ContentChildren(forwardRef(() => QMSButtonToggle), {\r\n descendants: true\r\n }) _buttonToggles: QueryList<QMSButtonToggle>;\r\n\r\n\r\n @Input() appearance: ButtonToggleAppearance;\r\n\r\n @Input()\r\n get name(): string { return this._name; }\r\n set name(value: string) {\r\n this._name = value;\r\n\r\n if (this._buttonToggles) {\r\n this._buttonToggles.forEach(toggle => {\r\n toggle.name = this._name;\r\n toggle._markForCheck();\r\n });\r\n }\r\n }\r\n private _name = `qms-button-toggle-group-${uniqueIdCounter++}`;\r\n\r\n\r\n @Input()\r\n get vertical(): boolean { return this._vertical; }\r\n set vertical(value: boolean) {\r\n this._vertical = coerceBooleanProperty(value);\r\n }\r\n\r\n\r\n @Input()\r\n get value(): any {\r\n const selected = this._selectionModel ? this._selectionModel.selected : [];\r\n\r\n return selected[0] ? selected[0].value : undefined;\r\n }\r\n set value(newValue: any) {\r\n this._setSelectionByValue(newValue);\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n\r\n @Output() readonly valueChange = new EventEmitter<any>();\r\n\r\n\r\n get selected(): QMSButtonToggle | QMSButtonToggle[] {\r\n const selected = this._selectionModel ? this._selectionModel.selected : [];\r\n return (selected[0] || null);\r\n }\r\n\r\n\r\n @Input()\r\n get disabled(): boolean { return this._disabled; }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n\r\n if (this._buttonToggles) {\r\n this._buttonToggles.forEach(toggle => toggle._markForCheck());\r\n }\r\n }\r\n\r\n @Output() readonly change: EventEmitter<ButtonToggleChange> =\r\n new EventEmitter<ButtonToggleChange>();\r\n\r\n constructor(\r\n private _changeDetector: ChangeDetectorRef,\r\n @Optional() @Inject(BUTTON_TOGGLE_DEFAULT_OPTIONS)\r\n defaultOptions?: ButtonToggleDefaultOptions) {\r\n\r\n this.appearance =\r\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\r\n }\r\n\r\n ngOnInit() {\r\n this._selectionModel = new SelectionModel<QMSButtonToggle>(false, undefined, false);\r\n }\r\n\r\n ngAfterContentInit() {\r\n this._selectionModel.select(...this._buttonToggles.filter(toggle => toggle.checked));\r\n }\r\n\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n this._changeDetector.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: (value: any) => void) {\r\n this._controlValueAccessorChangeFn = fn;\r\n }\r\n\r\n\r\n registerOnTouched(fn: any) {\r\n this._onTouched = fn;\r\n }\r\n\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n\r\n _emitChangeEvent(): void {\r\n const selected = this.selected;\r\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\r\n const event = new ButtonToggleChange(source!, this.value);\r\n this._controlValueAccessorChangeFn(event.value);\r\n this.change.emit(event);\r\n }\r\n\r\n _syncButtonToggle(toggle: QMSButtonToggle,\r\n select: boolean,\r\n isUserInput = false,\r\n deferEvents = false) {\r\n\r\n if (this.selected && !toggle.checked) {\r\n (this.selected as QMSButtonToggle).checked = false;\r\n }\r\n\r\n if (this._selectionModel) {\r\n if (select) {\r\n this._selectionModel.select(toggle);\r\n } else {\r\n this._selectionModel.deselect(toggle);\r\n }\r\n } else {\r\n deferEvents = true;\r\n }\r\n\r\n\r\n if (deferEvents) {\r\n Promise.resolve().then(() => this._updateModelValue(isUserInput));\r\n } else {\r\n this._updateModelValue(isUserInput);\r\n }\r\n }\r\n\r\n\r\n _isSelected(toggle: QMSButtonToggle) {\r\n return this._selectionModel && this._selectionModel.isSelected(toggle);\r\n }\r\n\r\n\r\n _isPrechecked(toggle: QMSButtonToggle) {\r\n if (typeof this._rawValue === 'undefined') {\r\n return false;\r\n }\r\n\r\n return toggle.value === this._rawValue;\r\n }\r\n\r\n\r\n private _setSelectionByValue(value: any | any[]) {\r\n this._rawValue = value;\r\n\r\n if (!this._buttonToggles) {\r\n return;\r\n }\r\n\r\n this._clearSelection();\r\n this._selectValue(value);\r\n }\r\n\r\n\r\n private _clearSelection() {\r\n this._selectionModel.clear();\r\n this._buttonToggles.forEach(toggle => toggle.checked = false);\r\n }\r\n\r\n\r\n private _selectValue(value: any) {\r\n const correspondingOption = this._buttonToggles.find(toggle => {\r\n return toggle.value != null && toggle.value === value;\r\n });\r\n\r\n if (correspondingOption) {\r\n correspondingOption.checked = true;\r\n this._selectionModel.select(correspondingOption);\r\n }\r\n }\r\n\r\n private _updateModelValue(isUserInput: boolean) {\r\n if (isUserInput) {\r\n this._emitChangeEvent();\r\n }\r\n\r\n\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n static ngAcceptInputType_multiple: BooleanInput;\r\n static ngAcceptInputType_vertical: BooleanInput;\r\n}\r\n\r\n\r\nconst _ButtonToggleBase = mixinDisableRipple(class { });\r\n\r\n\r\n@Component({\r\n selector: 'qms-button-toggle',\r\n templateUrl: 'button-toggle.html',\r\n styleUrls: ['button-toggle.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'qmsButtonToggle',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n inputs: ['disableRipple'],\r\n host: {\r\n '[class.qms-button-toggle-standalone]': '!buttonToggleGroup',\r\n '[class.qms-button-toggle-checked]': 'checked',\r\n '[class.qms-button-toggle-disabled]': 'disabled',\r\n '[class.qms-button-toggle-appearance-standard]': 'appearance === \"standard\"',\r\n '[class.qms-button-toggle-appearance-active]': 'appearance === \"active\"',\r\n '[class.qms-button-toggle-appearance-dark]': 'appearance === \"dark\"',\r\n 'class': 'qms-button-toggle',\r\n '[attr.aria-label]': 'null',\r\n '[attr.aria-labelledby]': 'null',\r\n '[attr.id]': 'id',\r\n '[attr.name]': 'null',\r\n '(focus)': 'focus()',\r\n 'role': 'presentation',\r\n }\r\n})\r\nexport class QMSButtonToggle extends _ButtonToggleBase implements OnInit, AfterViewInit,\r\n CanDisableRipple, OnDestroy {\r\n\r\n private _checked = false;\r\n\r\n\r\n @Input('aria-label') ariaLabel: string;\r\n\r\n\r\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\r\n\r\n\r\n @ViewChild('button') _buttonElement: ElementRef<HTMLButtonElement>;\r\n\r\n\r\n buttonToggleGroup: QMSButtonToggleGroup;\r\n\r\n\r\n get buttonId(): string { return `${this.id}-button`; }\r\n\r\n\r\n @Input() id: string;\r\n\r\n\r\n @Input() name: string;\r\n\r\n\r\n @Input() value: any;\r\n\r\n\r\n @Input() tabIndex: number | null;\r\n\r\n\r\n @Input()\r\n get appearance(): ButtonToggleAppearance {\r\n return this.buttonToggleGroup ? this.buttonToggleGroup.appearance : this._appearance;\r\n }\r\n set appearance(value: ButtonToggleAppearance) {\r\n this._appearance = value;\r\n }\r\n private _appearance: ButtonToggleAppearance;\r\n\r\n\r\n @Input()\r\n get checked(): boolean {\r\n return this.buttonToggleGroup ? this.buttonToggleGroup._isSelected(this) : this._checked;\r\n }\r\n set checked(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n\r\n if (newValue !== this._checked) {\r\n this._checked = newValue;\r\n\r\n if (this.buttonToggleGroup) {\r\n this.buttonToggleGroup._syncButtonToggle(this, this._checked);\r\n }\r\n\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n }\r\n\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\r\n }\r\n set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }\r\n private _disabled: boolean = false;\r\n\r\n @Output() readonly change: EventEmitter<ButtonToggleChange> =\r\n new EventEmitter<ButtonToggleChange>();\r\n\r\n constructor(@Optional() @Inject(BUTTON_TOGGLE_GROUP) toggleGroup: QMSButtonToggleGroup,\r\n private _changeDetectorRef: ChangeDetectorRef,\r\n private _elementRef: ElementRef<HTMLElement>,\r\n private _focusMonitor: FocusMonitor,\r\n @Attribute('tabindex') defaultTabIndex: string,\r\n @Optional() @Inject(BUTTON_TOGGLE_DEFAULT_OPTIONS)\r\n defaultOptions?: ButtonToggleDefaultOptions) {\r\n super();\r\n\r\n const parsedTabIndex = Number(defaultTabIndex);\r\n this.tabIndex = (parsedTabIndex || parsedTabIndex === 0) ? parsedTabIndex : null;\r\n this.buttonToggleGroup = toggleGroup;\r\n this.appearance =\r\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\r\n }\r\n\r\n ngOnInit() {\r\n const group = this.buttonToggleGroup;\r\n this.id = this.id || `qms-button-toggle-${uniqueIdCounter++}`;\r\n\r\n this.name = group.name;\r\n\r\n if (group) {\r\n if (group._isPrechecked(this)) {\r\n this.checked = true;\r\n } else if (group._isSelected(this) !== this._checked) {\r\n group._syncButtonToggle(this, this._checked);\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n }\r\n\r\n ngOnDestroy() {\r\n const group = this.buttonToggleGroup;\r\n\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n\r\n if (group && group._isSelected(this)) {\r\n group._syncButtonToggle(this, false, false, true);\r\n }\r\n }\r\n\r\n focus(options?: FocusOptions): void {\r\n this._buttonElement.nativeElement.focus(options);\r\n }\r\n\r\n _onButtonClick() {\r\n\r\n if (!this._checked) {\r\n this._checked = true;\r\n if (this.buttonToggleGroup) {\r\n this.buttonToggleGroup._syncButtonToggle(this, this._checked, true);\r\n this.buttonToggleGroup._onTouched();\r\n }\r\n }\r\n this.change.emit(new ButtonToggleChange(this, this.value));\r\n }\r\n\r\n\r\n _markForCheck() {\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n\r\n static ngAcceptInputType_checked: BooleanInput;\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n static ngAcceptInputType_vertical: BooleanInput;\r\n static ngAcceptInputType_disableRipple: BooleanInput;\r\n}","import { ElementRef } from '@angular/core';\r\n\r\nexport type Constructor<T> = new (...args: any[]) => T;\r\n\r\nexport type ThemePalette = 'primary' | 'secondary' | 'light' | 'dark' | undefined;\r\n\r\n/** @docs-private */\r\nexport interface CanColor {\r\n /** Theme color palette for the component. */\r\n color: ThemePalette;\r\n\r\n /** Default color to fall back to if no value is set. */\r\n defaultColor: ThemePalette | undefined;\r\n}\r\n\r\n/** @docs-private */\r\nexport type CanColorCtor = Constructor<CanColor>;\r\n\r\n/** @docs-private */\r\nexport interface HasElementRef {\r\n _elementRef: ElementRef;\r\n}\r\n\r\n///** Mixin to augment a directive with a `color` property. */\r\nexport function mixinColor<T extends Constructor<HasElementRef>>(base: T, defaultColor?: ThemePalette): CanColorCtor & T {\r\n return class extends base {\r\n private _color: ThemePalette;\r\n defaultColor = defaultColor;\r\n\r\n get color(): ThemePalette { return this._color; }\r\n set color(value: ThemePalette) {\r\n const colorPalette = value || this.defaultColor;\r\n if (colorPalette !== this._color) {\r\n if (this._color) {\r\n this._elementRef.nativeElement.classList.remove(`qms-${this._color}`);\r\n }\r\n if (colorPalette) {\r\n this._elementRef.nativeElement.classList.add(`qms-${colorPalette}`);\r\n }\r\n\r\n this._color = colorPalette;\r\n }\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n\r\n // Set the default color that can be specified from the mixin.\r\n this.color = defaultColor;\r\n }\r\n };\r\n}\r\n","import { FocusMonitor, FocusableOption, FocusOrigin } from '@angular/cdk/a11y';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n ViewEncapsulation,\r\n Optional,\r\n Inject,\r\n Input,\r\n AfterViewInit,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport {\r\n CanColor,\r\n CanColorCtor,\r\n mixinColor,\r\n} from './color';\r\nimport {\r\n CanDisable,\r\n CanDisableCtor,\r\n mixinDisabled,\r\n} from '@angular/material/core';\r\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\r\n\r\nconst DEFAULT_ROUND_BUTTON_COLOR = 'primary';\r\n\r\n/**\r\n * List of classes to add to QMSButton instances based on host attributes to\r\n * style as different variants.\r\n */\r\nconst BUTTON_HOST_ATTRIBUTES = [\r\n 'qms-btn',\r\n 'qms-btn-lg',\r\n 'qms-btn-outlined',\r\n 'qms-btn-outlined-lg',\r\n 'qms-btn-text',\r\n 'qms-btn-text-lg',\r\n 'qms-btn-fab',\r\n 'qms-btn-fab-sm',\r\n 'qms-btn-fab-ext',\r\n 'qms-btn-fab-outlined',\r\n 'qms-btn-fab-outlined-sm',\r\n 'qms-btn-fab-outlined-ext'\r\n];\r\n\r\nclass QMSButtonBase {\r\n constructor(public _elementRef: ElementRef) { }\r\n}\r\n\r\nconst _QMSButtonMixinBase: CanDisableCtor & CanColorCtor &\r\n typeof QMSButtonBase = mixinColor(mixinDisabled(QMSButtonBase));\r\n\r\n\r\n/**\r\n * QMS design button.\r\n */\r\n@Component({\r\n selector: `button[qms-btn], button[qms-btn-lg], button[qms-btn-outlined],\r\n button[qms-btn-outlined-lg], button[qms-btn-text], button[qms-btn-text-lg],\r\n button[qms-btn-fab],button[qms-btn-fab-sm],button[qms-btn-fab-ext],\r\n button[qms-btn-fab-outlined],button[qms-btn-fab-outlined-sm],button[qms-btn-fab-outlined-ext]`,\r\n exportAs: 'qmsButton',\r\n host: {\r\n '[attr.disabled]': 'disabled || null',\r\n '[class._qms-animation-noopable]': '_animationMode === \"NoopAnimations\"',\r\n '[class.qms-btn-disabled]': 'disabled'\r\n },\r\n templateUrl: 'button.html',\r\n styleUrls: ['button.scss'],\r\n inputs: ['disabled', 'color'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSButton extends _QMSButtonMixinBase\r\n implements AfterViewInit, OnDestroy, CanDisable, CanColor, FocusableOption {\r\n\r\n constructor(elementRef: ElementRef,\r\n private _focusMonitor: FocusMonitor,\r\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode: string) {\r\n super(elementRef);\r\n\r\n for (const attr of BUTTON_HOST_ATTRIBUTES) {\r\n if (this._hasHostAttributes(attr)) {\r\n (this._getHostElement() as HTMLElement).classList.add(attr);\r\n }\r\n }\r\n\r\n elementRef.nativeElement.classList.add('qms-btn-base');\r\n }\r\n\r\n focus(origin?: FocusOrigin, options?: FocusOptions): void {\r\n if (origin) {\r\n this._focusMonitor.focusVia(this._getHostElement(), origin, options);\r\n } else {\r\n this._getHostElement().focus(options);\r\n }\r\n }\r\n\r\n _getHostElement() {\r\n return this._elementRef.nativeElement;\r\n }\r\n\r\n _hasHostAttributes(...attributes: string[]) {\r\n return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n }\r\n\r\n}\r\n\r\n/**\r\n * Material design anchor button.\r\n */\r\n@Component({\r\n selector: `a[qms-btn], a[qms-btn-lg], a[qms-btn-outlined],\r\n a[qms-btn-outlined-lg], a[qms-btn-text], a[qms-btn-text-lg],\r\n a[qms-btn-fab], a[qms-btn-fab-sm], a[qms-btn-fab-ext],\r\n a[qms-btn-fab-outlined],a[qms-btn-fab-outlined-sm],a[qms-btn-fab-outlined-ext]`,\r\n exportAs: 'qmsButton, qmsAnchor',\r\n host: {\r\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\r\n '[attr.disabled]': 'disabled || null',\r\n '[attr.aria-disabled]': 'disabled.toString()',\r\n '(click)': '_haltDisabledEvents($event)',\r\n '[class._qms-animation-noopable]': '_animationMode === \"NoopAnimations\"',\r\n '[class.qms-btn-disabled]': 'disabled'\r\n },\r\n inputs: ['disabled', 'color'],\r\n templateUrl: 'button.html',\r\n styleUrls: ['button.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSAnchor extends QMSButton {\r\n @Input() tabIndex: number;\r\n\r\n constructor(\r\n focusMonitor: FocusMonitor,\r\n elementRef: ElementRef,\r\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode: string) {\r\n super(elementRef, focusMonitor, animationMode);\r\n }\r\n\r\n _haltDisabledEvents(event: Event) {\r\n // A disabled button shouldn't apply any actions\r\n if (this.disabled) {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: `button[qms-btn-icon]`,\r\n exportAs: 'qmsButtonIcon',\r\n host: {\r\n 'class': 'qms-btn-icon',\r\n '[attr.disabled]': 'disabled || null',\r\n '[class._qms-animation-noopable]': '_animationMode === \"NoopAnimations\"',\r\n '[class.qms-btn-disabled]': 'disabled',\r\n '[class.active-icon]': 'type',\r\n },\r\n templateUrl: 'button-icon.html',\r\n styleUrls: ['button-icon.scss'],\r\n inputs: ['disabled', 'color', 'type'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSButtonIcon extends _QMSButtonMixinBase\r\n implements AfterViewInit, OnDestroy, CanDisable, CanColor, FocusableOption {\r\n\r\n @Input('type') type: string;\r\n\r\n constructor(elementRef: ElementRef,\r\n private _focusMonitor: FocusMonitor,\r\n private renderer: Renderer2,\r\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode: string) {\r\n super(elementRef);\r\n }\r\n\r\n focus(origin?: FocusOrigin, options?: FocusOptions): void {\r\n if (origin) {\r\n this._focusMonitor.focusVia(this._getHostElement(), origin, options);\r\n } else {\r\n this._getHostElement().focus(options);\r\n }\r\n }\r\n\r\n _getHostElement() {\r\n return this._elementRef.nativeElement;\r\n }\r\n\r\n _hasHostAttributes(...attributes: string[]) {\r\n return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n if (this.type) {\r\n this.renderer.addClass(this._elementRef.nativeElement, 'active-icon');\r\n }\r\n\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nimport { QMSButtonToggle, QMSButtonToggleGroup } from './button-toggle';\r\nimport { QMSAnchor, QMSButton, QMSButtonIcon } from './button';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule\r\n ],\r\n exports: [\r\n QMSButton,\r\n QMSAnchor,\r\n QMSButtonIcon,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n QMSButtonToggle,\r\n QMSButtonToggleGroup\r\n ],\r\n declarations: [\r\n QMSButton,\r\n QMSAnchor,\r\n QMSButtonToggle,\r\n QMSButtonToggleGroup,\r\n QMSButtonIcon\r\n ],\r\n})\r\nexport class QMSButtonModule { }\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { QMSButtonModule } from './components/button/button.module';\r\n\r\n@NgModule({\r\n exports: [\r\n MatInputModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n QMSButtonModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class SharedMaterialModule { }","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { TranslateLibraryService } from '../services/translation-registry.service';\r\n\r\n@Pipe({\r\n name: 'dateFormat'\r\n})\r\nexport class DateFormatPipe implements PipeTransform {\r\n\r\n constructor(private trans: TranslateLibraryService) {\r\n\r\n }\r\n\r\n transform(value: Date, args?: any) {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n\r\n let valueFormat = '';\r\n let langCode = '';\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n langCode = res || 'en';\r\n });\r\n\r\n\r\n switch (langCode) {\r\n case 'en':\r\n valueFormat = 'MM/DD/YYYY hh:mm';\r\n break;\r\n case 'no':\r\n valueFormat = 'DD.MM.YYYY hh:mm';\r\n break;\r\n default:\r\n valueFormat = 'DD.MM.YYYY hh:mm';\r\n break;\r\n }\r\n\r\n return moment(value).format(valueFormat);\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { QMSUploadingFileGuard } from './directives/file-upload/file-upload.directive';\r\nimport { TranslateLibraryService } from './services/translation-registry.service';\r\n\r\n\r\n@NgModule({})\r\nexport class SharedModule {\r\n static forRoot(): ModuleWithProviders<SharedModule> {\r\n return {\r\n ngModule: SharedModule,\r\n providers: [TranslateLibraryService, QMSUploadingFileGuard]\r\n };\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { MAT_RADIO_DEFAULT_OPTIONS } from '@angular/material/radio';\r\nimport { QMSComment } from './components/comment/comment';\r\nimport { QMSConfirmDialog, QMSFormDialog } from './components/dialog/dialog';\r\nimport { QMSSuffixDirective, QMSSuffixFieldDirective } from './components/suffix-field/suffix-field.directive';\r\nimport { TestOnlyComponent } from './components/test-only/test-only.component';\r\nimport { QMSChipInputChipListDirective } from './directives/chip-input/chip-input-chip-list.directive';\r\nimport { QMSChipInputDirective } from './directives/chip-input/chip-input-field.directive';\r\nimport { QMSChipInputSelectDropWDownDirective } from './directives/chip-input/chip-input-select-dropdown.directive';\r\nimport { QMSChipInputSelectFieldDirective } from './directives/chip-input/chip-input-select-field.directive';\r\nimport { QMSChipInputSelectTriggerDirective } from './directives/chip-input/chip-input-select-trigger.directive';\r\nimport { QMSChipBodyDirective } from './directives/chips/chip-body.directive';\r\nimport { QMSInputChipDirective } from './directives/chips/chip.directive';\r\nimport { QMSDropdownMenuItem } from './directives/dropdown-menu/dropdown-item.directive';\r\nimport { QMSAttachmentListDirective } from './directives/file-upload/file-upload-attachment-list.directive';\r\nimport { QMSFileUploadDisplayDirective } from './directives/file-upload/file-upload-display.directive';\r\nimport { QMSFileUploadMultipleDisplayDirective } from './directives/file-upload/file-upload-multiple-display.directive';\r\nimport { QMSFileUploadMultipleSelectorDirective } from './directives/file-upload/file-upload-multiple-selector.directive';\r\nimport { QMSFileUploadMultipleDirective } from './directives/file-upload/file-upload-multiple.directive';\r\nimport { QMSScrolableAttachmentListDirective } from './directives/file-upload/file-upload-scrollable-attachment-list.directive';\r\nimport { QMSFileUploadSelectorDirective } from './directives/file-upload/file-upload-selector.directive';\r\nimport { QMSFileUploadDirective, QMSUploadingFileGuard } from './directives/file-upload/file-upload.directive';\r\nimport {\r\n AutocompleteOffDirective,\r\n QMSFormFieldDatePickerDirective,\r\n QMSFormFieldDirective,\r\n QMSFormFieldTextareaDirective,\r\n QMSGroupOptionDirective\r\n} from './directives/form.directive';\r\nimport { MarginDirective } from './directives/margin.directive';\r\nimport { QMSRangeSliderLockUpDirective } from './directives/range-slider/range-slider-lockup.directive';\r\nimport { QMSRangeSliderDirective } from './directives/range-slider/range-slider.directive';\r\nimport { ScrollToSelectedDirective } from './directives/scroll-selected/scroll-to-selected.directive';\r\nimport { QMSScrollbarDirective } from './directives/scrollbar/scrollbar.directive';\r\nimport {\r\n QMSInputClearDirective,\r\n QMSSearchFieldDirective\r\n} from './directives/search-field.directive';\r\nimport { QMSDrawerContentDirective } from \"./directives/side-sheet/drawer-content.directive\";\r\nimport { QMSDrawerHeaderActionDirective } from \"./directives/side-sheet/drawer-header-action.directive\";\r\nimport { QMSDrawerHeaderDirective } from \"./directives/side-sheet/drawer-header.directive\";\r\nimport { QMSDrawerDirective } from \"./directives/side-sheet/drawer.directive\";\r\nimport { QMSTabGroupAdvancedDirective } from \"./directives/tab/tab-group-advanced.directive\";\r\nimport { QMSTabGroupDirective } from \"./directives/tab/tab-group.directive\";\r\nimport { QMSTabLabelDirective } from \"./directives/tab/tab-label.directive\";\r\nimport { QMSTextBlockLine } from \"./directives/text-block/text-block-line.directive\";\r\nimport { QMSTextBlockDirective } from \"./directives/text-block/text-block.directive\";\r\nimport { QMSTooltipImageDirective } from './directives/tooltip/tooltip-image.directive';\r\nimport { QMSToolTipRendererDirective } from \"./directives/tooltip/tooltip-renderer.directive\";\r\nimport { SharedMaterialModule } from './material-module';\r\nimport { DateFormatPipe } from './pipe/dateFormat.pipe';\r\nimport { QmsAngularComponent } from './qms-angular.component';\r\nimport { SharedModule } from './shared.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsAngularComponent,\r\n TestOnlyComponent,\r\n MarginDirective,\r\n QMSSearchFieldDirective,\r\n QMSInputClearDirective,\r\n QMSFormFieldDirective,\r\n QMSFormFieldTextareaDirective,\r\n QMSGroupOptionDirective,\r\n QMSSuffixFieldDirective,\r\n QMSSuffixDirective,\r\n QMSFormFieldTextareaDirective,\r\n AutocompleteOffDirective,\r\n QMSComment,\r\n QMSConfirmDialog,\r\n QMSFormDialog,\r\n QMSFormFieldDatePickerDirective,\r\n QMSInputChipDirective,\r\n QMSChipBodyDirective,\r\n QMSFileUploadDirective,\r\n QMSFileUploadDisplayDirective,\r\n QMSFileUploadSelectorDirective,\r\n QMSAttachmentListDirective,\r\n QMSScrolableAttachmentListDirective,\r\n QMSFileUploadMultipleDirective,\r\n QMSFileUploadMultipleDisplayDirective,\r\n QMSFileUploadMultipleSelectorDirective,\r\n QMSRangeSliderDirective,\r\n QMSRangeSliderLockUpDirective,\r\n QMSDropdownMenuItem,\r\n QMSScrollbarDirective,\r\n QMSTextBlockDirective,\r\n QMSTextBlockLine,\r\n QMSDrawerDirective,\r\n QMSDrawerHeaderDirective,\r\n QMSDrawerContentDirective,\r\n QMSDrawerHeaderActionDirective,\r\n QMSToolTipRendererDirective,\r\n QMSTabLabelDirective,\r\n QMSTabGroupDirective,\r\n QMSTabGroupAdvancedDirective,\r\n DateFormatPipe,\r\n QMSChipInputDirective,\r\n QMSChipInputSelectFieldDirective,\r\n QMSChipInputSelectDropWDownDirective,\r\n QMSChipInputSelectTriggerDirective,\r\n QMSChipInputChipListDirective,\r\n ScrollToSelectedDirective,\r\n QMSTooltipImageDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SharedModule.forRoot(),\r\n SharedMaterialModule\r\n ],\r\n exports: [\r\n QmsAngularComponent,\r\n MarginDirective,\r\n TestOnlyComponent,\r\n QMSSearchFieldDirective,\r\n QMSInputClearDirective,\r\n QMSFormFieldDirective,\r\n QMSFormFieldTextareaDirective,\r\n QMSGroupOptionDirective,\r\n QMSSuffixFieldDirective,\r\n QMSSuffixDirective,\r\n AutocompleteOffDirective,\r\n QMSComment,\r\n QMSConfirmDialog,\r\n QMSFormDialog,\r\n QMSInputChipDirective,\r\n QMSChipBodyDirective,\r\n QMSFormFieldDatePickerDirective,\r\n QMSFileUploadDirective,\r\n QMSFileUploadDisplayDirective,\r\n QMSFileUploadSelectorDirective,\r\n QMSAttachmentListDirective,\r\n QMSScrolableAttachmentListDirective,\r\n QMSFileUploadMultipleDirective,\r\n QMSFileUploadMultipleDisplayDirective,\r\n QMSFileUploadMultipleSelectorDirective,\r\n QMSRangeSliderDirective,\r\n QMSRangeSliderLockUpDirective,\r\n QMSDropdownMenuItem,\r\n QMSScrollbarDirective,\r\n QMSTextBlockDirective,\r\n QMSTextBlockLine,\r\n QMSDrawerDirective,\r\n QMSDrawerHeaderDirective,\r\n QMSDrawerContentDirective,\r\n QMSDrawerHeaderActionDirective,\r\n QMSToolTipRendererDirective,\r\n QMSTabLabelDirective,\r\n QMSTabGroupDirective,\r\n QMSTabGroupAdvancedDirective,\r\n DateFormatPipe,\r\n QMSChipInputDirective,\r\n QMSChipInputSelectFieldDirective,\r\n QMSChipInputSelectDropWDownDirective,\r\n QMSChipInputSelectTriggerDirective,\r\n QMSChipInputChipListDirective,\r\n ScrollToSelectedDirective,\r\n QMSTooltipImageDirective\r\n ],\r\n providers: [\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'fill' } },\r\n { provide: MAT_RADIO_DEFAULT_OPTIONS, useValue: { color: 'none' } },\r\n QMSUploadingFileGuard\r\n ],\r\n // entryComponents: []\r\n})\r\nexport class QmsAngularModule { }\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit, ChangeDetectionStrategy, Component,\r\n ContentChildren, Directive, ElementRef, HostListener, Input, OnInit,\r\n QueryList, Renderer2, ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { setLines } from '@angular/material/core';\r\n\r\n\r\n@Directive({\r\n selector: '[leading-icon]',\r\n host: { 'class': 'leading-icon' }\r\n})\r\nexport class QMSListLeadingIcon { }\r\n\r\n@Directive({\r\n selector: '[qms-line]'\r\n})\r\nexport class QMSListLine {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @Input('size') size: string;\r\n @Input('type') type: string;\r\n @Input('color') color: string;\r\n\r\n ngOnInit(): void {\r\n if (this.type === 'caption') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption');\r\n }\r\n else if (this.type === 'subtitle') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `subtitle size-${this.size ? this.size : 'none'}`);\r\n } else {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `qms-line size-${this.size ? this.size : 'none'}`);\r\n }\r\n\r\n if (this.color) {\r\n this.renderer.addClass(this.elRef.nativeElement, this.color);\r\n }\r\n\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-list-header]',\r\n host: { 'class': 'qms-list-header' }\r\n})\r\nexport class QMSListHeader {\r\n\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-expansion]',\r\n host: { 'class': 'qms-expansion' }\r\n})\r\nexport class QMSListExpansion implements AfterContentInit {\r\n @ContentChildren(QMSListLine, { descendants: true }) _lines: QueryList<QMSListLine>;\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n // setLines(this._lines, this.elRef);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-expansion-header]',\r\n host: { 'class': 'qms-expansion-header' }\r\n})\r\nexport class QMSListExpansionHeader implements AfterContentInit {\r\n @ContentChildren(QMSListLine, { descendants: true }) _lines: QueryList<QMSListLine>;\r\n\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('click', ['$event']) onClick($event) {\r\n const qmsList = document.querySelectorAll('.qms-expansion-header');\r\n [].forEach.call(qmsList, (el) => {\r\n el.classList.remove('active-item');\r\n });\r\n this.renderer.addClass(this.elRef.nativeElement, 'active-item');\r\n }\r\n\r\n ngAfterContentInit() {\r\n setLines(this._lines, this.elRef);\r\n }\r\n}\r\n\r\n\r\n\r\n@Component({\r\n selector: 'qms-list',\r\n templateUrl: 'list.html',\r\n styleUrls: ['list.scss'],\r\n host: { 'class': 'qms-list' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSList implements OnInit {\r\n\r\n constructor(private elRef: ElementRef) { }\r\n ngOnInit() { }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-list-item',\r\n templateUrl: 'list-item.html',\r\n styleUrls: ['list.scss'],\r\n host: {\r\n 'class': 'qms-list-item',\r\n '[class.qms-list-item-disabled]': 'disabled',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSListItem implements AfterViewInit {\r\n @Input('type') type: string;\r\n get disabled() { return this._disabled }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n private _disabled = false;\r\n\r\n @ContentChildren(QMSListLine, { descendants: true }) _lines: QueryList<QMSListLine>;\r\n constructor(private elRef: ElementRef<HTMLElement>, private renderer: Renderer2) { }\r\n\r\n ngAfterViewInit() {\r\n if (this.type) {\r\n // this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'qms-list-item image-item');\r\n this.renderer.addClass(this.elRef.nativeElement, 'image-item');\r\n this.renderer.addClass(this.elRef.nativeElement, this.type);\r\n }\r\n\r\n setLines(this._lines, this.elRef);\r\n }\r\n}\r\n\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatExpansionModule, MAT_EXPANSION_PANEL_DEFAULT_OPTIONS } from '@angular/material/expansion';\r\n\r\nimport {\r\n QMSList, QMSListItem, QMSListLeadingIcon, QMSListLine,\r\n QMSListHeader, QMSListExpansion, QMSListExpansionHeader\r\n} from './list';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatListModule,\r\n MatExpansionModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatListModule,\r\n MatExpansionModule,\r\n QMSList,\r\n QMSListItem,\r\n QMSListLeadingIcon,\r\n QMSListLine,\r\n QMSListHeader,\r\n QMSListExpansion,\r\n QMSListExpansionHeader\r\n ],\r\n declarations: [\r\n QMSList,\r\n QMSListItem,\r\n QMSListLeadingIcon,\r\n QMSListLine,\r\n QMSListHeader,\r\n QMSListExpansion,\r\n QMSListExpansionHeader\r\n ],\r\n providers: [\r\n {\r\n provide: MAT_EXPANSION_PANEL_DEFAULT_OPTIONS,\r\n useValue: {\r\n expandedHeight: '*',\r\n collapsedHeight: '*'\r\n }\r\n }\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class QMSListModule { }\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, forwardRef, Input, OnInit, Renderer2, ViewEncapsulation } from \"@angular/core\";\r\nimport { ControlValueAccessor, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from \"@angular/forms\";\r\n@Component({\r\n selector: 'qms-rich-text',\r\n templateUrl: 'rich-text.html',\r\n styleUrls: ['rich-text.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => QMSRichText),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => QMSRichText),\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class QMSRichText implements OnInit, AfterViewInit, ControlValueAccessor, Validator {\r\n\r\n @Input('disabled') isDisabled: boolean;\r\n @Input('required') required: boolean = false;\r\n @Input('placeholder') placeholder: string;\r\n\r\n public _value: string;\r\n\r\n public Editor = [];\r\n\r\n public configEditor = {\r\n placeholder: 'Placeholder',\r\n toolbar: {\r\n items: [\r\n 'undo',\r\n 'redo',\r\n '|',\r\n 'alignment',\r\n '|',\r\n 'bold',\r\n 'italic',\r\n 'strikethrough',\r\n 'underline',\r\n '|',\r\n 'bulletedList',\r\n 'numberedList',\r\n '|',\r\n 'insertTable',\r\n \"blockQuote\",\r\n '|',\r\n 'heading'\r\n ]\r\n },\r\n alignment: {\r\n options: ['left', 'right', 'center', 'justify']\r\n },\r\n };\r\n\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n }\r\n\r\n onChange: (_value: any) => void;\r\n onTouched: () => void;\r\n\r\n writeValue(obj: any): void {\r\n this._value = obj;\r\n }\r\n registerOnChange(fn: any): void {\r\n\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngAfterViewInit() {\r\n this.configEditor.placeholder = this.placeholder;\r\n\r\n if (this.isDisabled) {\r\n this.renderer.addClass(this.elRef.nativeElement, 'ck-disabled');\r\n }\r\n }\r\n\r\n public onChanged({ editor }) {\r\n const data = editor.getData();\r\n this.writeValue(data);\r\n this.onChange(data);\r\n }\r\n\r\n public onBlur({ editor }) {\r\n const data = editor.getData();\r\n this.writeValue(data);\r\n this.onChange(data);\r\n }\r\n\r\n validate(c: FormControl) {\r\n if (!this.required) {\r\n return null;\r\n }\r\n return (this._value && !this.required) ? null : {\r\n type: {\r\n valid: false,\r\n actual: c.value\r\n }\r\n };\r\n }\r\n\r\n public onReady(editor) {\r\n if (this._value) {\r\n editor.setData(this._value);\r\n }\r\n this.initEditor(editor);\r\n }\r\n\r\n private initEditor(editor) {\r\n editor.ui\r\n .getEditableElement()\r\n .parentElement.insertBefore(editor.ui.view.toolbar.element, editor.ui.getEditableElement());\r\n\r\n }\r\n\r\n}\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { QMSRichText } from './rich-text';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n QMSRichText,\r\n ],\r\n declarations: [\r\n QMSRichText,\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class QMSRichTextModule { }\r\n","import { Component, ElementRef, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\n\r\n@Component({\r\n selector: 'qms-edit-file-name-dialog',\r\n templateUrl: 'edit-file-name-dialog.html',\r\n styleUrls: ['edit-file-name-dialog.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QMSEditFileNameDialog {\r\n fileName: string;\r\n LANG: any;\r\n constructor(\r\n public dialogRef: MatDialogRef<QMSEditFileNameDialog>, \r\n public trans: TranslateLibraryService,\r\n @Inject(MAT_DIALOG_DATA) public data: string) {\r\n this.fileName = this.data;\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n cancel(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n saveChanges(): void {\r\n this.dialogRef.close(this.fileName);\r\n }\r\n\r\n clearInput(): void {\r\n this.fileName = '';\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { SharedModule } from \"../../shared.module\";\r\nimport { QMSButtonModule } from \"../button/button.module\";\r\nimport { QMSEditFileNameDialog } from \"./edit-file-name-dialog\";\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n MatButtonModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n FormsModule,\r\n SharedModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatExpansionModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n QMSEditFileNameDialog\r\n ],\r\n declarations: [\r\n QMSEditFileNameDialog\r\n ],\r\n})\r\nexport class QMSEditFileNameDialogModule { }\r\n","import { Component, ElementRef, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\n\r\nexport class UploadErrorData {\r\n fileNames: string[];\r\n acceptedExtension: string[];\r\n}\r\n\r\n@Component({\r\n selector: 'qms-upload-file-error-dialog',\r\n templateUrl: 'upload-file-error-dialog.html',\r\n styleUrls: ['upload-file-error-dialog.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QMSUploadFileErrorDialog {\r\n unsupportedFiles: string[];\r\n supportedExtensions: string[];\r\n LANG: any;\r\n constructor(\r\n public dialogRef: MatDialogRef<QMSUploadFileErrorDialog>, \r\n public trans: TranslateLibraryService,\r\n @Inject(MAT_DIALOG_DATA) public data: UploadErrorData) {\r\n this.unsupportedFiles = this.data.fileNames;\r\n this.supportedExtensions = this.data.acceptedExtension;\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n ok(): void {\r\n this.dialogRef.close(null);\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { SharedModule } from \"../../shared.module\";\r\nimport { QMSButtonModule } from \"../button/button.module\";\r\nimport { QMSUploadFileErrorDialog } from \"./upload-file-error-dialog\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n MatButtonModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n FormsModule,\r\n SharedModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatExpansionModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n QMSUploadFileErrorDialog\r\n ],\r\n declarations: [\r\n QMSUploadFileErrorDialog\r\n ],\r\n})\r\nexport class QMSUploadFileErrorDialogModule { }","export const PROCESS_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 3V9H5V19H15V21H21V15H15V17H7V9H9V7H15V9H21V3H15V5H9V3H3ZM7 5V7H5V5H7ZM19 5V7H17V5H19ZM19 19V17H17V19H19Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const PROCESS_AREA_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V11H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M13 16.5V13H16.5V14.1667H20V13H23.5V16.5H20V15.3333H16.5V16.5H15.3333V21.1667H20V20H23.5V23.5H20V22.3333H14.1667V16.5H13Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const PROCESS_AREA_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V11H13C11.8954 11 11 11.8954 11 13V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M13 16.5V13H16.5V14.1667H20V13H23.5V16.5H20V15.3333H16.5V16.5H15.3333V21.1667H20V20H23.5V23.5H20V22.3333H14.1667V16.5H13Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DOCUMENT_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6 2H14L20 8V20C20 21.1 19.1 22 18 22H5.99C4.89 22 4 21.1 4 20L4.01 4C4.01 2.9 4.9 2 6 2ZM6 4V20H18V9H13V4H6Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DEVIATION_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 21.5L12 2.5L23 21.5H1ZM19.53 19.5L12 6.49L4.47 19.5H19.53ZM11 16.5V18.5H13V16.5H11ZM11 10.5H13V14.5H11V10.5Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const CHECKLIST_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M3 13H5V11H3V13Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M3 17H5V15H3V17Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M3 9H5V7H3V9Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M7 13H21V11H7V13Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M7 17H21V15H7V17Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M7 7V9H21V7H7Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const RISK_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 3V21H21V3H3ZM11 19H5V13H11V19ZM5 11H11V5H5V11ZM19 19H13V13H19V19ZM13 11H19V5H13V11Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const NORMAL_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4ZM11.17 8L9.17 6H4V18H20V8H11.17Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const NORMAL_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.59 4.59C10.21 4.21 9.7 4 9.17 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6H12L10.59 4.59Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const LOCAL_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V12H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 21.5001V19.0001H19V21.5001C19 21.7751 19.225 22.0001 19.5 22.0001H21C21.275 22.0001 21.5 21.7751 21.5 21.5001V18.0001H22.35C22.58 18.0001 22.69 17.7151 22.515 17.5651L18.335 13.8001C18.145 13.6301 17.855 13.6301 17.665 13.8001L13.485 17.5651C13.315 17.7151 13.42 18.0001 13.65 18.0001H14.5V21.5001C14.5 21.7751 14.725 22.0001 15 22.0001H16.5C16.775 22.0001 17 21.7751 17 21.5001Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\n\r\nexport const LOCAL_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V12H17C13.6863 12 11 14.6863 11 18V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 21.5001V19.0001H19V21.5001C19 21.7751 19.225 22.0001 19.5 22.0001H21C21.275 22.0001 21.5 21.7751 21.5 21.5001V18.0001H22.35C22.58 18.0001 22.69 17.7151 22.515 17.5651L18.335 13.8001C18.145 13.6301 17.855 13.6301 17.665 13.8001L13.485 17.5651C13.315 17.7151 13.42 18.0001 13.65 18.0001H14.5V21.5001C14.5 21.7751 14.725 22.0001 15 22.0001H16.5C16.775 22.0001 17 21.7751 17 21.5001Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\n\r\nexport const ENTERPRISE_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V11H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.5 17.5V13.5H15.5V15.5H13.5V22.5H17.5V20.5H18.5V22.5H22.5V17.5H20.5ZM15.5 21.5H14.5V20.5H15.5V21.5ZM15.5 19.5H14.5V18.5H15.5V19.5ZM15.5 17.5H14.5V16.5H15.5V17.5ZM17.5 19.5H16.5V18.5H17.5V19.5ZM17.5 17.5H16.5V16.5H17.5V17.5ZM17.5 15.5H16.5V14.5H17.5V15.5ZM19.5 19.5H18.5V18.5H19.5V19.5ZM19.5 17.5H18.5V16.5H19.5V17.5ZM19.5 15.5H18.5V14.5H19.5V15.5ZM21.5 21.5H20.5V20.5H21.5V21.5ZM21.5 19.5H20.5V18.5H21.5V19.5Z\" fill=\"#CF4714\"/>\r\n</svg>\r\n`;\r\n\r\nexport const ENTERPRISE_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V11H17C13.6863 11 11 13.6863 11 17V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.5 17.5V13.5H15.5V15.5H13.5V22.5H17.5V20.5H18.5V22.5H22.5V17.5H20.5ZM15.5 21.5H14.5V20.5H15.5V21.5ZM15.5 19.5H14.5V18.5H15.5V19.5ZM15.5 17.5H14.5V16.5H15.5V17.5ZM17.5 19.5H16.5V18.5H17.5V19.5ZM17.5 17.5H16.5V16.5H17.5V17.5ZM17.5 15.5H16.5V14.5H17.5V15.5ZM19.5 19.5H18.5V18.5H19.5V19.5ZM19.5 17.5H18.5V16.5H19.5V17.5ZM19.5 15.5H18.5V14.5H19.5V15.5ZM21.5 21.5H20.5V20.5H21.5V21.5ZM21.5 19.5H20.5V18.5H21.5V19.5Z\" fill=\"#CF4714\"/>\r\n</svg>`;\r\n\r\nexport const REGIONAL_FOLDER_OUTLINED_ICON = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H12V18H4V6H9.17L11.17 8H20V11H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.4999 13.0833C16.4037 13.0833 14.7083 14.7787 14.7083 16.8749C14.7083 19.1337 17.1024 22.2483 18.0883 23.4345C18.3049 23.6945 18.7003 23.6945 18.917 23.4345C19.8974 22.2483 22.2916 19.1337 22.2916 16.8749C22.2916 14.7787 20.5962 13.0833 18.4999 13.0833ZM18.4999 18.2291C17.7524 18.2291 17.1458 17.6224 17.1458 16.8749C17.1458 16.1274 17.7524 15.5208 18.4999 15.5208C19.2474 15.5208 19.8541 16.1274 19.8541 16.8749C19.8541 17.6224 19.2474 18.2291 18.4999 18.2291Z\" fill=\"#662E0D\"/>\r\n</svg>\r\n`;\r\n\r\nexport const REGIONAL_FOLDER_ICON = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V11H18C14.6863 11 12 13.6863 12 17V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.4999 13.0833C16.4037 13.0833 14.7083 14.7787 14.7083 16.8749C14.7083 19.1337 17.1024 22.2483 18.0883 23.4345C18.3049 23.6945 18.7003 23.6945 18.917 23.4345C19.8974 22.2483 22.2916 19.1337 22.2916 16.8749C22.2916 14.7787 20.5962 13.0833 18.4999 13.0833ZM18.4999 18.2291C17.7524 18.2291 17.1458 17.6224 17.1458 16.8749C17.1458 16.1274 17.7524 15.5208 18.4999 15.5208C19.2474 15.5208 19.8541 16.1274 19.8541 16.8749C19.8541 17.6224 19.2474 18.2291 18.4999 18.2291Z\" fill=\"#662E0D\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DEPARTMENT_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V12H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20 15.25H22C22.555 15.25 23 15.695 23 16.25V21.75C23 22.305 22.555 22.75 22 22.75H14C13.445 22.75 13 22.305 13 21.75L13.005 16.25C13.005 15.695 13.445 15.25 14 15.25H16V14.25C16 13.695 16.445 13.25 17 13.25H19C19.555 13.25 20 13.695 20 14.25V15.25ZM17 15.25H19V14.25H17V15.25Z\" fill=\"#00804C\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DEPARTMENT_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V12H17C13.6863 12 11 14.6863 11 18V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20 15.25H22C22.555 15.25 23 15.695 23 16.25V21.75C23 22.305 22.555 22.75 22 22.75H14C13.445 22.75 13 22.305 13 21.75L13.005 16.25C13.005 15.695 13.445 15.25 14 15.25H16V14.25C16 13.695 16.445 13.25 17 13.25H19C19.555 13.25 20 13.695 20 14.25V15.25ZM17 15.25H19V14.25H17V15.25Z\" fill=\"#00804C\"/>\r\n</svg>\r\n`;\r\n\r\n\r\nexport const KEYBOARD_UP_ICON = `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\"/></svg>\r\n`;\r\n\r\nexport const KEYBOARD_DOWN_ICON = `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"/></svg>\r\n`;\r\n\r\n\r\nexport const DOCUMENT_LOCAL_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 2H6C4.9 2 4.01 2.9 4.01 4L4 20C4 21.1 4.89 22 5.99 22H11V20H6V4H13V9H18V12H20V8L14 2Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 21.5001V19.0001H19V21.5001C19 21.7751 19.225 22.0001 19.5 22.0001H21C21.275 22.0001 21.5 21.7751 21.5 21.5001V18.0001H22.35C22.58 18.0001 22.69 17.7151 22.515 17.5651L18.335 13.8001C18.145 13.6301 17.855 13.6301 17.665 13.8001L13.485 17.5651C13.315 17.7151 13.42 18.0001 13.65 18.0001H14.5V21.5001C14.5 21.7751 14.725 22.0001 15 22.0001H16.5C16.775 22.0001 17 21.7751 17 21.5001Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\nexport const DOCUMENT_DEPARTMENT_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 2H6C4.9 2 4.01 2.9 4.01 4L4 20C4 21.1 4.89 22 5.99 22H11V20H6V4H13V9H18V12H20V8L14 2Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20 15.25H22C22.555 15.25 23 15.695 23 16.25V21.75C23 22.305 22.555 22.75 22 22.75H14C13.445 22.75 13 22.305 13 21.75L13.005 16.25C13.005 15.695 13.445 15.25 14 15.25H16V14.25C16 13.695 16.445 13.25 17 13.25H19C19.555 13.25 20 13.695 20 14.25V15.25ZM17 15.25H19V14.25H17V15.25Z\" fill=\"#00804C\"/>\r\n</svg>\r\n`;\r\nexport const DOCUMENT_REGIONAL_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 2H6C4.9 2 4.01 2.9 4.01 4L4 20C4 21.1 4.89 22 5.99 22H11V20H6V4H13V9H18V12H20V8L14 2Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18 13C16.065 13 14.5 14.565 14.5 16.5C14.5 18.585 16.71 21.46 17.62 22.555C17.82 22.795 18.185 22.795 18.385 22.555C19.29 21.46 21.5 18.585 21.5 16.5C21.5 14.565 19.935 13 18 13ZM18 17.75C17.31 17.75 16.75 17.19 16.75 16.5C16.75 15.81 17.31 15.25 18 15.25C18.69 15.25 19.25 15.81 19.25 16.5C19.25 17.19 18.69 17.75 18 17.75Z\" fill=\"#662E0D\"/>\r\n</svg>\r\n`;\r\nexport const DOCUMENT_ENTERPRISE_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 2H6C4.9 2 4.01 2.9 4.01 4L4 20C4 21.1 4.89 22 5.99 22H11V20H6V4H13V9H18V12H20V8L14 2Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.5 17.5V13.5H15.5V15.5H13.5V22.5H17.5V20.5H18.5V22.5H22.5V17.5H20.5ZM15.5 21.5H14.5V20.5H15.5V21.5ZM15.5 19.5H14.5V18.5H15.5V19.5ZM15.5 17.5H14.5V16.5H15.5V17.5ZM17.5 19.5H16.5V18.5H17.5V19.5ZM17.5 17.5H16.5V16.5H17.5V17.5ZM17.5 15.5H16.5V14.5H17.5V15.5ZM19.5 19.5H18.5V18.5H19.5V19.5ZM19.5 17.5H18.5V16.5H19.5V17.5ZM19.5 15.5H18.5V14.5H19.5V15.5ZM21.5 21.5H20.5V20.5H21.5V21.5ZM21.5 19.5H20.5V18.5H21.5V19.5Z\" fill=\"#CF4714\"/>\r\n</svg>\r\n`;\r\n\r\n\r\n","import { AfterViewInit, Injectable, OnInit } from \"@angular/core\";\r\nimport { MatIconRegistry } from \"@angular/material/icon\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { CHECKLIST_ICON, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON } from \"../related/common/qms-icon.const\";\r\n\r\n@Injectable(\r\n {\r\n providedIn: 'root'\r\n }\r\n)\r\nexport class QMSIconRegistryService {\r\n registerProcessIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('process', _sanitizer.bypassSecurityTrustHtml(PROCESS_ICON));\r\n }\r\n \r\n registerProcessAreaIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('process_area', _sanitizer.bypassSecurityTrustHtml(PROCESS_AREA_ICON));\r\n _iconRegistry.addSvgIconLiteral('process_area_outlined', _sanitizer.bypassSecurityTrustHtml(PROCESS_AREA_OUTLINED_ICON));\r\n }\r\n\r\n registerDocumentIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('document', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_ICON));\r\n _iconRegistry.addSvgIconLiteral('document_local', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_LOCAL_ICON));\r\n _iconRegistry.addSvgIconLiteral('document_enterprise', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_ENTERPRISE_ICON));\r\n _iconRegistry.addSvgIconLiteral('document_department', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_DEPARTMENT_ICON));\r\n _iconRegistry.addSvgIconLiteral('document_regional', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_REGIONAL_ICON));\r\n }\r\n registerFolderIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('folder', _sanitizer.bypassSecurityTrustHtml(NORMAL_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('folder_outlined', _sanitizer.bypassSecurityTrustHtml(NORMAL_FOLDER_OUTLINED_ICON));\r\n\r\n _iconRegistry.addSvgIconLiteral('local_folder', _sanitizer.bypassSecurityTrustHtml(LOCAL_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('local_folder_outlined', _sanitizer.bypassSecurityTrustHtml(LOCAL_FOLDER_OUTLINED_ICON));\r\n\r\n _iconRegistry.addSvgIconLiteral('enterprise_folder', _sanitizer.bypassSecurityTrustHtml(ENTERPRISE_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('enterprise_folder_outlined', _sanitizer.bypassSecurityTrustHtml(ENTERPRISE_FOLDER_OUTLINED_ICON));\r\n\r\n _iconRegistry.addSvgIconLiteral('regional_folder', _sanitizer.bypassSecurityTrustHtml(REGIONAL_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('regional_folder_outlined', _sanitizer.bypassSecurityTrustHtml(REGIONAL_FOLDER_OUTLINED_ICON));\r\n\r\n _iconRegistry.addSvgIconLiteral('department_folder', _sanitizer.bypassSecurityTrustHtml(DEPARTMENT_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('department_folder_outlined', _sanitizer.bypassSecurityTrustHtml(DEPARTMENT_FOLDER_OUTLINED_ICON));\r\n }\r\n\r\n registerDeviationIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('deviation', _sanitizer.bypassSecurityTrustHtml(DEVIATION_ICON));\r\n }\r\n\r\n registerChecklistIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('checklist', _sanitizer.bypassSecurityTrustHtml(CHECKLIST_ICON));\r\n }\r\n\r\n registerRiskIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('risk', _sanitizer.bypassSecurityTrustHtml(RISK_ICON));\r\n }\r\n}","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { QMSIconRegistryService } from \"./icon-registry.service\";\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule\r\n ],\r\n declarations: [\r\n ],\r\n providers: [QMSIconRegistryService]\r\n })\r\n export class QMSAppIconModule { }","export const BREADCRUMB_DROPDOWN_ICON = `<svg width=\"28\" height=\"28\" viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.3552 5.35508C11.9118 4.91175 11.3168 4.66675 10.6985 4.66675H4.66683C3.3835 4.66675 2.34516 5.71675 2.34516 7.00008L2.3335 21.0001C2.3335 22.2834 3.3835 23.3334 4.66683 23.3334H23.3335C24.6168 23.3334 25.6668 22.2834 25.6668 21.0001V9.33341C25.6668 8.05008 24.6168 7.00008 23.3335 7.00008H14.0002L12.3552 5.35508Z\" fill=\"#00324E\"/>\r\n<path d=\"M10.25 13.125L14 16.875L17.75 13.125H10.25Z\" fill=\"white\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;","export enum ItemIconType {\r\n none = 0,\r\n name = 1,\r\n path = 2,\r\n base64 = 3,\r\n svg = 4\r\n}\r\n","import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';\r\nimport { AfterViewInit, ContentChild, Directive, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, Renderer2} from '@angular/core';\r\nimport { QMSToolTipRendererDirective } from '../../directives/tooltip/tooltip-renderer.directive';\r\n\r\n@Directive({\r\n selector: '[qms-breadcrumb-item]',\r\n})\r\nexport class QMSBreadcrumbItemDirective implements OnInit, AfterViewInit {\r\n @Input() isLastItem: boolean;\r\n @Input() showTooltip: boolean;\r\n @Output() showTooltipChange = new EventEmitter();\r\n @ContentChild(\"breadcrumbItemText\", {static: false}) breadcrumbItemText: ElementRef;\r\n constructor(public ele: ElementRef, private renderer: Renderer2) {\r\n }\r\n ngAfterViewInit(): void {\r\n if(this.breadcrumbItemText){\r\n this.breadcrumbItemText.nativeElement.classList.add('qms-breadcrumb-item-text')\r\n if(this.breadcrumbItemText.nativeElement.innerText.length > 30){\r\n this.showTooltipChange.emit(true);\r\n }\r\n }\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-item');\r\n if(this.isLastItem){\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-last-item')\r\n }\r\n }\r\n }\r\n}","export enum DropdownBreadCrumbNodeWidth{\r\n NORMAL = 66,\r\n TABLE = 44,\r\n}","import { AfterViewChecked, AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatIconRegistry } from \"@angular/material/icon\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { BREADCRUMB_DROPDOWN_ICON } from \"../../common/qms-icon.const\";\r\nimport { ItemIconType } from \"../related/common/item-icon-type.enum\";\r\nimport { QMSBreadcrumbItemDirective } from \"./breadcrumb-item.directive\";\r\nimport { DropdownBreadCrumbNodeWidth } from \"./enum/dropdown-node-width.enum\";\r\nimport { BreadcrumbNode } from \"./model/breadcrumb-node.model\";\r\n\r\n@Component({\r\n selector: 'qms-breadcrumb',\r\n templateUrl: 'breadcrumb.html',\r\n styleUrls: ['breadcrumb.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\n\r\nexport class QMSBreadcrumb implements OnInit, AfterViewInit {\r\n @Input() nodes: BreadcrumbNode[];\r\n @Input() type: string;\r\n @Input() maxLine: number;\r\n @Input() numDisplayItem: number = 0;\r\n @Input() onlyItem: boolean = false;\r\n @Input() disabledLastItem: boolean = true;\r\n @Output() onItemClick: EventEmitter<any> = new EventEmitter<any>();\r\n @ViewChildren(QMSBreadcrumbItemDirective, {}) breadCrumbNodes: QueryList<QMSBreadcrumbItemDirective>;\r\n\r\n dropdownNodes: BreadcrumbNode[] = [];\r\n isOverflow = false;\r\n homeNode: BreadcrumbNode;\r\n previousNode: BreadcrumbNode;\r\n itemNodes: BreadcrumbNode[];\r\n itemSpace: number = DropdownBreadCrumbNodeWidth.NORMAL; // width of dropdown node in normal view\r\n itemIconType;\r\n isMobileType: boolean = false;\r\n\r\n constructor(private ele: ElementRef,\r\n private iconRegistry: MatIconRegistry,\r\n private cdRef: ChangeDetectorRef,\r\n private sanitizer: DomSanitizer) {\r\n iconRegistry.addSvgIconLiteral('breadcrumb_dropdown', sanitizer.bypassSecurityTrustHtml(BREADCRUMB_DROPDOWN_ICON));\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (!this.isMobileType && this.ele.nativeElement.offsetWidth) {\r\n if (!this.maxLine || this.maxLine < 2) {\r\n this.checkOverflow(this.ele.nativeElement.offsetWidth);\r\n }\r\n else {\r\n this.checkOverflow(this.ele.nativeElement.offsetWidth * 1.7);\r\n }\r\n }\r\n\r\n //show number Items after 3 dot icon\r\n if (+this.numDisplayItem > 0 && this.itemNodes.length >= 2) {\r\n this.dropdownNodes = [];\r\n this.dropdownNodes = this.itemNodes.slice(0, -this.numDisplayItem).reverse();\r\n this.itemNodes = [...[], ...this.itemNodes.slice(-this.numDisplayItem)];\r\n this.isOverflow = true;\r\n this.cdRef.detectChanges();\r\n }\r\n //just show 1 item for mobile\r\n if (this.onlyItem) {\r\n this.isOverflow = true;\r\n this.dropdownNodes = [];\r\n let itemNodes = [...this.itemNodes];\r\n let lastItem = itemNodes.pop();\r\n this.dropdownNodes = [...itemNodes].reverse();\r\n this.dropdownNodes.push(this.homeNode);\r\n this.itemNodes = [];\r\n this.itemNodes = [lastItem];\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n }\r\n\r\n checkOverflow(width: number) {\r\n const nodeWidths = this.breadCrumbNodes.map(x => x.ele.nativeElement.offsetWidth);\r\n let currentWidth = 0;\r\n nodeWidths.forEach(width => {\r\n currentWidth += width;\r\n });\r\n this.isOverflow = width < currentWidth;\r\n this.cdRef.detectChanges();\r\n\r\n if (this.isOverflow) {\r\n let screenWidth = width;\r\n if (this.type !== 'table') {\r\n this.dropdownNodes.push(this.homeNode);\r\n currentWidth -= nodeWidths[0];\r\n currentWidth += this.itemSpace;\r\n screenWidth -= this.itemSpace;\r\n }\r\n else {\r\n currentWidth += this.itemSpace;\r\n screenWidth -= nodeWidths[0];\r\n screenWidth -= this.itemSpace;\r\n }\r\n nodeWidths.shift();\r\n nodeWidths.forEach((eleWidth, index) => {\r\n if (currentWidth > screenWidth) {\r\n this.itemNodes[index].isShow = false;\r\n this.dropdownNodes.push(this.itemNodes[index]);\r\n currentWidth -= (eleWidth);\r\n }\r\n });\r\n this.dropdownNodes = this.dropdownNodes.reverse();\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.itemIconType = ItemIconType;\r\n if (this.nodes && this.nodes.length > 0) {\r\n this.nodes.forEach(ele => {\r\n ele.isOverflow = ele.isOverflow ? ele.isOverflow : false;\r\n ele.isShow = true;\r\n ele.displayType = this.getItemIconType(ele);\r\n });\r\n if (this.type !== 'mobile') {\r\n this.homeNode = this.nodes[0];\r\n this.itemNodes = this.nodes.slice(1);\r\n }\r\n else {\r\n this.isMobileType = true;\r\n this.previousNode = this.nodes[this.nodes.length >= 2 ? this.nodes.length - 2 : 0];\r\n }\r\n }\r\n\r\n if (this.type === 'table') {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-table');\r\n this.itemSpace = DropdownBreadCrumbNodeWidth.TABLE; // width of dropdown node in table view\r\n }\r\n if (this.maxLine && this.maxLine > 1) {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb__multi-line');\r\n }\r\n }\r\n\r\n getItemIconType(treeConfig: BreadcrumbNode) {\r\n if (treeConfig.itemIcon) return ItemIconType.name;\r\n if (treeConfig.itemIconPath) return ItemIconType.path;\r\n if (treeConfig.itemIconBase64) return ItemIconType.base64;\r\n if (treeConfig.itemIconSvg) return ItemIconType.svg;\r\n return ItemIconType.none;\r\n }\r\n\r\n getImagePath(node: BreadcrumbNode) {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(node.itemIconBase64) as string;\r\n }\r\n\r\n onKeyPressed(event) {\r\n [...event.target.children].forEach(x => x.click());\r\n }\r\n\r\n onItemSelect(item: BreadcrumbNode, isLastItem?: boolean) {\r\n if (isLastItem && this.disabledLastItem) return;\r\n if (this.onItemClick) {\r\n this.onItemClick.emit(item);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-breadcrumb-direction-icon]',\r\n})\r\nexport class QMSBreadcrumbDirectionIconDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-direction-icon');\r\n }\r\n }\r\n}","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { QMSToolTipRendererDirective } from \"../../directives/tooltip/tooltip-renderer.directive\";\r\nimport { QmsAngularModule } from \"../../qms-angular.module\";\r\nimport { QMSButtonModule } from \"../button/button.module\";\r\nimport { QMSBreadcrumb } from \"./breadcrumb\";\r\nimport { QMSBreadcrumbDirectionIconDirective } from \"./breadcrumb-direction-icon.directive\";\r\nimport { QMSBreadcrumbItemDirective } from \"./breadcrumb-item.directive\";\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n QmsAngularModule,\r\n QMSButtonModule,\r\n MatMenuModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n QMSBreadcrumb,\r\n QMSBreadcrumbItemDirective,\r\n QMSBreadcrumbDirectionIconDirective,\r\n ],\r\n declarations: [\r\n QMSBreadcrumb,\r\n QMSBreadcrumbItemDirective,\r\n QMSBreadcrumbDirectionIconDirective,\r\n ],\r\n providers: []\r\n })\r\n export class QMSBreadcrumbModule { }","export enum DataType {\r\n process = 2,\r\n document = 1,\r\n area = 3,\r\n folder = 4,\r\n deviation = 5,\r\n checklist = 6,\r\n risk = 7,\r\n deviationType = 8,\r\n checklistCategory = 9,\r\n riskFolder = 10\r\n}","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { DataType } from \"../common/data-type.enum\";\r\nimport { SelectedNode } from \"../model/selected-node.model\";\r\n\r\n@Component({\r\n selector: 'qms-related-content',\r\n templateUrl: './related-content.component.html',\r\n styleUrls: ['./related-content.component.scss']\r\n})\r\nexport class RelatedContentComponent implements OnInit {\r\n LANG: any;\r\n @Input() header: string;\r\n @Input() contents: Array<SelectedNode> = [];\r\n\r\n dataType = DataType;\r\n imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';\r\n\r\n ngOnInit(): void {\r\n this.LANG = '';\r\n }\r\n\r\n removeContent(content: SelectedNode) {\r\n const index = this.contents.findIndex(x => {\r\n return x.id === content.id;\r\n });\r\n if (index >= 0) {\r\n this.contents.splice(index, 1);\r\n }\r\n }\r\n}\r\n","export enum DocumentNodeType {\r\n Document = 1,\r\n LinkDocument = 2,\r\n FileDocument = 3,\r\n ShortcutDocument = 4,\r\n Folder = 5, // Level 2\r\n TopFolder = 6, // Level 1\r\n DepartmentFolder = 7,\r\n RegionalFolder = 8\r\n}","import { Component, EventEmitter, Inject, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatIconRegistry } from \"@angular/material/icon\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSIconRegistryService } from \"../../app-icon/icon-registry.service\";\r\nimport { DataType } from \"../common/data-type.enum\";\r\nimport { DocumentNodeType } from \"../common/document-folder-type.enum\";\r\nimport { IRelated, RelatedData } from \"../model/related-data.model\";\r\n\r\n@Component({\r\n selector: 'qms-related-list',\r\n templateUrl: './list-related.component.html',\r\n styleUrls: ['./list-related.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelatedListComponent implements OnInit, OnChanges {\r\n LANG: any;\r\n title: string;\r\n isNotEditedItem: boolean;\r\n relatedData: Array<IRelated> = [];\r\n dataType = DataType;\r\n // imageProcess = '../qms-angular/src/assets/images/union.svg';\r\n imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';\r\n\r\n @Input() data: RelatedData;\r\n @Input() showStatus: boolean;\r\n @Output() updateData: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() onItemSelect: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n private domSanitizer: DomSanitizer,\r\n public translate: TranslateLibraryService,\r\n private iconRegistry: MatIconRegistry,\r\n private appIconService: QMSIconRegistryService\r\n ) {\r\n appIconService.registerProcessIcon(iconRegistry, domSanitizer);\r\n appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);\r\n appIconService.registerDocumentIcon(iconRegistry, domSanitizer);\r\n appIconService.registerFolderIcon(iconRegistry, domSanitizer);\r\n appIconService.registerDeviationIcon(iconRegistry, domSanitizer);\r\n appIconService.registerChecklistIcon(iconRegistry, domSanitizer);\r\n appIconService.registerRiskIcon(iconRegistry, domSanitizer);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.data && JSON.stringify(changes.data.currentValue) !== JSON.stringify(changes.data.previousValue)) {\r\n this.relatedData = [];\r\n this.title = changes.data.currentValue.title;\r\n this.isNotEditedItem = changes.data.currentValue['isNotEditedItem'] ?? false;\r\n this.relatedData = [...changes.data.currentValue.data];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.title = this.data.title;\r\n this.isNotEditedItem = this.data['isNotEditedItem'] ?? false;\r\n this.relatedData = this.data.data;\r\n\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n getImagePath() {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(this.imageProcess) as string;\r\n }\r\n\r\n removeItem(index: number) {\r\n this.updateData.emit(index);\r\n }\r\n\r\n onCloseClick(): void {\r\n\r\n }\r\n\r\n onItemClick(item: any): void {\r\n if (this.onItemSelect)\r\n this.onItemSelect.emit(item);\r\n }\r\n\r\n onItemBreadcrumbClick(event: any) {\r\n if (this.onItemSelect)\r\n this.onItemSelect.emit(event);\r\n }\r\n\r\n getItemStatus(item: any) {\r\n return (this.showStatus && item?.statusName) ? `, ${item?.statusName}` : '';\r\n }\r\n\r\n getNodeIcon(item) {\r\n switch (item.itemType) {\r\n case DataType.folder: {\r\n switch (item.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'department_folder_outlined';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'regional_folder_outlined';\r\n case DocumentNodeType.TopFolder:\r\n return 'enterprise_folder_outlined';\r\n case DocumentNodeType.Folder:\r\n return 'local_folder_outlined';\r\n default:\r\n return 'folder_outlined';\r\n }\r\n }\r\n case DataType.document: {\r\n switch (item.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'document_department';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'document_regional';\r\n case DocumentNodeType.TopFolder:\r\n return 'document_enterprise';\r\n case DocumentNodeType.Folder:\r\n return 'document_local';\r\n default:\r\n return 'document';\r\n }\r\n }\r\n case DataType.area:\r\n return 'process_area_outlined';\r\n case DataType.process:\r\n return 'process';\r\n case DataType.deviation:\r\n return 'deviation';\r\n case DataType.checklist:\r\n return 'checklist';\r\n case DataType.risk:\r\n return 'risk';\r\n default:\r\n return 'folder_outlined';\r\n }\r\n }\r\n\r\n canShowParent(item) {\r\n return item.itemType === this.dataType.deviation || item.itemType === this.dataType.checklist;\r\n }\r\n}\r\n","export enum ModuleType {\r\n documentProcess = 1,\r\n deviation = 2,\r\n checklist = 3,\r\n risk = 4\r\n}\r\n","export class RelatedConst {\r\n public static IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';\r\n public static HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';\r\n public static SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';\r\n}\r\n","import { TreeConfig } from \"./tree-config.model\";\r\nimport { TreeModel } from \"./tree.model\";\r\nexport class PopupData {\r\n moduleId: number;\r\n moduleName: string;\r\n treeData1: Array<TreeModel>;\r\n treeData2: Array<TreeModel>;\r\n treeConfig1: TreeConfig;\r\n treeConfig2: TreeConfig;\r\n selectedNode?: Array<any>;\r\n disabledList?: Array<any>;\r\n disabledList2?: Array<any>;\r\n splitView?: boolean;\r\n maxSelectItemCount?: number;\r\n canOnlySelectItem?: boolean;\r\n\r\n constructor() {\r\n this.moduleId = 0;\r\n this.moduleName = '';\r\n this.treeData1 = [];\r\n this.treeData2 = [];\r\n this.selectedNode = [];\r\n this.disabledList = [];\r\n this.disabledList2 = [];\r\n this.splitView = false;\r\n }\r\n}\r\n","import { BreadcrumbNode } from \"../../breadcrumb/model/breadcrumb-node.model\";\r\n\r\nexport class RelatedItem {\r\n id: number;\r\n name: string;\r\n type: number;\r\n icon: string;\r\n text: string;\r\n breadcumbs: BreadcrumbNode[];\r\n}\r\n\r\nexport class IRelated {\r\n id: string;\r\n itemName: string;\r\n itemType: number;\r\n statusName: string;\r\n itemNumberId?: string;\r\n parentId: string;\r\n parentName: string;\r\n disabled?: boolean;\r\n levelType?: number;\r\n breadcumbs?: string[];\r\n}\r\n\r\nexport class RelatedData {\r\n title: string;\r\n data: Array<IRelated>;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.data = [];\r\n }\r\n}\r\n\r\n\r\nexport class SearchRelatedItemsToProcessAndDocument {\r\n processes: IRelated[];\r\n documents: IRelated[];\r\n processAreas: IRelated[];\r\n folders: IRelated[];\r\n}\r\n\r\nexport class SearchRelatedItemsToDeviation {\r\n categories: IRelated[];\r\n types: IRelated[];\r\n}\r\n\r\n\r\nexport class SearchRelatedItemsToChecklist {\r\n checklists: IRelated[];\r\n categories: IRelated[];\r\n}\r\n\r\nexport class SearchRelatedItemsToRisk {\r\n assessments: IRelated[];\r\n folders: IRelated[];\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { IRelated } from \"../model/related-data.model\";\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class QMSRelatedGlobalService {\r\n searchRelated = new BehaviorSubject<IRelated[]>([]);\r\n splitViewValue = new BehaviorSubject<IRelated[]>([]);\r\n\r\n constructor() { }\r\n\r\n setSearchRelated(result: IRelated[]) {\r\n this.searchRelated.next(result);\r\n }\r\n\r\n setSplitviewValue(result: IRelated[]){\r\n this.splitViewValue.next(result);\r\n }\r\n}\r\n ","export class TreeNode {\r\n children: TreeNode[];\r\n id: string;\r\n name: string;\r\n parentId?: string;\r\n levelType?: number;\r\n}\r\n","import { TreeNode } from '../model/tree-node.model';\r\nimport { TreeModel } from '../model/tree.model';\r\n\r\nlet objData = {};\r\nlet json = JSON;\r\nfunction buildArrayTree(obj: object, level: number): TreeNode[] {\r\n return Object.keys(obj).reduce<TreeNode[]>((accumulator, key) => {\r\n const value = obj[key];\r\n const node = new TreeNode();\r\n const keyObj = json.parse(key);\r\n node.id = keyObj[\"id\"];\r\n node.name = keyObj[\"name\"];\r\n node.parentId = keyObj[\"parentId\"];\r\n node.levelType = keyObj[\"levelType\"];\r\n\r\n if (value != null) {\r\n if (typeof value === 'object') {\r\n node.children = this.buildArrayTree(value, level + 1);\r\n } else {\r\n node.name = value;\r\n }\r\n }\r\n\r\n return accumulator.concat(node);\r\n }, []);\r\n}\r\n\r\nfunction buildObjectTree(arr: TreeModel[]): object {\r\n objData = {};\r\n let objTreeData;\r\n const root = arr.filter((x: { parentId: string }) => {\r\n return x.parentId === '';\r\n });\r\n root.forEach((item) => {\r\n objTreeData = this.findParent(item.rootId, arr);\r\n });\r\n return objTreeData;\r\n}\r\n\r\nfunction findParent(id: string, array: TreeModel[]) {\r\n const objParent = {};\r\n const parent = array.filter((x: { rootId: string }) => {\r\n return x.rootId === id;\r\n });\r\n\r\n parent.forEach((item) => {\r\n let parentKey = {\r\n id: item.childId,\r\n name: item.childName,\r\n parentId: item.rootId,\r\n levelType: item.levelType\r\n }\r\n objParent[json.stringify(parentKey)] = null;\r\n });\r\n\r\n // find child\r\n const child = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n if (child.length > 0) {\r\n this.findChild(id, objParent, array);\r\n }\r\n\r\n let key = {\r\n id: parent[0].rootId,\r\n name: parent[0].rootName,\r\n parentId: '',\r\n levelType: parent[0].levelType\r\n }\r\n // add node to tree\r\n objData[json.stringify(key)] = objParent;\r\n return objData;\r\n}\r\n\r\nfunction findChild(id: string, objParent: object, array: TreeModel[]) {\r\n const subNode = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n subNode.forEach((item) => {\r\n const processNode = {};\r\n let nodeKey = {\r\n id: item.childId,\r\n name: item.childName,\r\n parentId: item.rootId,\r\n levelType: item.levelType\r\n }\r\n processNode[json.stringify(nodeKey)] = null;\r\n this.findChild(item.rootId, processNode, array);\r\n\r\n let key = {\r\n id: item.rootId,\r\n name: item.subName,\r\n parentId: id,\r\n levelType: item.levelType\r\n }\r\n objParent[json.stringify(key)] = { ...objParent[json.stringify(key)], ...processNode };\r\n });\r\n}\r\n\r\nconst TreeFunctions = {\r\n buildArrayTree,\r\n buildObjectTree,\r\n findParent,\r\n findChild\r\n};\r\n\r\nexport default TreeFunctions;\r\n","import { SelectionModel } from '@angular/cdk/collections';\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { QMSIconRegistryService } from '../../app-icon/icon-registry.service';\r\nimport { DataType } from '../common/data-type.enum';\r\nimport { DocumentNodeType } from '../common/document-folder-type.enum';\r\nimport { ItemIconType } from '../common/item-icon-type.enum';\r\nimport { CHECKLIST_ICON, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON } from '../common/qms-icon.const';\r\nimport { RelatedConst } from '../common/related.const';\r\nimport TreeFunctions from '../common/tree.function';\r\nimport { TreeConfig } from '../model/tree-config.model';\r\nimport { TreeModel } from '../model/tree.model';\r\n\r\ninterface TreeNode {\r\n id: string;\r\n name: string;\r\n children?: TreeNode[];\r\n parentId?: string;\r\n levelType?: number;\r\n}\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n parentId?: string;\r\n disabled: boolean;\r\n levelType?: number;\r\n}\r\n\r\ninterface ICheckedNode {\r\n id: string;\r\n checked: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-tree',\r\n templateUrl: './tree.component.html',\r\n styleUrls: ['./tree.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class TreeComponent implements OnInit, OnChanges {\r\n @Input() treeData: Array<TreeModel> = [];\r\n @Input() treeConfig: TreeConfig;\r\n @Input() selectedData: Array<TreeFlatNode> = [];\r\n @Input() selectedRiskData: any = [];\r\n @Input() disabledList: any = [];\r\n @Output() selectNodeEvent: EventEmitter<TreeFlatNode> = new EventEmitter();\r\n @Output() selectFolderEvent: EventEmitter<TreeFlatNode> = new EventEmitter();\r\n @Output() checkBoxEvent: EventEmitter<TreeFlatNode[]> = new EventEmitter();\r\n @Output() childCheckedEvent: EventEmitter<ICheckedNode> = new EventEmitter();\r\n @Output() nodeExpandEvent: EventEmitter<TreeFlatNode> = new EventEmitter();\r\n\r\n listParentObj = {};\r\n filterData: TreeModel[] = [];\r\n treeObject: object;\r\n arrIndex: string[] = [];\r\n checkedNodeList: Array<TreeFlatNode> = [];\r\n useExpandFeature = true;\r\n allowSelectFolder = false;\r\n areaOfCurrentProcess = '';\r\n showCheckBox = false;\r\n allowMultipleCheck = true;\r\n singleSelectedNode = false;\r\n onlyCheckBoxForChild = false;\r\n onlyFolder = false;\r\n itemIconType = ItemIconType;\r\n displayType = 1;\r\n openIcon = '';\r\n openIconColor = '#1954A9';\r\n closeIcon = '';\r\n closeIconColor = '#000000';\r\n itemIcon = '';\r\n itemIconSvg = '';\r\n itemIconPath = '';\r\n itemIconBase64 = '';\r\n moduleId: number;\r\n\r\n treeControl = new FlatTreeControl<TreeFlatNode>(\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n }\r\n );\r\n\r\n isChecked = false;\r\n checklistSelection: any;\r\n\r\n constructor(private cdRef: ChangeDetectorRef,\r\n private domSanitizer: DomSanitizer,\r\n private iconRegistry: MatIconRegistry,\r\n private appIconService: QMSIconRegistryService) {\r\n iconRegistry.addSvgIconLiteral('keyboard_up', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_UP_ICON));\r\n iconRegistry.addSvgIconLiteral('keyboard_down', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_DOWN_ICON));\r\n appIconService.registerProcessIcon(iconRegistry, domSanitizer);\r\n appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);\r\n appIconService.registerDocumentIcon(iconRegistry, domSanitizer);\r\n appIconService.registerFolderIcon(iconRegistry, domSanitizer);\r\n appIconService.registerDeviationIcon(iconRegistry, domSanitizer);\r\n appIconService.registerChecklistIcon(iconRegistry, domSanitizer);\r\n appIconService.registerRiskIcon(iconRegistry, domSanitizer);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.treeData && JSON.stringify(changes.treeData.currentValue) !== JSON.stringify(changes.treeData.previousValue)) {\r\n this.treeData = [...this.treeData, changes.treeData.currentValue];\r\n this.initTreeData();\r\n }\r\n\r\n if (changes.selectedData &&\r\n (changes.selectedData.currentValue.length > 0 ||\r\n JSON.stringify(changes.selectedData.currentValue) !==\r\n JSON.stringify(changes.selectedData.previousValue))) {\r\n this.checkSelected(changes.selectedData.currentValue);\r\n } else {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n this.checklistSelection.deselect(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initTreeData();\r\n }\r\n\r\n initTreeData() {\r\n this.treeData.forEach(item => {\r\n if (!!item.parentId && item.parentId.length > 0) {\r\n this.listParentObj[item.parentId] = 1;\r\n }\r\n if (item.childId && item.childId.length > 0) {\r\n this.listParentObj[item.rootId] = 1;\r\n }\r\n });\r\n\r\n if (this.treeConfig.showCheckBox) {\r\n this.filterData = this.treeData;\r\n }\r\n else {\r\n this.filterData = this.treeData.filter((x) => {\r\n return x.parentId === '';\r\n });\r\n }\r\n\r\n this.treeObject = TreeFunctions.buildObjectTree(this.filterData);\r\n this.dataSource.data = TreeFunctions.buildArrayTree(this.treeObject, 0).map(element => {\r\n const item = this.sortDataTree(element);\r\n element = null;\r\n element = { ...{}, ...item };\r\n return element;\r\n });\r\n\r\n this.useExpandFeature = !this.treeConfig.showCheckBox;\r\n this.allowSelectFolder = this.treeConfig.allowSelectFolder;\r\n this.areaOfCurrentProcess = this.treeConfig.areaOfCurrentProcess;\r\n this.showCheckBox = this.treeConfig.showCheckBox;\r\n this.onlyCheckBoxForChild = this.treeConfig.onlyCheckBoxForChild;\r\n this.moduleId = this.treeConfig.moduleId;\r\n this.openIcon = this.treeConfig.openIcon;\r\n this.openIconColor = this.treeConfig.openIconColor ? this.treeConfig.openIconColor : this.openIconColor;\r\n this.closeIcon = this.treeConfig.closeIcon;\r\n this.closeIconColor = this.treeConfig.closeIconColor ? this.treeConfig.closeIconColor : this.closeIconColor;\r\n this.itemIcon = this.treeConfig.itemIcon;\r\n this.itemIconSvg = this.treeConfig.itemIconSvg;\r\n this.itemIconPath = this.treeConfig.itemIconPath;\r\n this.itemIconBase64 = this.domSanitizer.bypassSecurityTrustResourceUrl(this.treeConfig.itemIconBase64) as string;\r\n this.allowMultipleCheck = this.treeConfig.allowMultipleCheck;\r\n this.singleSelectedNode = this.treeConfig.singleSelectedNode;\r\n this.onlyFolder = this.treeConfig.onlyFolder;\r\n this.checklistSelection = new SelectionModel<TreeFlatNode>(this.allowMultipleCheck); /* true: multiple */\r\n\r\n this.displayType = this.getItemIconType(this.treeConfig);\r\n\r\n // Expand child node tree\r\n if (this.treeConfig.expandAll) {\r\n this.treeControl.expandAll();\r\n }\r\n\r\n // Risk Tree\r\n if (this.selectedRiskData.length) {\r\n const selectedData = [];\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n this.selectedRiskData.forEach(x => {\r\n const index = selectedData.findIndex(el => el.id === x.rootId);\r\n if (x.rootId === this.treeControl.dataNodes[i].id && index < 0) {\r\n selectedData.push(this.treeControl.dataNodes[i]);\r\n }\r\n });\r\n }\r\n\r\n this.checkSelected(selectedData);\r\n this.checkBoxEvent.emit(selectedData);\r\n }\r\n\r\n // Disable List\r\n if (this.disabledList.length) {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n this.disabledList.forEach(x => {\r\n if (x.id === this.treeControl.dataNodes[i].id\r\n && (!x.parentId || x.parentId === this.treeControl.dataNodes[i].parentId)) {\r\n this.treeControl.dataNodes[i].disabled = true;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n sortDataTree(obj) {\r\n if (obj.children) {\r\n let child = [];\r\n const leafNode = obj.children.filter(x => !x.children);\r\n const subFolderNode = obj.children.filter(x => x.children);\r\n // for(let index = subFolderNode.length - 1; index >= 0 ; index--){\r\n // let el = subFolderNode[index];\r\n // this.sortDataTree(el); \r\n // child.unshift(el); \r\n // }\r\n subFolderNode.forEach(element => {\r\n let el = element;\r\n this.sortDataTree(el);\r\n child.push(el);\r\n });\r\n\r\n leafNode.forEach(element => {\r\n let el = element;\r\n child.push(el);\r\n });\r\n obj.children = child;\r\n }\r\n return obj;\r\n }\r\n\r\n getImagePath() {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(this.treeConfig.itemIconBase64) as string;\r\n }\r\n\r\n checkSelected(itemSelected: TreeFlatNode[]) {\r\n setTimeout(() => {\r\n if (!this.treeControl['dataNodes']) return;\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n const tree = this.treeControl.dataNodes[i];\r\n this.checklistSelection.deselect(tree);\r\n\r\n for (let j = 0; j < itemSelected.length; j++) {\r\n const element = itemSelected[j];\r\n if (tree.id === element.id && (!element.parentId || tree.parentId === element.parentId) && !tree.disabled) {\r\n this.checklistSelection.select(tree);\r\n }\r\n }\r\n }\r\n }, 500);\r\n\r\n }\r\n\r\n checkSelectedSameNode(itemSelected: TreeFlatNode[], flag: boolean) {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n const tree = this.treeControl.dataNodes[i];\r\n for (let j = 0; j < itemSelected.length; j++) {\r\n const element = itemSelected[j];\r\n if (element.id && tree.id === element.id\r\n && tree.parentId === element.parentId && !tree.disabled) {\r\n flag ? this.checklistSelection.select(tree) : this.checklistSelection.deselect(tree);\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n private getItemIconType(treeConfig: TreeConfig) {\r\n if (treeConfig.itemIcon && treeConfig.itemIcon.length) return this.itemIconType.name;\r\n if (treeConfig.itemIconPath && treeConfig.itemIconPath.length) return this.itemIconType.path;\r\n if (treeConfig.itemIconBase64 && treeConfig.itemIconBase64.length) return this.itemIconType.base64;\r\n if (treeConfig.itemIconSvg && treeConfig.itemIconSvg.length) return this.itemIconType.svg;\r\n return this.itemIconType.none;\r\n }\r\n\r\n private transformer = (node: TreeNode, level: number) => {\r\n let checkHasChild = true;\r\n if (!node.children) {\r\n checkHasChild = false;\r\n } else if (!(!!node.children && node.children.length && node.children.length > 0)) {\r\n checkHasChild = false;\r\n }\r\n // tslint:disable-next-line:max-line-length\r\n else if (\r\n !!node.children &&\r\n node.children.length &&\r\n node.children.length === 1 &&\r\n !node.children[0].name.length &&\r\n node.id.toString() === this.areaOfCurrentProcess\r\n ) {\r\n checkHasChild = false;\r\n }\r\n\r\n if (!(this.listParentObj[node.id] === 1)) {\r\n checkHasChild = false;\r\n }\r\n\r\n return {\r\n expandable: !!node.children && node.children.length > 0,\r\n name: node.name,\r\n level,\r\n id: node.id,\r\n hasChild: checkHasChild,\r\n parentId: node.parentId,\r\n disabled: false,\r\n levelType: node.levelType\r\n };\r\n };\r\n\r\n treeFlattener = new MatTreeFlattener(\r\n this.transformer,\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n },\r\n (node) => {\r\n return node.children;\r\n }\r\n );\r\n\r\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\r\n\r\n\r\n /** Whether all the descendants of the node are selected */\r\n descendantsAllSelected(node: TreeFlatNode): boolean {\r\n\r\n const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];\r\n\r\n if (!descendants.length) {\r\n return this.checklistSelection.isSelected(node);\r\n }\r\n const selected = this.checklistSelection.isSelected(node);\r\n\r\n const allSelected = descendants.every(child => this.checklistSelection.isSelected(child));\r\n if (!selected && allSelected) {\r\n this.checklistSelection.select(node);\r\n this.cdRef.markForCheck();\r\n }\r\n return allSelected;\r\n\r\n }\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: TreeFlatNode): boolean {\r\n const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];\r\n\r\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\r\n todoItemSelectionToggle(node: TreeFlatNode): void {\r\n // tree have duplicate node\r\n if (this.treeConfig.canHaveDupId) {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === node.id\r\n && this.treeControl.dataNodes[i].parentId === node.parentId\r\n && !this.treeControl.dataNodes[i].disabled) {\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n } else {\r\n this.checklistSelection.toggle(node);\r\n }\r\n\r\n\r\n // process/ document single selected\r\n if (this.singleSelectedNode) {\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n\r\n } else {\r\n const descendants = this.treeControl.getDescendants(node).filter(item => !item.disabled);\r\n\r\n this.checkSelectedSameNode(descendants, this.descendantsAllSelected(node));\r\n\r\n !this.descendantsAllSelected(node)\r\n ? this.checklistSelection.select(...descendants)\r\n : this.checklistSelection.deselect(...descendants);\r\n\r\n this.cdRef.markForCheck();\r\n\r\n const allNodeIsParent = this.checklistSelection.selected.every(child => child.expandable);\r\n if (allNodeIsParent) {\r\n this.checklistSelection.selected.forEach(element => {\r\n this.checklistSelection.deselect(element);\r\n });\r\n }\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n }\r\n\r\n\r\n }\r\n\r\n todoChildSelectionToggle(node: TreeFlatNode): void {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === node.id\r\n && this.treeControl.dataNodes[i].parentId === node.parentId\r\n && !this.treeControl.dataNodes[i].disabled) {\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n // this.checklistSelection.toggle(node);\r\n this.cdRef.markForCheck();\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n\r\n }\r\n\r\n public todoItemSelectionById(ids: any[]): void {\r\n ids.forEach(\r\n id => {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === id\r\n && !this.treeControl.dataNodes[i].disabled) {\r\n if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n }\r\n )\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n }\r\n\r\n public todoItemSelection(nodes: TreeNode[]): void {\r\n nodes.forEach(\r\n node => {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === node.id &&\r\n this.treeControl.dataNodes[i].parentId === node.parentId &&\r\n !this.treeControl.dataNodes[i].disabled) {\r\n if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n }\r\n )\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n }\r\n\r\n hasChild = (_: number, node: TreeFlatNode) => {\r\n return node.expandable;\r\n };\r\n\r\n selectNode(node: TreeFlatNode) {\r\n if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {\r\n window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');\r\n }\r\n\r\n this.selectNodeEvent.emit(node);\r\n }\r\n\r\n selectFolder(node: TreeFlatNode) {\r\n this.selectFolderEvent.emit(node);\r\n }\r\n\r\n onExpandNode(node: TreeFlatNode, isExpandNode?: boolean) {\r\n if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {\r\n window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');\r\n }\r\n // set useExpandFeature = true to improve performance of tree loading\r\n if (!isExpandNode || !this.useExpandFeature) {\r\n for (let i = 0; i < this.arrIndex.length; i++) {\r\n if (this.arrIndex[i] === node.id) {\r\n this.arrIndex.splice(i, 1);\r\n }\r\n }\r\n if(isExpandNode){\r\n this.nodeExpandEvent.emit(node);\r\n }\r\n return;\r\n }\r\n\r\n \r\n\r\n // get array index to expand node after refresh datasource\r\n let index = 0;\r\n let isChange = false;\r\n let isRemove = false;\r\n this.arrIndex.push(node.id);\r\n\r\n const childArray = this.treeData.filter((x) => {\r\n return x.parentId === node.id;\r\n });\r\n let rootId = '0';\r\n let parentElement: TreeNode;\r\n let childrenList: TreeNode[];\r\n if (childArray.length === 0) {\r\n return;\r\n }\r\n childArray.forEach((item) => {\r\n if (item.rootId === rootId) {\r\n return;\r\n }\r\n\r\n // get child node from original datasource\r\n const child = this.getChildNode(item.rootId, childArray);\r\n rootId = item.rootId;\r\n\r\n index = this.getNodeIndex(child.id, undefined, this.dataSource['_treeControl'].dataNodes);\r\n if (index > -1) {\r\n return;\r\n }\r\n\r\n // add child node to expand node\r\n parentElement = this.findParentNode(node.id, this.dataSource.data);\r\n if (parentElement) {\r\n // temporary remove all node without children => purpose to add node folder first\r\n if (!isRemove) {\r\n childrenList = [...parentElement.children];\r\n this.removeChildren(parentElement);\r\n isRemove = true;\r\n }\r\n // add node folder first\r\n parentElement.children.push(child);\r\n isChange = true;\r\n }\r\n });\r\n // add node without children again\r\n if (isRemove) {\r\n this.addChildren(parentElement, childrenList);\r\n }\r\n\r\n // refresh data and expand tree node from root node\r\n if (isChange) {\r\n this.refreshTreeData();\r\n this.arrIndex.forEach((item) => {\r\n index = this.getNodeIndex(item, undefined, this.dataSource['_treeControl'].dataNodes);\r\n this.treeControl.expand(this.treeControl.dataNodes[index]);\r\n });\r\n isChange = false;\r\n }\r\n }\r\n\r\n removeChildren(parentElement?: TreeNode) {\r\n if (parentElement.children) {\r\n parentElement.children.length = 0;\r\n }\r\n }\r\n\r\n addChildren(parentElement?: TreeNode, childrenList?: TreeNode[]) {\r\n if (childrenList) {\r\n childrenList.forEach((e) => {\r\n parentElement.children.push(e);\r\n });\r\n }\r\n }\r\n\r\n getNodeIndex(id: string, level?: number, data?: any[]) {\r\n if (level) {\r\n return data.findIndex((x) => {\r\n return x.id === id && x.level === level;\r\n });\r\n }\r\n\r\n return data.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n }\r\n\r\n getChildNode(rootId: string, data: any) {\r\n const childArray = data.filter((x) => {\r\n return x.rootId === rootId;\r\n });\r\n const child = { id: childArray[0].rootId, name: childArray[0].subName, children: [] } as TreeNode;\r\n childArray.forEach((item) => {\r\n child.children.push({ id: item.childId, name: item.childName, parentId: rootId });\r\n });\r\n return child;\r\n }\r\n\r\n findParentNode(id: string, data: TreeNode[]) {\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentFather of data) {\r\n if (currentFather.id === id) {\r\n return currentFather;\r\n }\r\n\r\n if (currentFather.children) {\r\n const currentChild = currentFather.children.find((x) => {\r\n return x.id === id;\r\n });\r\n if (currentChild) {\r\n return currentChild;\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentChild1 of currentFather.children) {\r\n if (id !== currentChild1.id) {\r\n const result = this.findParentNode(id, currentFather.children);\r\n if (result !== false) {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n refreshTreeData() {\r\n const data = this.dataSource.data;\r\n this.dataSource.data = [];\r\n this.dataSource.data = data;\r\n }\r\n\r\n getNodeIcon(node: TreeFlatNode) {\r\n if (this.openIcon && this.closeIcon) {\r\n return this.treeControl.isExpanded(node) ? this.openIcon : this.closeIcon;\r\n }\r\n switch (this.moduleId) {\r\n case DataType.document: {\r\n const nodeData = this.treeData.filter(x => { return x.rootId === node.id; });\r\n if (nodeData.length > 0) {\r\n switch (nodeData[0].levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return this.treeControl.isExpanded(node) ? 'department_folder_outlined' : 'department_folder';\r\n case DocumentNodeType.RegionalFolder:\r\n return this.treeControl.isExpanded(node) ? 'regional_folder_outlined' : 'regional_folder';\r\n case DocumentNodeType.TopFolder:\r\n return this.treeControl.isExpanded(node) ? 'enterprise_folder_outlined' : 'enterprise_folder';\r\n case DocumentNodeType.Folder:\r\n return this.treeControl.isExpanded(node) ? 'local_folder_outlined' : 'local_folder';\r\n default:\r\n return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';\r\n }\r\n }\r\n return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';\r\n }\r\n case DataType.process:\r\n return this.treeControl.isExpanded(node) ? 'process_area_outlined' : 'process_area';\r\n default:\r\n return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';\r\n }\r\n }\r\n\r\n getItemIcon(node) {\r\n switch (this.moduleId) {\r\n case DataType.document:\r\n switch (node.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'document_department';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'document_regional';\r\n case DocumentNodeType.TopFolder:\r\n return 'document_enterprise';\r\n case DocumentNodeType.Folder:\r\n return 'document_local';\r\n default:\r\n return 'document';\r\n }\r\n case DataType.process:\r\n return 'process';\r\n case DataType.checklist:\r\n return 'checklist';\r\n case DataType.deviation:\r\n return 'deviation';\r\n case DataType.risk:\r\n return 'risk';\r\n default:\r\n return 'document';\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, EventEmitter, OnDestroy, ViewChild, ViewEncapsulation, AfterViewChecked, QueryList, ViewChildren } from '@angular/core';\r\nimport { Component, HostListener, Inject, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { DataType } from '../common/data-type.enum';\r\nimport { ModuleType } from '../common/module-type.enum';\r\nimport { RelatedConst } from '../common/related.const';\r\nimport { PopupData } from '../model/popup-data.model';\r\nimport { IRelated, RelatedItem } from '../model/related-data.model';\r\nimport { SelectedNode } from '../model/selected-node.model';\r\nimport { TreeConfig } from '../model/tree-config.model';\r\nimport { TreeModel } from '../model/tree.model';\r\nimport { QMSRelatedGlobalService } from '../service/related-global.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { CHECKLIST_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, RISK_ICON } from '../common/qms-icon.const';\r\nimport { TreeComponent } from '../tree/tree.component';\r\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { TreeNode } from '../../../qms-ckeditor-components/common/models/qms-ckeditor-tree-node.model';\r\nimport { DocumentNodeType } from '../common/document-folder-type.enum';\r\nimport { QMSIconRegistryService } from '../../app-icon/icon-registry.service';\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n parentId?: string;\r\n disabled: boolean;\r\n levelType?: number;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-related-popup',\r\n templateUrl: './related-popup.component.html',\r\n styleUrls: ['./related-popup.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelatedPopupComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n ngUnsubscribe = new Subject<void>();\r\n\r\n LANG: any;\r\n moduleId = 0;\r\n moduleName = '';\r\n treeData1: Array<TreeModel> = [];\r\n treeData2: Array<TreeModel> = [];\r\n treeConfig1: TreeConfig;\r\n treeConfig2: TreeConfig;\r\n\r\n checkedNodeList: Array<SelectedNode> = [];\r\n selectedNode: Array<SelectedNode> = [];\r\n selectedData: Array<TreeFlatNode> = [];\r\n selectedData2: Array<TreeFlatNode> = [];\r\n\r\n commonCheckedList: Array<TreeFlatNode> = [];\r\n documentCheckedList: Array<TreeFlatNode> = [];\r\n singleProcessList: Array<SelectedNode> = [];\r\n singleDocumentList: Array<SelectedNode> = [];\r\n splitView: boolean;\r\n\r\n module = ModuleType;\r\n dataType = DataType;\r\n itemType = 0;\r\n selectedRiskData: any = [];\r\n disabledList: any = [];\r\n disabledList2: any = [];\r\n maxSelectItemCount: number;\r\n canOnlySelectItem: boolean;\r\n\r\n isDocumentExpanded = true;\r\n isCommonExpanded = true;\r\n singleSelectedNode = false;\r\n searchOrder = [];\r\n\r\n myControl = new FormControl();\r\n filteredOptions: IRelated[] = [];\r\n isInputValue = false;\r\n\r\n itemInSplitview: IRelated[] = [];\r\n selectedFolder: TreeFlatNode = null;\r\n splitViewTitle: string = null;\r\n\r\n onSearch = new EventEmitter();\r\n onExpandFolder = new EventEmitter<IRelated>();\r\n\r\n @ViewChildren(TreeComponent, {}) dataTrees: QueryList<TreeComponent>;\r\n\r\n @ViewChild('autoCompleteInputSearch', { read: MatAutocompleteTrigger, static: true })\r\n autoComplete: MatAutocompleteTrigger;\r\n constructor(\r\n private cdRef: ChangeDetectorRef,\r\n public translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<RelatedPopupComponent>,\r\n public globalService: QMSRelatedGlobalService,\r\n private iconRegistry: MatIconRegistry,\r\n private sanitizer: DomSanitizer,\r\n private appIconService: QMSIconRegistryService,\r\n @Inject(MAT_DIALOG_DATA) public data: PopupData\r\n ) {\r\n this.moduleId = data.moduleId;\r\n this.moduleName = data.moduleName;\r\n this.treeData1 = data.treeData1;\r\n this.treeData2 = data.treeData2;\r\n this.treeConfig1 = data.treeConfig1;\r\n this.treeConfig2 = data.treeConfig2;\r\n this.selectedRiskData = data?.selectedNode || [];\r\n this.singleSelectedNode = data.treeConfig1.singleSelectedNode;\r\n this.disabledList = data.disabledList || [];\r\n this.disabledList2 = data.disabledList2 || [];\r\n this.splitView = data.splitView;\r\n this.maxSelectItemCount = data.maxSelectItemCount;\r\n this.canOnlySelectItem = data.canOnlySelectItem;\r\n appIconService.registerProcessIcon(iconRegistry, sanitizer);\r\n appIconService.registerProcessAreaIcon(iconRegistry, sanitizer);\r\n appIconService.registerDocumentIcon(iconRegistry, sanitizer);\r\n appIconService.registerFolderIcon(iconRegistry, sanitizer);\r\n appIconService.registerDeviationIcon(iconRegistry, sanitizer);\r\n appIconService.registerChecklistIcon(iconRegistry, sanitizer);\r\n appIconService.registerRiskIcon(iconRegistry, sanitizer);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.ngUnsubscribe.next();\r\n this.ngUnsubscribe.complete();\r\n this.globalService.setSearchRelated([]);\r\n this.selectedFolder = null;\r\n this.globalService.setSplitviewValue([]);\r\n }\r\n\r\n @HostListener('window:message', ['$event'])\r\n onMessage(event) {\r\n if (event.data === RelatedConst.HIDE_SEARCH_RESULT) {\r\n this.autoComplete.closePanel();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n\r\n this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {\r\n if (res && res.length) {\r\n this.filteredOptions = res;\r\n }\r\n });\r\n\r\n this.globalService.splitViewValue.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {\r\n if (res) {\r\n this.itemInSplitview = res;\r\n }\r\n });\r\n\r\n this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {\r\n this.isInputValue = true;\r\n this.onSearchRelated(val);\r\n });\r\n\r\n this.itemType = this.getDataTypeId(this.moduleId);\r\n this.searchOrder = this.getSearchOrder();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdRef.detectChanges();\r\n if (this.filteredOptions && this.filteredOptions.length) {\r\n this.autoComplete.openPanel();\r\n this.setResultHeight();\r\n } else if (this.autoComplete) {\r\n this.autoComplete.closePanel();\r\n }\r\n }\r\n\r\n getDataTypeId(moduleId: number) {\r\n let itemType;\r\n switch (moduleId) {\r\n case ModuleType.documentProcess:\r\n itemType = this.dataType.process;\r\n break;\r\n case ModuleType.deviation:\r\n itemType = this.dataType.deviation;\r\n break;\r\n case ModuleType.checklist:\r\n itemType = this.dataType.checklist;\r\n break;\r\n case ModuleType.risk:\r\n itemType = this.dataType.risk;\r\n break;\r\n default:\r\n itemType = this.dataType.document;\r\n break;\r\n }\r\n return itemType;\r\n }\r\n\r\n removeCheckedNodeList(item: TreeFlatNode) {\r\n this.selectedData = [];\r\n this.selectedData2 = [];\r\n\r\n this.checkedNodeList = this.checkedNodeList.filter(x => (x.id.toLowerCase() !== item.id.toLowerCase() || x.parentId.toLowerCase() !== item.parentId.toLowerCase()));\r\n const tempArr = [];\r\n const tempArrDocument = [];\r\n const newSelectProcessList = [];\r\n const newSelectDocumentList = [];\r\n\r\n\r\n this.commonCheckedList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {\r\n tempArr.push(element);\r\n }\r\n });\r\n });\r\n\r\n this.singleProcessList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {\r\n newSelectProcessList.push(element);\r\n }\r\n });\r\n });\r\n\r\n this.singleProcessList = newSelectProcessList;\r\n this.selectedData = [...tempArr];\r\n\r\n this.documentCheckedList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {\r\n tempArrDocument.push(element);\r\n }\r\n });\r\n });\r\n\r\n this.singleDocumentList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {\r\n newSelectDocumentList.push(element);\r\n }\r\n });\r\n });\r\n this.singleDocumentList = newSelectDocumentList;\r\n this.selectedData2 = [...tempArrDocument];\r\n }\r\n\r\n isMatchTrue(arr: any[], arr2: any[]) {\r\n return arr.every((i) => {\r\n return arr2.includes(i);\r\n });\r\n }\r\n\r\n setResultHeight(arr?: IRelated[]) {\r\n let maxHeight = 484;\r\n const popup_content = document.getElementsByClassName('qmslib_related_popup_content')[0] as HTMLElement;\r\n const line__divider = document.getElementsByClassName('line__divider')[0] as HTMLElement;\r\n if (popup_content && line__divider) {\r\n maxHeight = this.getOffsetHeight(popup_content, true) + this.getOffsetHeight(line__divider, true) * 2;\r\n }\r\n\r\n const contentResult = document.getElementsByClassName('cdk-virtual-scroll-content-wrapper')[0] as HTMLElement;\r\n const viewreports = document.getElementsByClassName('related-viewport')[0] as HTMLElement;\r\n\r\n if (viewreports) {\r\n if (contentResult.offsetHeight <= maxHeight) {\r\n viewreports.style.height = `${contentResult.offsetHeight}px`;\r\n }\r\n else {\r\n viewreports.style.height = `${maxHeight}px`;\r\n }\r\n }\r\n }\r\n\r\n onSearchRelated(_val: any) {\r\n this.filteredOptions = [];\r\n if (typeof (_val) === 'object') {\r\n this.myControl.setValue('');\r\n }\r\n else if (typeof (_val) === 'string') {\r\n if (!!_val) {\r\n this.onSearch.emit(_val);\r\n }\r\n }\r\n }\r\n\r\n getModuleFilteredOptions(moduleId: number) {\r\n return this.filteredOptions.filter(x => x.itemType === moduleId);\r\n }\r\n\r\n showSearchResult() {\r\n this.autoComplete.openPanel();\r\n }\r\n\r\n displayRelated(related?: IRelated): string | undefined {\r\n return related ? related.itemName : undefined;\r\n }\r\n\r\n selectRelated(item: IRelated) {\r\n let index = -1;\r\n this.selectedNode = [];\r\n if (this.treeConfig1.showCheckBox) {\r\n index = this.checkedNodeList.findIndex(x => {\r\n return x.id === item.id && x.parentId === item.parentId;\r\n });\r\n }\r\n\r\n if (index < 0) {\r\n let position = -1;\r\n let node: any;\r\n let typeId: number;\r\n\r\n if (item.itemType === this.dataType.document) {\r\n // document\r\n position = this.treeData2.findIndex(x => {\r\n return x.childId === item.id;\r\n });\r\n node = this.treeData2[position];\r\n typeId = this.dataType.document;\r\n this.dataTrees.toArray()[1].todoItemSelectionById([item.id]);\r\n }\r\n else if (item.itemType === this.dataType.folder) {\r\n position = this.treeData2.findIndex(x => {\r\n return x.rootId === item.id;\r\n });\r\n node = this.treeData2[position];\r\n typeId = item.itemType;\r\n if (position >= 0) {\r\n if (this.treeConfig2.showCheckBox) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.itemName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId,\r\n levelType: item.levelType\r\n });\r\n }\r\n else {\r\n this.selectedNode.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.itemName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId,\r\n levelType: item.levelType\r\n });\r\n }\r\n this.dataTrees.toArray()[1].todoItemSelectionById([item.id]);\r\n }\r\n return;\r\n }\r\n else if ((item.itemType === this.dataType.deviationType\r\n || item.itemType === this.dataType.checklistCategory\r\n || item.itemType === this.dataType.riskFolder) && !this.canOnlySelectItem) {\r\n position = this.treeData1.findIndex(x => {\r\n return x.rootId === item.id;\r\n });\r\n this.selectNodeRecursive(this.treeData1[position], item.itemType);\r\n }\r\n else if (item.itemType === this.dataType.area) {\r\n position = this.treeData1.findIndex(x => {\r\n return x.rootId === item.id;\r\n });\r\n node = this.treeData1[position];\r\n typeId = item.itemType;\r\n\r\n if (position >= 0) {\r\n if (this.treeConfig1.showCheckBox) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: node.rootId,\r\n itemName: node.rootName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId,\r\n levelType: item.levelType\r\n });\r\n }\r\n else {\r\n this.selectedNode.push({\r\n moduleId: this.moduleId,\r\n id: node.rootId,\r\n itemName: node.rootName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId,\r\n levelType: item.levelType\r\n });\r\n }\r\n }\r\n this.dataTrees.toArray()[0].todoItemSelectionById([item.id]);\r\n return;\r\n }\r\n else if (item.itemType === this.dataType.deviation ||\r\n item.itemType === this.dataType.checklist) {\r\n position = this.treeData1.findIndex(x => {\r\n return x.childId === item.id && x.rootId === item.parentId;\r\n });\r\n node = this.treeData1[position];\r\n typeId = this.itemType;\r\n const treeNode = {\r\n id: node.childId,\r\n name: node.childName,\r\n children: [],\r\n parentId: node.rootId\r\n };\r\n this.dataTrees.toArray()[0].todoItemSelection([treeNode]);\r\n }\r\n else {\r\n // process, risk,...\r\n position = this.treeData1.findIndex(x => {\r\n return x.childId.toLowerCase() === item.id.toLowerCase();\r\n });\r\n node = this.treeData1[position];\r\n typeId = this.itemType;\r\n if (node) {\r\n this.dataTrees.toArray()[0].todoItemSelectionById([node.childId]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n selectNodeRecursive(item: TreeModel, itemType: DataType) {\r\n let position = this.treeData1.findIndex(x => {\r\n return x.rootId === item.rootId;\r\n });\r\n\r\n if (position >= 0) {\r\n\r\n const node: TreeNode = {\r\n id: item.rootId,\r\n name: item.rootName,\r\n children: [],\r\n parentId: item.parentId\r\n };\r\n\r\n let nodeChildren: TreeNode[] = this.treeData1.\r\n filter(x => x.rootId === item.rootId).\r\n map(x => {\r\n return {\r\n id: x.childId,\r\n name: item.childName,\r\n children: [],\r\n parentId: item.rootId\r\n };\r\n });\r\n let nodeSubfolders: TreeModel[] = this.treeData1.\r\n filter(x => x.parentId === item.rootId);\r\n\r\n if (this.treeConfig1.showCheckBox) {\r\n nodeChildren.forEach(x => {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: x.id,\r\n itemName: x.name,\r\n itemType: itemType,\r\n itemNumberId: item.displayId.toString(),\r\n parentId: item.rootId\r\n });\r\n });\r\n }\r\n else {\r\n nodeChildren.forEach(x => {\r\n this.selectedNode.push({\r\n moduleId: this.moduleId,\r\n id: x.id,\r\n itemName: x.name,\r\n itemType: itemType,\r\n itemNumberId: item.displayId.toString(),\r\n parentId: item.rootId\r\n });\r\n });\r\n }\r\n\r\n this.dataTrees.toArray()[0].todoItemSelection([node].concat(nodeChildren));\r\n if (nodeSubfolders) {\r\n nodeSubfolders.forEach(folder => {\r\n this.selectNodeRecursive(folder, itemType);\r\n });\r\n }\r\n }\r\n return;\r\n }\r\n\r\n setTypeProcess(expand) {\r\n return expand ? this.dataType.area : this.dataType.process;\r\n }\r\n\r\n getCommonCheckedNode(list: Array<TreeFlatNode>) {\r\n this.checkedNodeList = [];\r\n this.commonCheckedList = [];\r\n this.singleProcessList = [];\r\n this.checkedNodeList = [...this.singleDocumentList];\r\n\r\n if (list.length) {\r\n list.forEach(item => {\r\n const index = this.checkedNodeList.findIndex(x => x.id === item.id && x.parentId === item.parentId);\r\n\r\n if (item.id && index < 0) {\r\n this.commonCheckedList.push(item);\r\n }\r\n\r\n if (this.singleSelectedNode) {\r\n let position: number;\r\n if (item.expandable) {\r\n position = this.treeData1.findIndex(p => p.rootId === item.id);\r\n }\r\n else {\r\n position = this.treeData1.findIndex(p => p.childId === item.id);\r\n }\r\n if (position > -1) {\r\n this.singleProcessList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: (this.itemType === 2) ? this.setTypeProcess(item.expandable) : this.itemType,\r\n itemNumberId: this.treeData1[position].displayId.toString(),\r\n parentId: item.parentId,\r\n levelType: item.levelType\r\n });\r\n }\r\n }\r\n\r\n\r\n if (item.id && index < 0 && !item.expandable && !this.singleSelectedNode) {\r\n const position = this.treeData1.findIndex(p => p.childId === item.id && p.rootId === item.parentId);\r\n if (position > -1) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: this.itemType,\r\n parentId: item.parentId,\r\n parentName: this.treeData1[position].parentId ? this.treeData1[position].subName : this.treeData1[position].rootName,\r\n itemNumberId: this.treeData1[position].displayId.toString(),\r\n levelType: item.levelType\r\n });\r\n }\r\n }\r\n });\r\n\r\n if (this.singleSelectedNode) {\r\n this.checkedNodeList = [...this.checkedNodeList, ...this.singleProcessList];\r\n }\r\n\r\n if(this.maxSelectItemCount && this.maxSelectItemCount > 0){\r\n const removeList = this.checkedNodeList.slice(0, this.maxSelectItemCount * -1);\r\n if(removeList.length){\r\n removeList.forEach(item => {\r\n this.removeCheckedNodeList({\r\n id: item.id,\r\n name: item.itemName,\r\n parentId: item.parentId,\r\n level: 0,\r\n expandable: true,\r\n hasChild: true,\r\n disabled: false\r\n })\r\n })\r\n }\r\n this.checkedNodeList = this.checkedNodeList.slice(this.maxSelectItemCount * -1);\r\n }\r\n }\r\n }\r\n\r\n getDocumentCheckedNode(list: Array<TreeFlatNode>) {\r\n this.checkedNodeList = [];\r\n this.documentCheckedList = [];\r\n this.singleDocumentList = [];\r\n this.checkedNodeList = [...this.singleProcessList];\r\n\r\n\r\n if (list.length) {\r\n list.forEach(item => {\r\n const index = this.checkedNodeList.findIndex(x => x.id === item.id);\r\n\r\n if (item.id && index < 0) {\r\n this.documentCheckedList.push(item);\r\n }\r\n\r\n if (this.singleSelectedNode) {\r\n let position: number;\r\n if (item.expandable) {\r\n position = this.treeData2.findIndex(p => p.rootId === item.id);\r\n }\r\n else {\r\n position = this.treeData2.findIndex(p => p.childId === item.id);\r\n }\r\n if (position > -1) {\r\n this.singleDocumentList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: item.expandable ? this.dataType.folder : this.dataType.document,\r\n itemNumberId: this.treeData2[position].displayId.toString(),\r\n parentId: item.parentId,\r\n levelType: item.levelType\r\n });\r\n }\r\n\r\n }\r\n\r\n\r\n if (index < 0 && !item.expandable && !this.singleSelectedNode) {\r\n const position = this.treeData2.findIndex(p => p.childId === item.id);\r\n if (position > -1) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: this.dataType.document,\r\n itemNumberId: this.treeData2[position].displayId.toString(),\r\n parentId: item.parentId,\r\n parentName: this.treeData2[position].rootName,\r\n levelType: item.levelType\r\n });\r\n }\r\n }\r\n });\r\n\r\n if (this.singleSelectedNode) {\r\n this.checkedNodeList = [...this.checkedNodeList, ...this.singleDocumentList];\r\n }\r\n\r\n if(this.maxSelectItemCount && this.maxSelectItemCount > 0){\r\n const removeList = this.checkedNodeList.slice(0, this.maxSelectItemCount * -1);\r\n if(removeList.length){\r\n removeList.forEach(item => {\r\n this.removeCheckedNodeList({\r\n id: item.id,\r\n name: item.itemName,\r\n parentId: item.parentId,\r\n level: 0,\r\n expandable: true,\r\n hasChild: true,\r\n disabled: false\r\n })\r\n })\r\n }\r\n this.checkedNodeList = this.checkedNodeList.slice(this.maxSelectItemCount * -1);\r\n }\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n this.selectedFolder = null;\r\n this.itemInSplitview = [];\r\n this.dialogRef.close();\r\n };\r\n\r\n onAddClick() {\r\n // if (this.treeConfig1.showCheckBox) {\r\n this.selectedFolder = null;\r\n this.itemInSplitview = [];\r\n this.dialogRef.close(this.checkedNodeList);\r\n // }\r\n // else {\r\n // this.dialogRef.close(this.selectedNode);\r\n // }\r\n }\r\n\r\n getOffsetHeight(element: HTMLElement, includeMargin: boolean): number {\r\n let elmHeight = 0, elmMargin = 0;\r\n\r\n elmHeight = element.offsetHeight;\r\n if (includeMargin) {\r\n const style = window.getComputedStyle(element);\r\n elmMargin = parseFloat(style.marginTop.replace('px', '')) + parseFloat(style.marginBottom.replace('px', ''));\r\n }\r\n\r\n return (elmHeight + elmMargin);\r\n }\r\n\r\n getItemChipName(item: SelectedNode) {\r\n if (item.itemType === DataType.checklist || item.itemType === DataType.deviation) {\r\n return item.parentName ? `${item.parentName}/${item.itemName}` : item.itemName;\r\n }\r\n return item.itemName;\r\n }\r\n\r\n isEllipsisActive(e: HTMLElement): boolean {\r\n return e ? (e.clientWidth < e.scrollWidth) : false;\r\n }\r\n\r\n getNodeIcon(item: IRelated) {\r\n switch (item.itemType) {\r\n case DataType.folder: {\r\n switch (item.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'department_folder_outlined';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'regional_folder_outlined';\r\n case DocumentNodeType.TopFolder:\r\n return 'enterprise_folder_outlined';\r\n case DocumentNodeType.Folder:\r\n return 'local_folder_outlined';\r\n default:\r\n return 'folder_outlined';\r\n }\r\n }\r\n case DataType.document: {\r\n switch (item.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'document_department';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'document_regional';\r\n case DocumentNodeType.TopFolder:\r\n return 'document_enterprise';\r\n case DocumentNodeType.Folder:\r\n return 'document_local';\r\n default:\r\n return 'document';\r\n }\r\n }\r\n case DataType.area:\r\n return 'process_area_outlined';\r\n case DataType.process:\r\n return 'process';\r\n case DataType.deviation:\r\n return 'deviation';\r\n case DataType.checklist:\r\n return 'checklist';\r\n case DataType.risk:\r\n return 'risk';\r\n default:\r\n return 'folder_outlined';\r\n }\r\n }\r\n\r\n getSearchOrder() {\r\n let searchTypes = Object.keys(this.dataType)\r\n .map(key => ({ value: this.dataType[key], key: key }));\r\n searchTypes = searchTypes.slice(searchTypes.length / 2);\r\n return searchTypes;\r\n }\r\n\r\n getTitle(type: number) {\r\n switch (type) {\r\n case DataType.process:\r\n return this.LANG.PROCESSES;\r\n case DataType.area:\r\n return this.LANG.PROCESS_AREA;\r\n case DataType.document:\r\n return this.LANG.DOCUMENTS;\r\n case DataType.folder:\r\n return this.LANG.FOLDER;\r\n case DataType.deviation:\r\n return this.LANG.DEVIATION;\r\n case DataType.deviationType:\r\n return this.LANG.DEVIATION_TYPE;\r\n case DataType.checklist:\r\n return this.LANG.CHECKLIST;\r\n case DataType.checklistCategory:\r\n return this.LANG.CHECKLIST_CATEGORY;\r\n case DataType.risk:\r\n return this.LANG.ASSESSMENT;\r\n case DataType.riskFolder:\r\n return this.LANG.FOLDER;\r\n }\r\n }\r\n\r\n getParentName(item: IRelated) {\r\n if (item.itemType === this.dataType.checklist || item.itemType === this.dataType.deviation) {\r\n return item.parentName;\r\n }\r\n return null;\r\n }\r\n\r\n getItemId(item: IRelated) {\r\n if (item.itemType === this.dataType.process) {\r\n return `${this.LANG.PROCESS_ID}: ${item.itemNumberId}; ${item.statusName}`;\r\n }\r\n else if (item.itemType === this.dataType.document) {\r\n return `${this.LANG.DOCUMENT_ID}: ${item.itemNumberId}; ${item.statusName}`;\r\n }\r\n return null;\r\n }\r\n\r\n toggleSelectItem(node: IRelated) {\r\n const selectedNode = this.checkedNodeList.find(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase()));\r\n if (selectedNode) {\r\n this.removeCheckedNodeList({\r\n id: selectedNode.id,\r\n name: node.itemName,\r\n parentId: selectedNode.parentId,\r\n hasChild: false,\r\n expandable: false,\r\n level: 0,\r\n disabled: false,\r\n });\r\n }\r\n else {\r\n this.selectRelated(node);\r\n }\r\n }\r\n\r\n isNodeSelected(node) {\r\n return this.checkedNodeList.filter(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase())).length > 0;\r\n }\r\n\r\n\r\n getChildrenOfFolder(node: TreeFlatNode, type: DataType) {\r\n if (this.splitView) {\r\n let item = new IRelated();\r\n item.id = node.id;\r\n item.itemType = type;\r\n item.itemName = node.name;\r\n item.levelType = node.levelType;\r\n this.selectedFolder = node;\r\n if (type === this.dataType.folder) {\r\n this.splitViewTitle = `${this.LANG.MESSAGE.DOCUMENTS_IN.toUpperCase()} \"${node.name}\"`;\r\n }\r\n else if (type === this.dataType.area) {\r\n this.splitViewTitle = `${this.LANG.MESSAGE.PROCESSES_IN.toUpperCase()} \"${node.name}\"`;\r\n }\r\n this.onExpandFolder.emit(item);\r\n }\r\n }\r\n\r\n canShowSearchOption(moduleId: number){\r\n if(this.canOnlySelectItem &&\r\n (moduleId === DataType.checklistCategory \r\n || moduleId === DataType.riskFolder \r\n || moduleId === DataType.deviationType \r\n || (moduleId === DataType.area && this.treeConfig1 && !this.treeConfig1.singleSelectedNode) \r\n || (moduleId === DataType.folder && this.treeConfig2 && !this.treeConfig2.singleSelectedNode)\r\n )){\r\n return false;\r\n }\r\n return this.getModuleFilteredOptions(moduleId).length > 0;\r\n }\r\n}\r\n","import { TreeConfig } from \"./tree-config.model\";\r\nimport { TreeModel } from \"./tree.model\";\r\n\r\nexport class RiskAnalysis {\r\n title: string;\r\n dangers: Array<TreeModel>;\r\n dangerConfig: TreeConfig;\r\n selectedDangers: any;\r\n disabledList?: Array<any>;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.dangers = [];\r\n this.selectedDangers = [];\r\n this.disabledList = [];\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { DataType } from \"../../common/data-type.enum\";\r\nimport { AnalysisDanger } from \"../../model/analysis-danger.model\";\r\nimport { RiskAnalysis } from \"../../model/risk-analysis.model\";\r\nimport { TreeConfig } from \"../../model/tree-config.model\";\r\nimport { TreeModel } from \"../../model/tree.model\";\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n disabled: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-risk-analysis',\r\n templateUrl: './analysis.component.html',\r\n styleUrls: ['./analysis.component.scss']\r\n})\r\nexport class RiskAnalysisComponent implements OnInit {\r\n LANG: any;\r\n title: string;\r\n dangers: Array<TreeModel> = [];\r\n dangerConfig: TreeConfig;\r\n analysisDanger: Array<AnalysisDanger> = [];;\r\n\r\n selectedData = [];\r\n nodeCheckedItem = [];\r\n disabledList = [];\r\n\r\n riskData: Array<any> = [];\r\n riskConfig: TreeConfig;\r\n\r\n constructor(\r\n public translate: TranslateLibraryService,\r\n private dialog: MatDialog,\r\n public dialogRef: MatDialogRef<RiskAnalysisComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: RiskAnalysis\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n\r\n this.title = this.data.title;\r\n this.dangers = this.data.dangers;\r\n this.dangerConfig = this.data.dangerConfig;\r\n this.selectedData = [...this.data.selectedDangers];\r\n this.disabledList = this.data.disabledList || [];\r\n\r\n // cheat not null when selected\r\n if (this.data.selectedDangers.length) {\r\n this.analysisDanger.push({\r\n analysisId: 1,\r\n analysisName: 'string',\r\n dangerId: 1,\r\n dangerName: 'string',\r\n });\r\n }\r\n\r\n this.riskConfig = {\r\n allowSelectFolder: false,\r\n areaOfCurrentProcess: '',\r\n showCheckBox: true,\r\n allowMultipleCheck: true,\r\n onlyCheckBoxForChild: false,\r\n moduleId: DataType.risk,\r\n openIcon: 'keyboard_arrow_up',\r\n openIconColor: '#1954A9',\r\n closeIcon: 'keyboard_arrow_down',\r\n closeIconColor: '',\r\n itemIcon: 'border_all',\r\n itemIconPath: '',\r\n itemIconBase64: '',\r\n singleSelectedNode: false,\r\n canHaveDupId: false\r\n };\r\n }\r\n\r\n toggleChileNode(list: Array<TreeFlatNode>) {\r\n this.analysisDanger = [];\r\n this.nodeCheckedItem = [];\r\n\r\n\r\n if (list.length) {\r\n this.dangers.forEach(el => {\r\n list.forEach(x => {\r\n if (x.id === el.childId) {\r\n // keep array node selected\r\n this.nodeCheckedItem.push(x);\r\n // create format show analysis \r\n this.analysisDanger.push({\r\n analysisId: +el.rootId,\r\n analysisName: el.rootName,\r\n dangerId: +el.childId,\r\n dangerName: el.childName\r\n })\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onFinishClick(): void {\r\n const data = {\r\n 'nodeSelected': this.nodeCheckedItem,\r\n 'analysisData': this.analysisDanger,\r\n 'riskData': this.dangers || []\r\n }\r\n\r\n this.dialogRef.close(data);\r\n }\r\n\r\n onCancelClick() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export enum ActionType {\r\n edit = 1,\r\n detail = 2,\r\n delete = 3\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { ActionType } from \"../../common/action-type.enum\";\r\nimport { DangerAction } from \"../../model/danger-action.model\";\r\nimport { DangerAssessment } from \"../../model/danger-assessment.model\";\r\nimport { Danger } from \"../../model/danger.model\";\r\nimport { RiskDanger } from \"../../model/risk-danger.model\";\r\nimport { TreeConfig } from \"../../model/tree-config.model\";\r\n\r\n@Component({\r\n selector: 'qms-risk-list',\r\n templateUrl: './list.component.html',\r\n styleUrls: ['./list.component.scss']\r\n})\r\nexport class RiskListComponent implements OnInit, OnChanges {\r\n LANG: any;\r\n title: string;\r\n isNotEditedItem: boolean;\r\n dangers: Array<Danger> = [];\r\n analysisDanger: Array<DangerAssessment> = [];\r\n dangerAction: DangerAction;\r\n show = 5;\r\n\r\n dangerConfig: TreeConfig;\r\n\r\n resultData: Array<any> = [];\r\n riskAnalysis: Array<any> = [];\r\n\r\n @Input() data: RiskDanger;\r\n @Output() updateData: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n public translate: TranslateLibraryService,\r\n private dialog: MatDialog\r\n ) {\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.data && JSON.stringify(changes.data.currentValue) !== JSON.stringify(changes.data.previousValue)) {\r\n this.dangers = [];\r\n this.title = changes.data.currentValue.title;\r\n this.isNotEditedItem = changes.data.currentValue['isNotEditedItem'] ?? false;\r\n this.dangers = [...changes.data.currentValue.data];\r\n this.show = changes.data.currentValue?.numRow || 5;\r\n\r\n this.analysisDanger = [];\r\n this.groupByDanger(changes.data.currentValue.data, 0);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.title = this.data?.title || '';\r\n this.isNotEditedItem = this.data['isNotEditedItem'] ?? false;\r\n this.dangers = this.data?.data || [];\r\n this.show = this.data?.numRow || 5;\r\n\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n if (this.dangers.length) {\r\n this.groupByDanger(this.dangers, 0);\r\n }\r\n }\r\n\r\n groupByDanger(dangers: Array<Danger>, i: number) {\r\n dangers.forEach(d => {\r\n const index = this.analysisDanger.findIndex(x => {\r\n return d.analysisId === x.id;\r\n });\r\n if (index < 0) {\r\n let count = 0;\r\n this.analysisDanger.push({\r\n id: d.analysisId,\r\n name: d.analysisName,\r\n childNumber: 0,\r\n show: this.show,\r\n remain: 0,\r\n dangers: [],\r\n folderId: d.folderId,\r\n statusId: d.statusId,\r\n simple: d.simple\r\n });\r\n dangers.forEach(d => {\r\n const index = this.analysisDanger[i].dangers.findIndex(x => {\r\n return x.dangerId === d.dangerId;\r\n });\r\n\r\n if (index < 0 && this.analysisDanger[i].id === d.analysisId) {\r\n this.analysisDanger[i].dangers.push(d);\r\n count++;\r\n }\r\n });\r\n\r\n this.analysisDanger[i].childNumber = count;\r\n this.analysisDanger[i].remain = count - this.show;\r\n i++;\r\n }\r\n });\r\n }\r\n\r\n editDanger(item) {\r\n this.dangerAction = {\r\n type: ActionType.edit,\r\n danger: {\r\n analysisId: 0,\r\n analysisName: '',\r\n dangerId: 0,\r\n dangerName: '',\r\n green: 0,\r\n yellow: 0,\r\n red: 0\r\n }\r\n }\r\n const data = { ...this.dangerAction, ...item };\r\n this.updateData.emit(data);\r\n\r\n }\r\n\r\n removeDanger(id: number) {\r\n const index = this.analysisDanger.findIndex(x => {\r\n return x.id === id;\r\n });\r\n const removedItem = this.analysisDanger[index];\r\n\r\n this.dangerAction = {\r\n type: ActionType.delete,\r\n danger: {\r\n analysisId: 0,\r\n analysisName: '',\r\n dangerId: 0,\r\n dangerName: '',\r\n green: 0,\r\n yellow: 0,\r\n red: 0\r\n }\r\n };\r\n\r\n const data = { ...this.dangerAction, ...removedItem };\r\n this.updateData.emit(data);\r\n }\r\n\r\n dangerDetail(danger: Danger) {\r\n this.dangerAction = {\r\n type: ActionType.detail,\r\n danger: {\r\n analysisId: 0,\r\n analysisName: '',\r\n dangerId: 0,\r\n dangerName: '',\r\n green: 0,\r\n yellow: 0,\r\n red: 0\r\n }\r\n };\r\n const data = { ...this.dangerAction, ...danger };\r\n this.updateData.emit(data);\r\n }\r\n\r\n increaseShow(id: number) {\r\n const index = this.analysisDanger.findIndex(x => {\r\n return x.id === id;\r\n });\r\n if (index >= 0) {\r\n this.analysisDanger[index].show = this.analysisDanger[index].childNumber;\r\n this.analysisDanger[index].remain = 0;\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n\r\n }\r\n}\r\n","export enum Color {\r\n green = 1,\r\n yellow = 2,\r\n red = 3\r\n}\r\n","export class RiskResult {\r\n title: string;\r\n results: Array<Result>;\r\n isSimple?: number;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.results = [];\r\n this.isSimple = 0\r\n }\r\n}\r\n\r\nexport class Result {\r\n dangerId: number;\r\n dangerName: string;\r\n color: number;\r\n cause: string;\r\n consequenceArea: string;\r\n result: string;\r\n}\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from \"../../../../services/translation-registry.service\";\r\nimport { Color } from \"../../common/color.enum\";\r\nimport { Result, RiskResult } from \"../../model/risk-result.model\";\r\n\r\n@Component({\r\n selector: 'qms-risk-result',\r\n templateUrl: './result.component.html',\r\n styleUrls: ['./result.component.scss']\r\n})\r\nexport class RiskResultComponent implements OnInit {\r\n LANG: any;\r\n title: string;\r\n results: Array<Result> = [];\r\n color = Color;\r\n isSimple = 0;\r\n\r\n constructor(\r\n public translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<RiskResultComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: RiskResult\r\n ) {\r\n this.title = data.title;\r\n this.results = data.results;\r\n this.isSimple = data.isSimple || 0;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n onCloseClick(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export class SideNav {\r\n menu: string;\r\n icon: string;\r\n items: Array<SideNavItem>;\r\n\r\n constructor() {\r\n this.menu = '';\r\n this.icon = '';\r\n this.items = [];\r\n }\r\n}\r\n\r\nexport class SideNavItem {\r\n id: string;\r\n name: string;\r\n url: string;\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { SideNav, SideNavItem } from '../model/sidenav.model';\r\n\r\n@Component({\r\n selector: 'qms-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n})\r\nexport class SidenavComponent implements OnInit {\r\n @Input() data = new SideNav();\r\n @ViewChild('sidenav') sidenav: MatSidenav;\r\n\r\n menu = '';\r\n icon = '';\r\n items: Array<SideNavItem> = [];\r\n\r\n isExpanded = true;\r\n showSubmenu: boolean = false;\r\n isShowing = false;\r\n showSubSubMenu: boolean = false;\r\n\r\n ngOnInit(): void {\r\n this.menu = this.data.menu;\r\n this.icon = this.data.icon;\r\n this.items = this.data.items;\r\n }\r\n\r\n mouseenter() {\r\n if (!this.isExpanded) {\r\n this.isShowing = true;\r\n }\r\n }\r\n\r\n mouseleave() {\r\n if (!this.isExpanded) {\r\n this.isShowing = false;\r\n }\r\n }\r\n}\r\n","import { ScrollingModule } from \"@angular/cdk/scrolling\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatListModule } from \"@angular/material/list\";\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatTreeModule } from \"@angular/material/tree\";\r\nimport { SharedMaterialModule } from '../../material-module';\r\nimport { QmsAngularModule } from '../../qms-angular.module';\r\nimport { QMSAppIconModule } from \"../app-icon/app-icon.module\";\r\nimport { QMSBreadcrumbModule } from \"../breadcrumb/breadcrumb.module\";\r\nimport { QMSListModule } from \"../list/list.module\";\r\nimport { RelatedContentComponent } from \"./content/related-content.component\";\r\nimport { RelatedListComponent } from \"./list-other-related/list-related.component\";\r\nimport { RelatedPopupComponent } from \"./popup/related-popup.component\";\r\nimport { RiskAnalysisComponent } from \"./risk/analysis/analysis.component\";\r\nimport { RiskListComponent } from \"./risk/list/list.component\";\r\nimport { RiskResultComponent } from \"./risk/result/result.component\";\r\nimport { SidenavComponent } from \"./sidenav/sidenav.component\";\r\nimport { TreeComponent } from \"./tree/tree.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n TreeComponent,\r\n RelatedPopupComponent,\r\n RelatedContentComponent,\r\n SidenavComponent,\r\n RiskAnalysisComponent,\r\n RiskResultComponent,\r\n RiskListComponent,\r\n RelatedListComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatExpansionModule,\r\n MatAutocompleteModule,\r\n ReactiveFormsModule,\r\n ScrollingModule,\r\n MatCardModule,\r\n MatSidenavModule,\r\n MatListModule,\r\n SharedMaterialModule,\r\n QMSListModule,\r\n QmsAngularModule,\r\n QMSBreadcrumbModule,\r\n QMSAppIconModule\r\n ],\r\n exports: [\r\n TreeComponent,\r\n RelatedPopupComponent,\r\n RelatedContentComponent,\r\n SidenavComponent,\r\n RiskAnalysisComponent,\r\n RiskResultComponent,\r\n RiskListComponent,\r\n RelatedListComponent\r\n ]\r\n})\r\nexport class QMSRelatedModule { }\r\n","export class TreeModel {\r\n rootId: string;\r\n parentId: string;\r\n rootName: string;\r\n subName: string;\r\n childId: string;\r\n childName: string;\r\n statusId: number;\r\n displayId: number;\r\n levelType?: number;\r\n onlyRead?: boolean;\r\n}\r\n","import { DataType } from \"../common/data-type.enum\";\r\n\r\nexport class TreeConfig {\r\n allowSelectFolder: boolean;\r\n areaOfCurrentProcess: string;\r\n showCheckBox: boolean;\r\n allowMultipleCheck: boolean;\r\n onlyCheckBoxForChild: boolean;\r\n moduleId: DataType;\r\n openIcon?: string;\r\n openIconColor: string;\r\n closeIcon?: string;\r\n closeIconColor: string;\r\n itemIcon?: string;\r\n itemIconPath?: string;\r\n itemIconBase64?: string;\r\n itemIconSvg?: string;\r\n singleSelectedNode: boolean;\r\n canHaveDupId?: boolean;\r\n expandAll?: boolean;\r\n onlyFolder?: boolean;\r\n}\r\n","import { Danger } from \"./danger.model\";\r\n\r\nexport class RiskDanger {\r\n title: string;\r\n data: Array<Danger>;\r\n numRow: number;\r\n isNotEditedItem: boolean;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.data = [];\r\n this.numRow = 5;\r\n this.isNotEditedItem = false;\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Injectable, OnDestroy } from '@angular/core';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class QMSCKEditorBaseComponent implements OnDestroy {\r\n ngUnsubcribe = new Subject<void>();\r\n\r\n ngOnDestroy(): void {\r\n this.ngUnsubcribe.next();\r\n this.ngUnsubcribe.complete();\r\n }\r\n}\r\n","export class QMSCKEditorDialogData {\r\n title: string;\r\n\r\n content: string;\r\n\r\n checkText?: string;\r\n\r\n isMessage?: boolean;\r\n\r\n isAdvance?: boolean;\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { QMSCKEditorBaseComponent } from '../../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorDialogData } from '../../models/qms-ckeditor-dialog.model';\r\n\r\n@Component({\r\n selector: 'app-confirm-popup',\r\n templateUrl: './qms-ckeditor-confirm.component.html',\r\n styleUrls: ['./qms-ckeditor-confirm.component.scss']\r\n})\r\nexport class QMSCKEditorConfirmComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n isNotShowAgain = false;\r\n\r\n constructor(\r\n private translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<QMSCKEditorConfirmComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorDialogData\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n onCancelClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onConfirmClick() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n onAdvanceConfirmClick() {\r\n const obj = { isConfirmed: true, isNotShowAgain: this.isNotShowAgain };\r\n this.dialogRef.close(obj);\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Component, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\r\n\r\ninterface TreeNode {\r\n id: string;\r\n name: string;\r\n children?: TreeNode[];\r\n}\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n disabled: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-ckeditor-tree',\r\n templateUrl: './qms-ckeditor-tree.component.html',\r\n styleUrls: ['./qms-ckeditor-tree.component.scss']\r\n})\r\nexport class QMSCKEditorTreeComponent implements OnChanges {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() rawData: Array<any> = [];\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() treeData: Array<any> = [];\r\n\r\n @Input() useExpandFeature: boolean;\r\n\r\n @Input() docType: number;\r\n\r\n @Input() allowSelectFolder: boolean;\r\n\r\n @Output() selectNodeEvent: EventEmitter<string> = new EventEmitter();\r\n\r\n @Output() selectFolderEvent: EventEmitter<string> = new EventEmitter();\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() listParentObj: any;\r\n\r\n arrIndex: string[] = [];\r\n\r\n @Input() areaOfCurrentProcess: string;\r\n\r\n // tslint:disable-next-line:member-ordering\r\n treeControl = new FlatTreeControl<TreeFlatNode>(\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n }\r\n );\r\n\r\n ngOnChanges() {\r\n if (this.treeData) {\r\n this.dataSource.data = this.treeData;\r\n }\r\n }\r\n\r\n private transformer = (node: TreeNode, level: number) => {\r\n let checkHasChild = true;\r\n if (!node.children) {\r\n checkHasChild = false;\r\n } else if (!(!!node.children && node.children.length && node.children.length > 0)) {\r\n checkHasChild = false;\r\n }\r\n // tslint:disable-next-line:max-line-length\r\n else if (\r\n !!node.children &&\r\n node.children.length &&\r\n node.children.length === 1 &&\r\n !node.children[0].name.length &&\r\n node.id.toString() === this.areaOfCurrentProcess\r\n ) {\r\n checkHasChild = false;\r\n }\r\n\r\n if (!(this.listParentObj[node.id] === 1)) {\r\n checkHasChild = false;\r\n }\r\n\r\n return {\r\n expandable: !!node.children && node.children.length > 0,\r\n name: node.name,\r\n level,\r\n id: node.id,\r\n hasChild: checkHasChild\r\n };\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n treeFlattener = new MatTreeFlattener(\r\n this.transformer,\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n },\r\n (node) => {\r\n return node.children;\r\n }\r\n );\r\n\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\r\n\r\n hasChild = (_: number, node: TreeFlatNode) => {\r\n return node.expandable;\r\n };\r\n\r\n selectNode(node: TreeFlatNode) {\r\n this.selectNodeEvent.emit(node.id);\r\n }\r\n\r\n selectFolder(node: TreeFlatNode) {\r\n this.selectFolderEvent.emit(node.id);\r\n }\r\n\r\n onExpandNode(node: TreeFlatNode, isExpandNode?: boolean) {\r\n // set useExpandFeature = true to improve performance of tree loading\r\n if (!isExpandNode || !this.useExpandFeature) {\r\n for (let i = 0; i < this.arrIndex.length; i++) {\r\n if (this.arrIndex[i] === node.id) {\r\n this.arrIndex.splice(i, 1);\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n // get array index to expand node after refresh datasource\r\n let index = 0;\r\n let isChange = false;\r\n let isRemove = false;\r\n if (node.level === 0) {\r\n this.arrIndex.push(node.id);\r\n } else {\r\n this.arrIndex.push(node.id);\r\n }\r\n\r\n const childArray = this.rawData.filter((x) => {\r\n return x.parentId === node.id;\r\n });\r\n let rootId = 0;\r\n let parentElement: TreeNode;\r\n let childrenList: TreeNode[];\r\n if (childArray.length === 0) {\r\n return;\r\n }\r\n childArray.forEach((item) => {\r\n if (item.rootId === rootId) {\r\n return;\r\n }\r\n\r\n // get child node from original datasource\r\n const child = this.getChildNode(item.rootId, childArray);\r\n rootId = item.rootId;\r\n\r\n index = this.getNodeIndex(child.id, undefined, this.dataSource['_treeControl'].dataNodes);\r\n if (index > -1) {\r\n return;\r\n }\r\n\r\n // add child node to expand node\r\n parentElement = this.findParentNode(node.id, this.dataSource.data);\r\n if (parentElement) {\r\n // temporary remove all node without children => purpose to add node folder first\r\n if (!isRemove) {\r\n childrenList = [...parentElement.children];\r\n this.removeChildren(parentElement);\r\n isRemove = true;\r\n }\r\n // add node folder first\r\n parentElement.children.push(child);\r\n isChange = true;\r\n }\r\n });\r\n // add node without children again\r\n if (isRemove) {\r\n this.addChildren(parentElement, childrenList);\r\n }\r\n\r\n // refresh data and expand tree node from root node\r\n if (isChange) {\r\n this.refreshTreeData();\r\n this.arrIndex.forEach((item) => {\r\n index = this.getNodeIndex(item, undefined, this.dataSource['_treeControl'].dataNodes);\r\n this.treeControl.expand(this.treeControl.dataNodes[index]);\r\n });\r\n isChange = false;\r\n }\r\n }\r\n\r\n removeChildren(parentElement?: TreeNode) {\r\n if (parentElement.children) {\r\n parentElement.children.length = 0;\r\n }\r\n }\r\n\r\n addChildren(parentElement?: TreeNode, childrenList?: TreeNode[]) {\r\n if (childrenList) {\r\n childrenList.forEach((e) => {\r\n parentElement.children.push(e);\r\n });\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n getNodeIndex(id: string, level?: number, data?: any[]) {\r\n if (level) {\r\n return data.findIndex((x) => {\r\n return x.id === id && x.level === level;\r\n });\r\n }\r\n\r\n return data.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n getChildNode(rootId: string, data: any) {\r\n const childArray = data.filter((x) => {\r\n return x.rootId === rootId;\r\n });\r\n const child = { id: childArray[0].rootId, name: childArray[0].subName, children: [] } as TreeNode;\r\n childArray.forEach((item) => {\r\n child.children.push({ id: item.childId, name: item.childName });\r\n });\r\n return child;\r\n }\r\n\r\n findParentNode(id: string, data: TreeNode[]) {\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentFather of data) {\r\n if (currentFather.id === id) {\r\n return currentFather;\r\n }\r\n\r\n if (currentFather.children) {\r\n const currentChild = currentFather.children.find((x) => {\r\n return x.id === id;\r\n });\r\n if (currentChild) {\r\n return currentChild;\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentChild1 of currentFather.children) {\r\n if (id !== currentChild1.id) {\r\n const result = this.findParentNode(id, currentFather.children);\r\n if (result !== false) {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n refreshTreeData() {\r\n const data = this.dataSource.data;\r\n this.dataSource.data = [];\r\n this.dataSource.data = data;\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-fullscreen',\r\n templateUrl: './qms-ckeditor-fullscreen.component.html',\r\n styleUrls: ['./qms-ckeditor-fullscreen.component.scss']\r\n})\r\nexport class QMSCKEditorFullscreenComponent {\r\n public showFullScreen() {\r\n this.showHideFullScreen('none', 'hide-content-wrapper', '0px', '0px', '0px', '98vh');\r\n }\r\n\r\n public hideFullScreen() {\r\n this.showHideFullScreen('block', 'show-content-wrapper', '0px', '0px', '2px', '93vh');\r\n }\r\n\r\n public showHideFullScreen(\r\n display: string,\r\n className: string,\r\n paddingTop: string,\r\n paddingBottom: string,\r\n marginTopMain: string,\r\n heightIframe: string\r\n ) {\r\n const sidebar = window.parent.document.getElementById('sidebar_left');\r\n if (sidebar) {\r\n if (display === 'block') {\r\n if (!sidebar.classList.contains('show-sidebar_left')) {\r\n sidebar.classList.add('show-sidebar_left');\r\n }\r\n } else if (display === 'none') {\r\n if (sidebar.classList.contains('show-sidebar_left')) {\r\n sidebar.classList.remove('show-sidebar_left');\r\n }\r\n }\r\n }\r\n const topbars = window.parent.document.getElementsByClassName('navbar-fixed-top');\r\n if (topbars && topbars.length > 0) {\r\n const topbar = topbars[0] as HTMLElement;\r\n topbar.style.display = display;\r\n }\r\n const contentWrapper = window.parent.document.getElementById('content_wrapper');\r\n if (contentWrapper) {\r\n contentWrapper.className = className;\r\n }\r\n\r\n const bodies = window.parent.document.getElementsByTagName('body');\r\n if (bodies && bodies.length > 0) {\r\n const body = bodies[0] as HTMLElement;\r\n body.style.paddingTop = paddingTop;\r\n body.style.paddingBottom = paddingBottom;\r\n if (display === 'block') {\r\n body.classList.remove('sidebar-hidden');\r\n body.classList.add('sidebar-ltr');\r\n } else if (display === 'none') {\r\n body.classList.remove('sidebar-ltr');\r\n body.classList.add('sidebar-hidden');\r\n }\r\n }\r\n const main = window.parent.document.getElementById('main');\r\n if (main) {\r\n main.style.marginTop = marginTopMain;\r\n }\r\n\r\n const iframes = window.parent.document.getElementsByClassName('processIFrameModule');\r\n if (iframes && iframes.length > 0) {\r\n const iframe = iframes[0] as HTMLElement;\r\n iframe.style.height = heightIframe;\r\n }\r\n\r\n const ck = window.document.getElementById('qmsckeditor');\r\n if (ck) {\r\n if (display === 'none') {\r\n if (!ck.classList.contains('qmsckeditor__fullscreen')) {\r\n ck.classList.add('qmsckeditor__fullscreen');\r\n }\r\n } else if (display === 'block') {\r\n if (ck.classList.contains('qmsckeditor__fullscreen')) {\r\n ck.classList.remove('qmsckeditor__fullscreen');\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorGlobalService {\r\n getApiUrlSubject = new BehaviorSubject<any>(null);\r\n\r\n constructor() { }\r\n\r\n setApiUrl(apiUrl: string) {\r\n this.getApiUrlSubject.next(apiUrl);\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { QMSCKEditorBaseComponent } from '../qms-ckeditor-base.component';\r\nimport { QMSCKEditorGlobalService } from './qms-ckeditor-global.service';\r\n\r\n@Injectable()\r\nexport class QMSCKEditorBaseService extends QMSCKEditorBaseComponent {\r\n headers = new HttpHeaders();\r\n apiUrl: string;\r\n\r\n constructor(public http: HttpClient, private globalService: QMSCKEditorGlobalService) {\r\n super();\r\n this.globalService.getApiUrlSubject.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n this.apiUrl = res;\r\n })\r\n }\r\n\r\n protected get(url: string, params: any = {}): Observable<any> {\r\n return this.http.get(this.apiUrl + url, { headers: this.headers, params });\r\n }\r\n\r\n protected post(url: string, data: any): Observable<any> {\r\n return this.http.post(this.apiUrl + url, data, { headers: this.headers });\r\n }\r\n\r\n protected put(url: string, data: any): Observable<any> {\r\n return this.http.put(this.apiUrl + url, data, { headers: this.headers });\r\n }\r\n\r\n protected delete(url: string, params: any = {}): Observable<any> {\r\n return this.http.delete(this.apiUrl + url, { headers: this.headers, params });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { QMSCKEditorLinkAnchorDocument } from '../common/models/qms-ckeditor-link-anchor-document.model';\r\nimport QMSCKEditorLinkAttachment from '../common/models/qms-ckeditor-link-attachment.model';\r\nimport { QMSCKEditorBaseService } from './qms-ckeditor-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorLinkService extends QMSCKEditorBaseService {\r\n public getAttachmentList(\r\n module: number,\r\n entityId: string,\r\n supportFileArchiveAttachments: boolean\r\n ): Observable<QMSCKEditorLinkAttachment[]> {\r\n return this.get('ckeditorLink/LinkAttachmentList', { module, entityId, supportFileArchiveAttachments });\r\n }\r\n\r\n public getAnchorDocumentList(documentId: number): Observable<QMSCKEditorLinkAnchorDocument[]> {\r\n return this.get('ckeditorLink/LinkAnchorDoucmentList', { documentId });\r\n }\r\n}\r\n","export default class QMSCKEditorParamter {\r\n module: number;\r\n entityId: string;\r\n}\r\n","export enum CKEditorModule {\r\n document = 1,\r\n process = 2,\r\n deviation = 3,\r\n risk = 4,\r\n checklist = 5,\r\n dashboard = 6\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport QMSCKEditorLinkAttachment from '../../../common/models/qms-ckeditor-link-attachment.model';\r\nimport { QMSCKEditorBaseComponent } from '../../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorLinkService } from '../../../services/qms-ckeditor-link.service';\r\nimport QMSCKEditorParamter from '../../../common/models/qms-ckeditor-parameter.model';\r\nimport { CKEditorModule } from '../../../common/enums/module.enum';\r\n\r\nexport interface LinkUrl {\r\n url: string;\r\n title: string;\r\n}\r\n\r\n@Component({\r\n selector: 'link-attachment',\r\n templateUrl: './link-attachment.component.html',\r\n styleUrls: ['./link-attachment.component.scss']\r\n})\r\nexport class LinkAttachmentComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n module = 0;\r\n entityId = '';\r\n supportFileArchiveAttachments = false;\r\n attachments: QMSCKEditorLinkAttachment[] = [];\r\n linkUrl: LinkUrl;\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private linkService: QMSCKEditorLinkService,\r\n public dialogRef: MatDialogRef<LinkAttachmentComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorParamter\r\n ) {\r\n super();\r\n this.module = data.module;\r\n this.entityId = data.entityId;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.getAttachmentList(this.module, this.entityId, this.supportFileArchiveAttachments);\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getAttachmentList(module: number, itemId: string, supportFileArchiveAttachments: boolean) {\r\n this.linkService\r\n .getAttachmentList(module, itemId, supportFileArchiveAttachments)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n this.attachments = response;\r\n }\r\n });\r\n }\r\n\r\n onSelectedAttachment(extraId: string, fileName: string) {\r\n this.linkUrl = { url: '', title: '' };\r\n if (extraId) {\r\n if (this.module === CKEditorModule.document) {\r\n this.linkUrl.url = `/api/File/GetFile?entityId=${extraId}`;\r\n }\r\n else if (this.module === CKEditorModule.process) {\r\n this.linkUrl.url = `/api/processes/GetFileContents?fileId=${extraId}`;\r\n }\r\n this.linkUrl.title = fileName;\r\n }\r\n this.dialogRef.close(this.linkUrl);\r\n }\r\n}\r\n","export enum LinkAnchor {\r\n Blank = '',\r\n Attachment = 'Idattachment',\r\n Related = 'IdrelatedDocument'\r\n}\r\n","export enum LinkType {\r\n url = 0,\r\n anchorText = 1,\r\n email = 2,\r\n anchorDocument = 3\r\n}\r\n","export enum ProtocolType {\r\n http = 0,\r\n https = 1,\r\n ftp = 2,\r\n news = 3,\r\n other = 4\r\n}\r\n\r\nexport enum ProtocolTypeName {\r\n http = 'http://',\r\n https = 'https://',\r\n ftp = 'ftp://',\r\n news = 'news://',\r\n other = ''\r\n}","export enum TargetType {\r\n new = 0,\r\n topmost = 1,\r\n same = 2,\r\n parent = 3\r\n}\r\n\r\nexport enum TargetTypeName {\r\n new = '_blank',\r\n topmost = '_top',\r\n same = '_self',\r\n parent = '_parent'\r\n}\r\n","export class QMSCKEditorRelation {\r\n isOnlyDocument: boolean;\r\n isEnableFolder: boolean;\r\n\r\n constructor() {\r\n this.isOnlyDocument = false;\r\n this.isEnableFolder = false;\r\n }\r\n}\r\n","export default class QMSCKEditorLink {\r\n typeId: number;\r\n targetId: number;\r\n protocolId: number;\r\n url: string;\r\n title: string;\r\n edit: boolean;\r\n editorContent: string;\r\n module: number;\r\n entityId: string;\r\n constructor() {\r\n this.typeId = 0;\r\n this.targetId = 0;\r\n this.protocolId = 0;\r\n this.url = '';\r\n this.title = '';\r\n this.edit = false;\r\n this.editorContent = '';\r\n this.entityId = '';\r\n }\r\n}\r\n","export enum QMSCKEditorDocumentType {\r\n document = 1,\r\n process = 2,\r\n area = 3,\r\n folder = 4\r\n}\r\n","export class TreeNode {\r\n children: TreeNode[];\r\n id: string;\r\n name: string;\r\n parentId?: string;\r\n}\r\n","import QMSCKEditorTree from '../models/qms-ckeditor-tree.model';\r\nimport { TreeNode } from '../models/qms-ckeditor-tree-node.model';\r\n\r\nlet objData = {};\r\n\r\nfunction buildArrayTree(obj: object, level: number): TreeNode[] {\r\n return Object.keys(obj).reduce<TreeNode[]>((accumulator, key) => {\r\n const value = obj[key];\r\n const node = new TreeNode();\r\n const index = key.indexOf('_');\r\n node.id = key.substr(0, index);\r\n node.name = key.substr(index + 1, key.length - index);\r\n\r\n if (value != null) {\r\n if (typeof value === 'object') {\r\n node.children = this.buildArrayTree(value, level + 1);\r\n } else {\r\n node.name = value;\r\n }\r\n }\r\n\r\n return accumulator.concat(node);\r\n }, []);\r\n}\r\n\r\nfunction buildObjectTree(arr: QMSCKEditorTree[]): object {\r\n objData = {};\r\n let objTreeData;\r\n const root = arr.filter((x: { parentId: string }) => {\r\n return x.parentId === '';\r\n });\r\n root.forEach((item) => {\r\n objTreeData = this.findParent(item.rootId, arr);\r\n });\r\n return objTreeData;\r\n}\r\n\r\nfunction findParent(id: string, array: QMSCKEditorTree[]) {\r\n const objParent = {};\r\n const parent = array.filter((x: { rootId: string }) => {\r\n return x.rootId === id;\r\n });\r\n\r\n parent.forEach((item) => {\r\n objParent[`${item.childId}_${item.childName}`] = null;\r\n });\r\n\r\n // find child\r\n const child = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n if (child.length > 0) {\r\n this.findChild(id, objParent, array);\r\n }\r\n\r\n // add node to tree\r\n objData[`${parent[0].rootId}_${parent[0].rootName}`] = objParent;\r\n return objData;\r\n}\r\n\r\nfunction findChild(id: string, objParent: object, array: QMSCKEditorTree[]) {\r\n const subNode = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n subNode.forEach((item) => {\r\n const processNode = {};\r\n processNode[`${item.childId}_${item.childName}`] = null;\r\n objParent[`${item.rootId}_${item.subName}`] = processNode;\r\n\r\n findChild(item.rootId, processNode, array);\r\n });\r\n}\r\n\r\nconst QMSCKEditorTreeFunctions = {\r\n buildArrayTree,\r\n buildObjectTree,\r\n findParent,\r\n findChild\r\n};\r\n\r\nexport default QMSCKEditorTreeFunctions;\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport QMSCKEditorTree from '../common/models/qms-ckeditor-tree.model';\r\nimport { QMSCKEditorBaseService } from './qms-ckeditor-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorTreeService extends QMSCKEditorBaseService {\r\n public getDocumentList(): Observable<QMSCKEditorTree[]> {\r\n return this.get('ckeditorTree/GetDocumentList');\r\n }\r\n\r\n public getProcessList(): Observable<QMSCKEditorTree[]> {\r\n return this.get('ckeditorTree/GetProcessList');\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { forkJoin } from 'rxjs';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorDocumentType } from '../../common/enums/document-type.enum';\r\nimport QMSCKEditorTreeFunctions from '../../common/functions/tree.function';\r\nimport { QMSCKEditorRelation } from '../../common/models/qms-ckeditor-relation.model';\r\nimport { TreeNode } from '../../common/models/qms-ckeditor-tree-node.model';\r\nimport QMSCKEditorTree from '../../common/models/qms-ckeditor-tree.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTreeService } from '../../services/qms-ckeditor-tree.service';\r\n\r\nexport interface Related {\r\n id: number;\r\n name: string;\r\n type: number;\r\n}\r\n\r\nexport interface SelectedNode {\r\n id: string;\r\n type: number;\r\n}\r\n\r\nexport interface LinkUrl {\r\n id: string;\r\n url: string;\r\n title: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './qmsckeditor-related.component.html',\r\n styleUrls: ['./qmsckeditor-related.component.scss']\r\n})\r\nexport class QMSCKEditorRelatedComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n selectedNode: SelectedNode;\r\n linkUrl: LinkUrl;\r\n documentType: QMSCKEditorDocumentType;\r\n processData: QMSCKEditorTree[];\r\n documentData: QMSCKEditorTree[];\r\n filterData: QMSCKEditorTree[];\r\n treeDataFile: object;\r\n treeProcessFile: object;\r\n treeDocumentFile: object;\r\n treeProcessData: TreeNode[];\r\n treeDocumentData: TreeNode[];\r\n processNumber = -1;\r\n listParentProcessId = {};\r\n listParentDocumentId = {};\r\n\r\n myControl = new FormControl();\r\n filteredOptions = [];\r\n isInputValue = false;\r\n isOnlyDocument = false;\r\n isEnableFolder = false;\r\n areaOfCurrentProcess: string;\r\n\r\n constructor(\r\n private treeService: QMSCKEditorTreeService,\r\n private translate: TranslateLibraryService,\r\n private dialogRef: MatDialogRef<QMSCKEditorRelatedComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorRelation\r\n ) {\r\n super();\r\n this.isOnlyDocument = data.isOnlyDocument;\r\n this.isEnableFolder = data.isEnableFolder;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.selectedNode = { id: '', type: 0 };\r\n this.getProcessAndDocumentData();\r\n this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {\r\n this.isInputValue = true;\r\n this.filteredOptions = this.onSearchRelated(val);\r\n });\r\n }\r\n\r\n getProcessAndDocumentData() {\r\n forkJoin([this.getProcessData(), this.getDocumentData()])\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe(([p, d]) => {\r\n this.mappingData(p, 2);\r\n this.mappingData(d, 1);\r\n\r\n // for process\r\n this.filterData = this.processData.filter((x) => {\r\n return x.parentId === '';\r\n });\r\n this.treeDataFile = QMSCKEditorTreeFunctions.buildObjectTree(this.filterData);\r\n this.treeProcessData = QMSCKEditorTreeFunctions.buildArrayTree(this.treeDataFile, 0);\r\n // for document\r\n this.filterData = this.documentData.filter((x) => {\r\n return x.parentId === '';\r\n });\r\n this.treeDataFile = QMSCKEditorTreeFunctions.buildObjectTree(this.filterData);\r\n this.treeDocumentData = QMSCKEditorTreeFunctions.buildArrayTree(this.treeDataFile, 0);\r\n });\r\n }\r\n\r\n getProcessData() {\r\n return this.treeService.getProcessList().pipe(takeUntil(this.ngUnsubcribe));\r\n }\r\n\r\n getDocumentData() {\r\n return this.treeService.getDocumentList().pipe(takeUntil(this.ngUnsubcribe));\r\n }\r\n\r\n mappingData(array: QMSCKEditorTree[], dataType: number) {\r\n if (array) {\r\n if (dataType === 1) {\r\n this.documentData = array.map((item) => {\r\n if (!!item.parentId && item.parentId.length > 0) {\r\n this.listParentDocumentId[item.parentId] = 1;\r\n }\r\n if (!!item.childId && item.childId.length > 0) {\r\n this.listParentDocumentId[item.rootId] = 1;\r\n }\r\n return {\r\n rootId: item.rootId,\r\n parentId: item.parentId,\r\n rootName: item.rootName,\r\n subName: item.subName,\r\n childId: item.childId,\r\n childName: item.childName,\r\n statusId: item.statusId,\r\n displayId: item.displayId\r\n };\r\n });\r\n } else if (dataType === 2) {\r\n this.processData = array.filter((item) => {\r\n if (!!item.parentId && item.parentId.length > 0) {\r\n this.listParentProcessId[item.parentId] = 1;\r\n }\r\n if (item.childId && item.childId.length > 0) {\r\n this.listParentProcessId[item.rootId] = 1;\r\n }\r\n if (Number(item.displayId) === this.processNumber) {\r\n item.childId = '';\r\n item.childName = '';\r\n this.areaOfCurrentProcess = item.rootId;\r\n }\r\n return {\r\n rootId: item.rootId,\r\n parentId: item.parentId,\r\n rootName: item.rootName,\r\n subName: item.subName,\r\n childId: item.childId,\r\n childName: item.childName,\r\n statusId: item.statusId,\r\n displayId: item.displayId\r\n };\r\n });\r\n }\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onAddDocumentProcess() {\r\n let data: QMSCKEditorTree;\r\n this.linkUrl = { id: '', url: '', title: '' };\r\n switch (this.selectedNode.type) {\r\n case QMSCKEditorDocumentType.document:\r\n data = this.documentData.find((e) => {\r\n return e.childId === this.selectedNode.id;\r\n });\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/document/${data.childId}`;\r\n this.linkUrl.title = data.childName;\r\n }\r\n break;\r\n case QMSCKEditorDocumentType.process:\r\n data = this.processData.find((e) => {\r\n return e.childId === this.selectedNode.id;\r\n });\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/process-detail/${data.displayId}`;\r\n this.linkUrl.title = data.childName;\r\n }\r\n break;\r\n case QMSCKEditorDocumentType.area:\r\n data = this.processData.find((e) => {\r\n return e.rootId === this.selectedNode.id;\r\n });\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/area/detail/${data.rootId}`;\r\n this.linkUrl.title = data.rootName;\r\n }\r\n break;\r\n case QMSCKEditorDocumentType.folder:\r\n data = this.documentData.find((e) => {\r\n return e.rootId === this.selectedNode.id;\r\n });\r\n\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/folder/${data.rootId}`;\r\n this.linkUrl.title = data.rootName;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n this.dialogRef.close(this.linkUrl);\r\n }\r\n\r\n selectAreaNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.area;\r\n }\r\n\r\n selectProcessNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.process;\r\n }\r\n\r\n selectDocumentNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.document;\r\n }\r\n\r\n selectHandbookNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.folder;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n isMatchTrue(arr: any[], arr2: any[]) {\r\n return arr.every((i) => {\r\n return arr2.includes(i);\r\n });\r\n }\r\n\r\n onSearchRelated(_val: string) {\r\n const arr: Related[] = [];\r\n let data = [];\r\n if (typeof _val !== 'string') {\r\n return arr;\r\n }\r\n const val = _val\r\n .trim()\r\n .split(' ')\r\n .map((v) => {\r\n return v.toLowerCase();\r\n });\r\n if (!val || val.length === 0) {\r\n return arr;\r\n }\r\n\r\n if (!this.isOnlyDocument) {\r\n data = this.processData.filter((item) => {\r\n const tempArr = item.childName.split(' ').map((v) => {\r\n return v.toLowerCase();\r\n });\r\n return this.isMatchTrue(val, tempArr);\r\n });\r\n\r\n if (data) {\r\n data.forEach((element) => {\r\n arr.push({\r\n id: element.childId,\r\n name: element.childName,\r\n type: 2\r\n });\r\n });\r\n }\r\n }\r\n\r\n data = this.documentData.filter((item) => {\r\n const tempArr = item.childName.split(' ').map((v) => {\r\n return v.toLowerCase();\r\n });\r\n return this.isMatchTrue(val, tempArr);\r\n });\r\n\r\n if (data) {\r\n data.forEach((element) => {\r\n arr.push({\r\n id: element.childId,\r\n name: element.childName,\r\n type: 1\r\n });\r\n });\r\n }\r\n this.setResultHeight(arr);\r\n return arr;\r\n }\r\n\r\n displayRelated(related?: Related): string | undefined {\r\n return related ? related.name : undefined;\r\n }\r\n\r\n selectRelated(id: string, type: number) {\r\n this.selectedNode = { id, type };\r\n this.onAddDocumentProcess();\r\n }\r\n\r\n setResultHeight(arr?: Related[]) {\r\n const viewreports = document.getElementsByClassName('related-viewport');\r\n if (viewreports) {\r\n let iHeight = 0;\r\n const view = viewreports[0] as HTMLElement;\r\n if (arr.length * 5 > 50) {\r\n iHeight = 51;\r\n } else {\r\n iHeight = arr.length * 5 + 1;\r\n if (iHeight > 0) {\r\n // window[ProcessRelatedConst.IS_DISPLAY_SEARCH_RESULT] = true;\r\n }\r\n }\r\n view.style.height = `${iHeight}vh`;\r\n view.style.display = 'block';\r\n }\r\n }\r\n\r\n hideSearchResult() {\r\n if (this.filteredOptions && this.filteredOptions.length > 0) {\r\n const viewreports = document.getElementsByClassName('related-viewport');\r\n if (viewreports && viewreports.length) {\r\n const view = viewreports[0] as HTMLElement;\r\n view.style.display = 'none';\r\n // window[ProcessRelatedConst.IS_DISPLAY_SEARCH_RESULT] = false;\r\n }\r\n }\r\n }\r\n\r\n showSearchResult() {\r\n if (this.filteredOptions && this.filteredOptions.length) {\r\n const viewreports = document.getElementsByClassName('related-viewport');\r\n if (viewreports && viewreports.length) {\r\n const view = viewreports[0] as HTMLElement;\r\n if (view.style.display === 'none') {\r\n view.style.display = 'block';\r\n // window[ProcessRelatedConst.IS_DISPLAY_SEARCH_RESULT] = true;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { AfterViewChecked, ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { LinkAnchor } from '../../common/enums/link-anchor.enum';\r\nimport { LinkType } from '../../common/enums/link-type.enum';\r\nimport { ProtocolType } from '../../common/enums/protocol-type.enum';\r\nimport { TargetType } from '../../common/enums/target-type.enum';\r\nimport { QMSCKEditorLinkAnchorDocument } from '../../common/models/qms-ckeditor-link-anchor-document.model';\r\nimport QMSCKEditorParamter from '../../common/models/qms-ckeditor-parameter.model';\r\nimport { QMSCKEditorRelation } from '../../common/models/qms-ckeditor-relation.model';\r\nimport QMSCKEditorLink from '../../common/models/qms-ckeditor-url.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorLinkService } from '../../services/qms-ckeditor-link.service';\r\nimport { QMSCKEditorRelatedComponent } from '../qms-ckeditor-relation/qmsckeditor-related.component';\r\nimport { LinkAttachmentComponent } from './attachments/link-attachment.component';\r\n\r\ninterface ILinkType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface ITarget {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface IProtocol {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface IAnchor {\r\n value: number;\r\n viewValue: string;\r\n anchorValue: string;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-ckeditor-link',\r\n templateUrl: './qms-ckeditor-link.component.html',\r\n styleUrls: ['./qms-ckeditor-link.component.scss']\r\n})\r\nexport class QMSCKEditorLinkComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {\r\n LANG: any;\r\n linkFormGroup: FormGroup = new FormGroup({\r\n targetList: new FormControl(),\r\n protocolList: new FormControl(),\r\n url: new FormControl('', [Validators.required]),\r\n advisoryTitle: new FormControl()\r\n });\r\n anchorTextFormGroup: FormGroup = new FormGroup({\r\n anchorText: new FormControl('', [Validators.required])\r\n });\r\n emailFormGroup: FormGroup = new FormGroup({\r\n emailAddress: new FormControl('', [Validators.required]),\r\n emailSubject: new FormControl('', [Validators.required]),\r\n emailBody: new FormControl('', [Validators.required])\r\n });\r\n anchorDocFormGroup: FormGroup = new FormGroup({\r\n anchorTitle: new FormControl('', [Validators.required]),\r\n anchorByName: new FormControl('', [Validators.required])\r\n });\r\n isExpanded = true;\r\n linkTypes: ILinkType[] = [];\r\n targets: ITarget[] = [];\r\n protocols: IProtocol[] = [];\r\n anchorDocuments: QMSCKEditorLinkAnchorDocument[] = [];\r\n anchors: IAnchor[];\r\n editorAnchors: IAnchor[];\r\n documentAnchors: IAnchor[];\r\n editorContent = '';\r\n selectedLink = 0;\r\n selectedTarget = 0;\r\n selectedProtocol = 0;\r\n url = '';\r\n advisoryTitle = '';\r\n edit = false;\r\n anchorText = '';\r\n emailAddress = '';\r\n emailSubject = '';\r\n emailBody = '';\r\n documentId = 0;\r\n anchorTitle = '';\r\n anchorByName = '';\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private linkService: QMSCKEditorLinkService,\r\n public dialogRef: MatDialogRef<QMSCKEditorLinkComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorLink\r\n ) {\r\n super();\r\n this.selectedLink = data.typeId;\r\n this.selectedTarget = data.targetId;\r\n this.selectedProtocol = data.protocolId;\r\n this.url = data.url;\r\n this.advisoryTitle = data.title;\r\n this.edit = data.edit;\r\n this.editorContent = data.editorContent;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.initLinkType();\r\n this.initTarget();\r\n this.initProtocol();\r\n this.initAnchor();\r\n if (this.data.edit) {\r\n this.parseLinkUrl(this.selectedLink, this.url);\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n initLinkType() {\r\n if (this.linkTypes) {\r\n this.linkTypes.push({ id: LinkType.url, name: this.LANG.QMSCKEDITOR.LINK_URL });\r\n this.linkTypes.push({\r\n id: LinkType.anchorText,\r\n name: this.LANG.QMSCKEDITOR.LINK_ANCHOR_IN_TEXT\r\n });\r\n this.linkTypes.push({ id: LinkType.email, name: this.LANG.QMSCKEDITOR.LINK_EMAIL });\r\n this.linkTypes.push({\r\n id: LinkType.anchorDocument,\r\n name: this.LANG.QMSCKEDITOR.LINK_ANCHOR_DOCUMENT\r\n });\r\n }\r\n }\r\n\r\n initTarget() {\r\n if (this.targets) {\r\n this.targets.push({ id: TargetType.new, name: this.LANG.QMSCKEDITOR.TARTGET_NEW });\r\n this.targets.push({ id: TargetType.topmost, name: this.LANG.QMSCKEDITOR.TARGET_TOPMOST });\r\n this.targets.push({ id: TargetType.same, name: this.LANG.QMSCKEDITOR.TARGET_SAME });\r\n this.targets.push({ id: TargetType.parent, name: this.LANG.QMSCKEDITOR.TARGET_PARENT });\r\n }\r\n }\r\n\r\n initProtocol() {\r\n if (this.protocols) {\r\n this.protocols.push({ id: ProtocolType.http, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTP });\r\n this.protocols.push({ id: ProtocolType.https, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTPS });\r\n this.protocols.push({ id: ProtocolType.ftp, name: this.LANG.QMSCKEDITOR.PROTOCOL_FTP });\r\n this.protocols.push({ id: ProtocolType.news, name: this.LANG.QMSCKEDITOR.PROTOCOL_NEW });\r\n this.protocols.push({ id: ProtocolType.other, name: this.LANG.QMSCKEDITOR.PROTOCOL_OTHER });\r\n }\r\n }\r\n\r\n initAnchor() {\r\n this.anchors = [];\r\n this.anchors = [{ value: 0, viewValue: '', anchorValue: LinkAnchor.Blank }];\r\n }\r\n\r\n parseLinkUrl(typeId: number, url: string) {\r\n if (typeId === LinkType.anchorText) {\r\n this.getEditorAnchor();\r\n this.anchorText = url.substr(1);\r\n } else if (typeId === LinkType.email) {\r\n const p1 = url.indexOf('mailto:');\r\n const p2 = url.indexOf('?subject=');\r\n const p3 = url.indexOf('&body=');\r\n this.emailAddress = url.substr(p1 + 7, p2 - 7);\r\n this.emailSubject = url.substr(p2 + 9, p3 - p2 - 9);\r\n this.emailBody = url.substr(p3 + 6, url.length - p3 - 6);\r\n } else if (typeId === LinkType.anchorDocument) {\r\n const flashIndex = url.lastIndexOf('/');\r\n const hashIndex = url.indexOf('#');\r\n const sId = url.substr(flashIndex + 1, hashIndex - 1 - flashIndex);\r\n const documentId = parseInt(sId, 10);\r\n this.getAnchorDocument(documentId);\r\n this.anchorByName = url.substr(hashIndex + 1, url.length - hashIndex);\r\n this.anchorTitle = this.data.title;\r\n }\r\n }\r\n\r\n onSelectedLinkType() {\r\n if (this.selectedLink === LinkType.anchorText) {\r\n this.getEditorAnchor();\r\n } else if (this.selectedLink === LinkType.anchorDocument) {\r\n if (!this.documentAnchors) {\r\n this.anchorDocuments = [];\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.documentAnchors = this.anchors;\r\n }\r\n }\r\n }\r\n\r\n eHandbook(isOnlyDocument: boolean, isAnchorDocument: boolean) {\r\n const data = new QMSCKEditorRelation();\r\n data.isOnlyDocument = isOnlyDocument;\r\n data.isEnableFolder = !isOnlyDocument;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorRelatedComponent, {\r\n width: '650px',\r\n height: '650px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n if (!isAnchorDocument) {\r\n this.url = result.url;\r\n if (!this.advisoryTitle) {\r\n this.advisoryTitle = result.title;\r\n }\r\n this.selectedProtocol = ProtocolType.other;\r\n } else {\r\n this.documentId = result.id;\r\n this.anchorTitle = `${result.title}(${result.id})`;\r\n this.getAnchorDocument(result.id);\r\n }\r\n }\r\n });\r\n }\r\n\r\n attachment() {\r\n const data = new QMSCKEditorParamter();\r\n data.module = this.data.module;\r\n data.entityId = this.data.entityId;\r\n const dialogTemplate = this.dialog.open(LinkAttachmentComponent, {\r\n width: '650px',\r\n height: '650px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.url = result.url;\r\n if (!this.advisoryTitle) {\r\n this.advisoryTitle = result.title;\r\n }\r\n this.selectedProtocol = ProtocolType.other;\r\n }\r\n });\r\n }\r\n\r\n getEditorAnchor() {\r\n this.anchorDocuments = [];\r\n if (this.editorContent) {\r\n this.anchorDocuments.push({\r\n id: 0,\r\n entityId: 0,\r\n documentId: 0,\r\n documentTypeId: 0,\r\n richText: this.editorContent\r\n });\r\n }\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.editorAnchors = this.anchors;\r\n }\r\n\r\n getAnchorDocument(documentId: number) {\r\n this.linkService\r\n .getAnchorDocumentList(documentId)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((res) => {\r\n if (res) {\r\n this.anchorDocuments = res;\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.documentAnchors = this.anchors;\r\n } else {\r\n this.anchorDocuments = [];\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.documentAnchors = this.anchors;\r\n }\r\n });\r\n }\r\n\r\n setAnchorDocument(anchorDocument: QMSCKEditorLinkAnchorDocument[]) {\r\n this.initAnchor();\r\n let id = 3;\r\n if (anchorDocument) {\r\n anchorDocument.forEach((e) => {\r\n const div = document.createElement('div');\r\n div.innerHTML = e.richText;\r\n const domContent = div;\r\n const aTags = domContent.getElementsByTagName('a');\r\n if (aTags) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < aTags.length; i++) {\r\n const tag = aTags[i];\r\n if (tag.name) {\r\n const index = this.anchors.findIndex((x) => {\r\n return x.anchorValue === tag.name;\r\n });\r\n if (index < 0) {\r\n this.anchors.push({\r\n value: id,\r\n viewValue: tag.name,\r\n anchorValue: tag.name\r\n });\r\n id += 1;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n this.anchors.push({\r\n value: 1,\r\n viewValue: this.LANG.QMSCKEDITOR.ANCHOR_ATTACHMENT,\r\n anchorValue: LinkAnchor.Attachment\r\n });\r\n this.anchors.push({\r\n value: 2,\r\n viewValue: this.LANG.QMSCKEDITOR.ANCHOR_RELATED_DOCUMENT,\r\n anchorValue: LinkAnchor.Related\r\n });\r\n }\r\n\r\n disableOkButton() {\r\n let isDisable = false;\r\n switch (this.selectedLink) {\r\n case LinkType.url:\r\n isDisable = this.linkFormGroup.invalid;\r\n break;\r\n case LinkType.anchorText:\r\n isDisable = this.anchorTextFormGroup.invalid;\r\n break;\r\n case LinkType.email:\r\n isDisable = this.emailFormGroup.invalid;\r\n break;\r\n case LinkType.anchorDocument:\r\n isDisable = this.anchorDocFormGroup.invalid;\r\n break;\r\n default:\r\n break;\r\n }\r\n return isDisable;\r\n }\r\n\r\n setLink() {\r\n const link = new QMSCKEditorLink();\r\n link.typeId = this.selectedLink;\r\n link.targetId = this.selectedTarget;\r\n link.protocolId = this.selectedProtocol;\r\n if (this.selectedLink === LinkType.url) {\r\n link.url = `${this.selectedLink}${this.selectedProtocol}${this.url}`;\r\n link.title = this.advisoryTitle;\r\n } else if (this.selectedLink === LinkType.anchorText) {\r\n link.url = `${this.selectedLink}${0}#${this.anchorText}`;\r\n link.title = `#${this.anchorText}`;\r\n link.targetId = TargetType.topmost;\r\n } else if (this.selectedLink === LinkType.email) {\r\n link.url = `${this.selectedLink}${0}mailto:${this.emailAddress}?subject=${this.emailSubject}&body=${this.emailBody\r\n }`;\r\n link.title = this.emailAddress;\r\n link.targetId = TargetType.topmost;\r\n } else if (this.selectedLink === LinkType.anchorDocument) {\r\n link.url = `${this.selectedLink}${0}/document/${this.documentId}#${this.anchorByName}`;\r\n link.title = this.anchorTitle;\r\n link.targetId = TargetType.topmost;\r\n }\r\n this.dialogRef.close(link);\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Injectable, Injector } from '@angular/core';\r\n\r\n// @dynamic\r\nexport class QMSCKEditorInjector {\r\n private static injector: Injector;\r\n\r\n static setInjector(injector: Injector) {\r\n QMSCKEditorInjector.injector = injector;\r\n }\r\n\r\n static getInjector(): Injector {\r\n return QMSCKEditorInjector.injector;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n static getService(type: any) {\r\n const injector = QMSCKEditorInjector.getInjector();\r\n const service = injector.get(type);\r\n return service;\r\n }\r\n}\r\n","import {\r\n MatSnackBar,\r\n MatSnackBarConfig,\r\n MatSnackBarHorizontalPosition,\r\n MatSnackBarVerticalPosition\r\n} from '@angular/material/snack-bar';\r\nimport { QMSCKEditorInjector } from '../../services/qms-ckeditor-injector.service';\r\n\r\nexport class QMSCKEditorToastService {\r\n static horizontalPosition: MatSnackBarHorizontalPosition = 'right';\r\n\r\n static verticalPosition: MatSnackBarVerticalPosition = 'top';\r\n\r\n static actionButtonLabel = 'Close';\r\n\r\n static action = true;\r\n\r\n static setAutoHide = true;\r\n\r\n static autoHide = 3000;\r\n\r\n static success(msg) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = this.setAutoHide ? this.autoHide : 0;\r\n config.panelClass = ['toast-success'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n\r\n static warning(msg, duration?: number) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = duration || (this.setAutoHide ? this.autoHide : 0);\r\n config.panelClass = ['toast-warning'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n\r\n static info(msg) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = this.setAutoHide ? this.autoHide : 0;\r\n config.panelClass = ['toast-infor'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n\r\n static error(msg) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = 0;\r\n config.panelClass = ['toast-error'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n}\r\n","export class QMSCKEditorTemplate {\r\n id: number;\r\n title: string;\r\n description: string;\r\n content: string;\r\n deleted: boolean;\r\n createdBy: number;\r\n edit: boolean;\r\n\r\n constructor() {\r\n this.id = 0;\r\n this.title = '';\r\n this.description = '';\r\n this.content = '';\r\n this.deleted = false;\r\n this.createdBy = 0;\r\n this.edit = false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { QMSCKEditorTemplate } from '../models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseService } from './qms-ckeditor-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorTemplateService extends QMSCKEditorBaseService {\r\n public deleteTemplate(id: number): Observable<boolean> {\r\n return this.delete('ckeditorTemplate/DeleteTemplate', { id });\r\n }\r\n public getTemplate(): Observable<QMSCKEditorTemplate[]> {\r\n return this.get('ckeditorTemplate/GetTemplateList');\r\n }\r\n\r\n public modifyTemplate(template: QMSCKEditorTemplate): Observable<boolean> {\r\n return this.post('ckeditorTemplate/ModifyTemplate', template);\r\n }\r\n}\r\n","import { AfterViewChecked, ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorDialogData } from '../../common/models/qms-ckeditor-dialog.model';\r\nimport { QMSCKEditorConfirmComponent } from '../../common/module/confirm/qms-ckeditor-confirm.component';\r\nimport { QMSCKEditorToastService } from '../../common/toast/qms-ckeditor-toast.service';\r\nimport { QMSCKEditorTemplate } from '../../models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTemplateService } from '../../services/qms-ckedtior-template.service';\r\n\r\ninterface ITemplate {\r\n id: number;\r\n title: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-qmsck-template',\r\n templateUrl: './qms-ckeditor-template.component.html',\r\n styleUrls: ['./qms-ckeditor-template.component.scss']\r\n})\r\nexport class QMSCKEditorTemplateComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {\r\n LANG: any;\r\n templateFormGroup: FormGroup = new FormGroup({\r\n templateList: new FormControl(),\r\n title: new FormControl('', [Validators.required]),\r\n description: new FormControl('', [Validators.required])\r\n });\r\n isExpanded = true;\r\n content: string;\r\n templateList: QMSCKEditorTemplate[] = [];\r\n templates: ITemplate[] = [];\r\n template = new QMSCKEditorTemplate();\r\n selectedId = 0;\r\n isEdit = false;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private templateService: QMSCKEditorTemplateService,\r\n public dialogRef: MatDialogRef<QMSCKEditorTemplateComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorTemplate\r\n ) {\r\n super();\r\n this.content = data.content;\r\n this.selectedId = data.id;\r\n this.isEdit = data.edit;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.getTemplate();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getTemplate() {\r\n this.templateService\r\n .getTemplate()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n this.templateList = response;\r\n this.templates = response.map((x) => {\r\n return {\r\n id: x.id,\r\n title: x.title\r\n };\r\n });\r\n this.addNoneTemplate(this.templates);\r\n } else {\r\n this.addNoneTemplate(this.templates);\r\n }\r\n\r\n if (this.isEdit && this.selectedId !== 0) {\r\n this.onSelectChange();\r\n }\r\n });\r\n }\r\n\r\n addNoneTemplate(template: ITemplate[]) {\r\n if (template && !this.isEdit) {\r\n template.unshift({\r\n id: 0,\r\n title: this.LANG.QMSCKEDITOR.CREATE_NEW_TEMPLATE\r\n });\r\n }\r\n }\r\n\r\n onSelectChange() {\r\n if (this.selectedId === 0) {\r\n this.template.id = this.selectedId;\r\n this.template.title = '';\r\n this.template.description = '';\r\n this.template.content = this.content;\r\n this.template.deleted = false;\r\n this.template.createdBy = 0;\r\n } else if (this.templateList.length > 0) {\r\n const index = this.templateList.findIndex((x) => {\r\n return x.id === this.selectedId;\r\n });\r\n this.template.id = this.templateList[index].id;\r\n this.template.title = this.templateList[index].title;\r\n this.template.description = this.templateList[index].description;\r\n this.template.content = this.templateList[index].content;\r\n this.template.deleted = this.templateList[index].deleted;\r\n this.template.createdBy = this.templateList[index].createdBy;\r\n }\r\n }\r\n\r\n deleteTemplate() {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = this.LANG.QMSCKEDITOR.DELETE_TEMPLATE;\r\n data.content = this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_DELETE_TEMPLATE;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.templateService\r\n .deleteTemplate(this.selectedId)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === this.selectedId;\r\n });\r\n if (index >= 0) {\r\n this.templates.splice(index, 1);\r\n }\r\n this.selectedId = 0;\r\n this.onSelectChange();\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.DELETED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.DELETE_FAILED);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n saveTemplate() {\r\n if (this.selectedId === 0) {\r\n this.template.content = this.content;\r\n }\r\n this.templateService\r\n .modifyTemplate(this.template)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === this.selectedId;\r\n });\r\n if (index >= 0 && this.selectedId !== 0) {\r\n this.templates[index].title = this.template.title;\r\n }\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);\r\n }\r\n });\r\n }\r\n\r\n cancelTemplate() {\r\n this.dialogRef.close();\r\n }\r\n\r\n updateTemplate() {\r\n this.templateService\r\n .modifyTemplate(this.template)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n if (this.isEdit) {\r\n this.dialogRef.close(this.template);\r\n } else {\r\n let index = this.templates.findIndex((x) => {\r\n return x.id === this.template.id;\r\n });\r\n if (index >= 0) {\r\n this.templates[index].title = this.template.title;\r\n }\r\n index = this.templateList.findIndex((x) => {\r\n return x.id === this.template.id;\r\n });\r\n if (index >= 0) {\r\n this.templateList[index].description = this.template.description;\r\n }\r\n }\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorDialogData } from '../../common/models/qms-ckeditor-dialog.model';\r\nimport { QMSCKEditorConfirmComponent } from '../../common/module/confirm/qms-ckeditor-confirm.component';\r\nimport { QMSCKEditorToastService } from '../../common/toast/qms-ckeditor-toast.service';\r\nimport { QMSCKEditorTemplate } from '../../models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTemplateService } from '../../services/qms-ckedtior-template.service';\r\nimport { QMSCKEditorTemplateComponent } from '../qms-ckeditor-template/qms-ckeditor-template.component';\r\n\r\n@Component({\r\n selector: 'app-qmsck-load-template',\r\n templateUrl: './qms-ckeditor-load-template.component.html',\r\n styleUrls: ['./qms-ckeditor-load-template.component.scss']\r\n})\r\nexport class QMSCKEditorLoadTemplateComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n templates: QMSCKEditorTemplate[] = [];\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private templateService: QMSCKEditorTemplateService,\r\n public dialogRef: MatDialogRef<QMSCKEditorLoadTemplateComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: string\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.getTemplate();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getTemplate() {\r\n this.templateService\r\n .getTemplate()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n this.templates = response;\r\n }\r\n });\r\n }\r\n\r\n onSelectTemplate(id: number) {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = this.LANG.QMSCKEDITOR.CHANGE_TEMPLATE;\r\n data.content = this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_CHANGE_TEMPLATE;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n const content = this.templates[index].content;\r\n this.dialogRef.close(content);\r\n }\r\n });\r\n }\r\n\r\n onEditTemplate(id: number) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n const data: QMSCKEditorTemplate = new QMSCKEditorTemplate();\r\n data.id = this.templates[index].id;\r\n data.content = this.templates[index].content;\r\n data.edit = true;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorTemplateComponent, {\r\n width: '650px',\r\n height: '500px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.templates[index].title = result.title;\r\n this.templates[index].description = result.description;\r\n }\r\n });\r\n }\r\n\r\n onDeleteTemplate(id: number) {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = this.LANG.QMSCKEDITOR.DELETE_TEMPLATE;\r\n data.content = this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_DELETE_TEMPLATE;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.templateService\r\n .deleteTemplate(id)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n if (index >= 0) {\r\n this.templates.splice(index, 1);\r\n }\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.DELETED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.DELETE_FAILED);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { QMSCKEditorToastService } from '../toast/qms-ckeditor-toast.service';\r\nexport class UploadAdapter {\r\n loader: any;\r\n constructor(loader) {\r\n this.loader = loader;\r\n }\r\n\r\n upload() {\r\n return this.loader.file\r\n .then((file) => {\r\n return new Promise((resolve, reject) => {\r\n const myReader = new FileReader();\r\n myReader.onloadend = () => {\r\n resolve({ default: myReader.result });\r\n };\r\n // if (file.size > 512000) {\r\n // const msg = `${file.name} is more than 500kb. Sorry, it has to be less than or equal to 500kb`;\r\n // QMSCKEditorToastService.error(msg);\r\n // reject();\r\n // }\r\n myReader.readAsDataURL(file);\r\n });\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n }\r\n}\r\n","export class CKEditorEventConst {\r\n public static QMSCK_FULLSCREEN_PLUGIN_MSG = 'QMSCK_FULLSCREEN_PLUGIN_MSG';\r\n public static QMSCK_TEMPLATE_PLUGIN_MSG = 'QMSCK_TEMPLATE_PLUGIN_MSG';\r\n public static QMSCK_LOAD_TEMPLATE_PLUGIN_MSG = 'QMSCK_LOAD_TEMPLATE_PLUGIN_MSG';\r\n public static QMSCK_LOAD_TEMPLATE_PLUGIN_RESP = 'QMSCK_LOAD_TEMPLATE_PLUGIN_RESP';\r\n public static QMSCK_LINK_PLUGIN_MSG = 'QMSCK_LINK_PLUGIN_MSG';\r\n public static QMSCK_LINK_PLUGIN_RESP = 'QMSCK_LINK_PLUGIN_RESP';\r\n public static QMSCK_TOOLTIP_PLUGIN_MSG = 'QMSCK_TOOLTIP_PLUGIN_MSG';\r\n public static QMSCK_TOOLTIP_PLUGIN_RESP = 'QMSCK_TOOLTIP_PLUGIN_RESP';\r\n public static QMSCK_IMAGEMAP_PLUGIN_MSG = 'QMSCK_IMAGEMAP_PLUGIN_MSG';\r\n public static QMSCK_IMAGEMAP_PLUGIN_RESP = 'QMSCK_IMAGEMAP_PLUGIN_RESP';\r\n public static QMSCK_BPMN_PLUGIN_MSG = 'QMSCK_BPMN_PLUGIN_MSG';\r\n public static QMSCK_BPMN_PLUGIN_RESP = 'QMSCK_BPMN_PLUGIN_RESP';\r\n public static QMSCK_BPMN = 'bpmn';\r\n}\r\n","var IFRAME_SRC = '//cdn.iframe.ly/api/iframe';\r\nvar API_KEY = 'b499e92e857f435c39c14d';\r\n\r\nfunction getCKEditorConfiguration(itemToolbar: string) {\r\n const ckeditorConfig = {\r\n toolbar: {\r\n items: [\r\n ],\r\n viewportTopOffset: 30,\r\n shouldNotGroupWhenFull: true\r\n },\r\n language: 'en',\r\n table: {\r\n contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells']\r\n },\r\n image: {\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n toolbar: [\r\n 'imageResize:25',\r\n 'imageResize:50',\r\n 'imageResize:75',\r\n 'imageResize:original',\r\n 'imageStyle:alignLeft',\r\n 'imageStyle:alignCenter',\r\n 'imageStyle:alignRight',\r\n '|',\r\n 'imageTextAlternative',\r\n '|',\r\n 'linkImage',\r\n '|',\r\n 'imageMap',\r\n '|',\r\n 'qmsBpmn'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'imageResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'imageResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'imageResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'imageResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'medium'\r\n }\r\n ]\r\n },\r\n video: {\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n resizeUnit: '%',\r\n toolbar: [\r\n 'videoResize',\r\n '|',\r\n 'videoResize:25',\r\n 'videoResize:50',\r\n 'videoResize:75',\r\n 'videoResize:original',\r\n 'videoStyle:alignLeft',\r\n 'videoStyle:alignCenter',\r\n 'videoStyle:alignRight'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'videoResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'videoResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'videoResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'videoResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'large'\r\n }\r\n ]\r\n },\r\n media: {\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n resizeUnit: '%',\r\n toolbar: [\r\n 'mediaResize',\r\n '|',\r\n 'mediaResize:25',\r\n 'mediaResize:50',\r\n 'mediaResize:75',\r\n 'mediaResize:original',\r\n 'mediaStyle:alignLeft',\r\n 'mediaStyle:alignCenter',\r\n 'mediaStyle:alignRight'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'mediaResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'mediaResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'mediaResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'mediaResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'large'\r\n }\r\n ]\r\n },\r\n // Configure 'mediaEmbed' with Iframely previews.\r\n mediaEmbed: {\r\n // Previews are always enabled if there’s a provider for a URL (below regex catches all URLs)\r\n // By default `previewsInData` are disabled, but let’s set it to `false` explicitely to be sure\r\n previewsInData: true,\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n resizeUnit: '%',\r\n toolbar: [\r\n 'mediaResize',\r\n '|',\r\n 'mediaResize:25',\r\n 'mediaResize:50',\r\n 'mediaResize:75',\r\n 'mediaResize:original',\r\n 'mediaStyle:alignLeft',\r\n 'mediaStyle:alignCenter',\r\n 'mediaStyle:alignRight'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'mediaResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'mediaResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'mediaResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'mediaResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'large'\r\n }\r\n ],\r\n // providers: [\r\n // {\r\n // // hint: this is just for previews. Get actual HTML codes by making API calls from your CMS\r\n // name: 'iframely previews',\r\n // // Match all URLs or just the ones you need:\r\n // url: /.+/,\r\n\r\n // html: match => {\r\n // const url = match[0];\r\n\r\n // var iframeUrl = IFRAME_SRC + '?app=1&api_key=' + API_KEY + '&url=' + encodeURIComponent(url);\r\n // // alternatively, use &key= instead of &api_key with the MD5 hash of your api_key\r\n // // more about it: https://iframely.com/docs/allow-origins\r\n\r\n // return (\r\n // // If you need, set maxwidth and other styles for 'iframely-embed' class - it's yours to customize\r\n // '<div class=\"iframely-embed\">' +\r\n // '<div class=\"iframely-responsive\">' +\r\n // `<iframe src=\"${iframeUrl}\" ` +\r\n // 'frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen>' +\r\n // '</iframe>' +\r\n // '</div>' +\r\n // '</div>'\r\n // );\r\n // }\r\n // }\r\n // ]\r\n },\r\n link: {\r\n addTargetToExternalLinks: false,\r\n decorators: [\r\n {\r\n mode: 'manual',\r\n label: 'New window',\r\n attributes: {\r\n target: '_blank',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n mode: 'manual',\r\n label: 'Topmost window',\r\n attributes: {\r\n target: '_top',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n mode: 'manual',\r\n label: 'Same window',\r\n attributes: {\r\n target: '_self',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n mode: 'manual',\r\n label: 'Parent window',\r\n attributes: {\r\n target: '_parent',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n // alway put this one a the bottom\r\n mode: 'manual',\r\n label: 'Select range',\r\n attributes: {\r\n selectedRange: true\r\n }\r\n }\r\n ]\r\n }\r\n };\r\n\r\n if (itemToolbar) {\r\n const itemArray = itemToolbar.split(',');\r\n itemArray.forEach(i => {\r\n ckeditorConfig.toolbar.items.push(i);\r\n });\r\n }\r\n\r\n return ckeditorConfig;\r\n}\r\n\r\nconst CKEditorCommonFunctions = {\r\n getCKEditorConfiguration\r\n};\r\nexport default CKEditorCommonFunctions;\r\n","export class FlowChartConst {\r\n public static EXIST_DATA = 'IS_LINKED_DATA';\r\n\r\n public static CHANGING_TEMPLATE = 'CHANGING_TEMPLATE';\r\n\r\n public static SELECTED_JSON_CONTENT = 'SELECTED_JSON_CONTENT';\r\n\r\n public static IS_SELECTED_TEMPLATE = 'IS_SELECTED_TEMPLATE';\r\n\r\n public static PROCESS_FLOWCHART_ID = 'PROCESS_FLOWCHART_ID';\r\n\r\n public static SELECTED_FLOWCHART_ID = 'SELECTED_FLOWCHART_ID';\r\n\r\n public static SELECTED_SHAPE_ID = 'shapeId';\r\n\r\n public static SELECT_TEMPLATE = 'Select Template';\r\n\r\n public static GRAPH = 'graph';\r\n\r\n public static PAPER = 'paper';\r\n\r\n public static PAPER_SCROLLER = 'paperScroller';\r\n\r\n public static MUST_SELECT_TEMPLATE = 'MUST_SELECT_TEMPLATE';\r\n\r\n public static NEXT_CHANGING_TEMPLATE = 'NEXT_CHANGING_TEMPLATE';\r\n\r\n public static IS_NOT_SHOW_AGAIN = 'IS_NOT_SHOW_AGAIN';\r\n\r\n public static BLANK_FLOWCHART = '{\"type\":\"bpmn\",\"cells\":[]}';\r\n\r\n public static SHAPE_FLOWCHART = 'shapeFlowChart';\r\n\r\n public static PROCESS_SHAPE_FLOWCHART = 'processShapeFlowChart';\r\n\r\n public static SHAPE_FLOWCHART_LOADING = 'SHAPE_FLOWCHART_LOADING';\r\n\r\n public static IS_SHOW_CONNECTYPE = 'isShowConnectType';\r\n\r\n public static SHAPE_TYPE = 'shapeType';\r\n\r\n public static EDIT_MODE = 'EDIT_MODE';\r\n\r\n public static PROCESS_SHAPE_DETAIL_MODEL = 'PROCESS_SHAPE_DETAIL_MODEL';\r\n\r\n public static SHAPE_DETAIL_MODEL = 'SHAPE_DETAIL_MODEL';\r\n\r\n public static TAB_NAME = 'TAB_NAME';\r\n public static TAB_BPMN_CHOREOGRAPHY = 'TAB_BPMN_CHOREOGRAPHY';\r\n public static TAB_CONNECTION = 'TAB_CONNECTION';\r\n public static DIAGRAM_LOADED = 'DIAGRAM_LOADED';\r\n public static NOT_ALLOW_CREATE_DELETE_FLOW_TEMPLATE = 'NOT_ALLOW_CREATE_DELETE_FLOW_TEMPLATE';\r\n\r\n /*CKEdior */\r\n public static SAVE_AS_TEMPLATE = 'SAVE_AS_TEMPLATE';\r\n public static DELETE_TEMPLATE = 'DELETE_TEMPLATE';\r\n public static RESET_TEMPLATE = 'RESET_TEMPLATE';\r\n public static ORG_JSONCONTENT = 'ORG_JSONCONTENT';\r\n}\r\n","function create() {\r\n function s4() {\r\n return Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n }\r\n return `${s4() + s4()}-${s4()}-${s4()}-${s4()}-${s4()}${s4()}${s4()}`;\r\n}\r\n\r\nconst guidHelper = {\r\n create,\r\n empty: '00000000-0000-0000-0000-000000000000'\r\n};\r\nexport default guidHelper;\r\n","\r\nexport class QMSCKEditorBpmn {\r\n id: string;\r\n jsonContent: string;\r\n isTemplate: boolean;\r\n templateName: string;\r\n\r\n constructor() {\r\n this.id = '';\r\n this.jsonContent = '';\r\n this.isTemplate = false;\r\n this.templateName = '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { QMSCKEditorBpmnTemplate } from '../common/models/qms-ckeditor-bpmn-template.model';\r\nimport { QMSCKEditorBpmn } from '../common/models/qms-ckeditor-bpmn.model';\r\nimport { QMSCKEditorBaseService } from './qms-ckeditor-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorBpmnApiService extends QMSCKEditorBaseService {\r\n public bpmnModifying(bpmn: QMSCKEditorBpmn): Observable<string> {\r\n return this.post('ckeditorBpmn/BpmnModifying', bpmn);\r\n }\r\n\r\n public getBpmnById(id: string): Observable<QMSCKEditorBpmn> {\r\n return this.get('ckeditorBpmn/GetBpmnById', { id });\r\n }\r\n\r\n public bpmnGetTemplates(): Observable<QMSCKEditorBpmnTemplate[]> {\r\n return this.get('ckeditorBpmn/BpmnGetTemplates');\r\n }\r\n\r\n public bpmnDeleteTemplate(id: string): Observable<boolean> {\r\n return this.delete('ckeditorBpmn/BpmnDeleteTemplate', { id });\r\n }\r\n}\r\n","\r\nfunction getOptions(icons) {\r\n // eslint-disable-next-line func-names\r\n return Object.keys(icons).map(function (icon) {\r\n return { value: icon, content: icon };\r\n });\r\n}\r\n\r\nconst labelInputs = {\r\n '0/attrs/label/text': {\r\n type: 'text',\r\n label: 'Label',\r\n group: 'general'\r\n }\r\n};\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getInspectorConfiguration(bpmn2: any, LANG: any) {\r\n return {\r\n 'bpmn2.Gateway': {\r\n attrs: {\r\n 'icon/iconType': {\r\n type: 'select',\r\n options: getOptions(bpmn2.Gateway.GATEWAY_ICONS),\r\n label: `${LANG.BPMN.TYPE}`,\r\n group: 'general',\r\n index: 2\r\n },\r\n 'label/text': {\r\n type: 'textarea',\r\n label: `${LANG.BPMN.NAME}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n 'text/style/text-inside': {\r\n type: 'toggle',\r\n label: `${LANG.BPMN.TEXT_INSIDE_SHAPE}`,\r\n group: 'general',\r\n index: 3\r\n },\r\n 'text/style/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'start', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'end', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 4,\r\n defaultValue: 'middle'\r\n },\r\n 'text/style/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 'Calibri'\r\n },\r\n 'text/style/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 6,\r\n defaultValue: 12\r\n },\r\n 'label/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: 'appearance',\r\n index: 0\r\n },\r\n 'labelBackground/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_BACKGROUND_COLOR}`,\r\n group: 'appearance',\r\n index: 1\r\n },\r\n 'body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: 'appearance',\r\n index: 2\r\n },\r\n 'body/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LINE_COLOR}`,\r\n group: 'appearance',\r\n index: 3\r\n },\r\n 'icon/iconColor': {\r\n type: 'color',\r\n label: 'Icon Color',\r\n group: 'appearance',\r\n index: 4\r\n }\r\n }\r\n },\r\n\r\n 'bpmn2.Activity': {\r\n attrs: {\r\n 'border/borderType': {\r\n type: 'select',\r\n options: [\r\n {\r\n value: 'single',\r\n content: 'Task'\r\n },\r\n {\r\n value: 'double',\r\n content: 'Transaction'\r\n },\r\n {\r\n value: 'thick',\r\n content: 'Call Activity'\r\n }\r\n ],\r\n group: 'general',\r\n label: `${LANG.BPMN.TYPE}`,\r\n index: 2\r\n },\r\n 'border/borderStyle': {\r\n type: 'select',\r\n options: [\r\n {\r\n value: 'solid',\r\n content: 'No'\r\n },\r\n {\r\n value: 'dotted',\r\n content: 'Yes'\r\n }\r\n ],\r\n group: 'general',\r\n label: 'Sub-Process',\r\n index: 3\r\n },\r\n 'icon/iconType': {\r\n type: 'select',\r\n options: getOptions(bpmn2.Activity.ACTIVITY_TYPE_ICONS),\r\n label: 'Icon',\r\n group: 'general',\r\n index: 4\r\n },\r\n 'markers/iconTypes': {\r\n type: 'select',\r\n multiple: true,\r\n overwrite: true,\r\n options: getOptions(bpmn2.Activity.ACTIVITY_MARKER_ICONS),\r\n label: 'Markers',\r\n group: 'general',\r\n index: 9\r\n },\r\n 'label/text': {\r\n type: 'textarea',\r\n label: 'Content',\r\n group: 'general',\r\n index: 1\r\n },\r\n 'text/style/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'start', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'end', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 'middle'\r\n },\r\n 'text/style/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 6,\r\n defaultValue: 'Calibri'\r\n },\r\n 'text/style/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 7,\r\n defaultValue: 12\r\n },\r\n 'label/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: 'appearance',\r\n index: 0\r\n },\r\n 'background/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: 'appearance',\r\n index: 1\r\n },\r\n 'border/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LINE_COLOR}`,\r\n group: 'appearance',\r\n index: 2\r\n },\r\n 'icon/iconColor': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TYPE_COLOR}`,\r\n group: 'appearance',\r\n index: 3\r\n },\r\n 'markers/iconColor': {\r\n type: 'color',\r\n label: `${LANG.BPMN.MARKER_COLOR}`,\r\n group: 'appearance',\r\n index: 4\r\n }\r\n }\r\n },\r\n\r\n 'bpmn2.Event': {\r\n attrs: {\r\n 'text/style/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 7,\r\n defaultValue: 12\r\n },\r\n 'text/style/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 6,\r\n defaultValue: 'Calibri'\r\n },\r\n 'text/style/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'start', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'end', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 'middle'\r\n },\r\n 'text/style/text-inside': {\r\n type: 'toggle',\r\n label: `${LANG.BPMN.TEXT_INSIDE_SHAPE}`,\r\n group: 'general',\r\n index: 4\r\n },\r\n 'icon/iconType': {\r\n type: 'select',\r\n options: getOptions(bpmn2.Event.EVENT_ICONS),\r\n label: 'Icon',\r\n group: 'general',\r\n index: 3\r\n },\r\n 'border/borderType': {\r\n type: 'select',\r\n options: [\r\n {\r\n value: 'single',\r\n content: 'Start'\r\n },\r\n {\r\n value: 'double',\r\n content: 'Intermediate'\r\n },\r\n {\r\n value: 'thick',\r\n content: 'End'\r\n }\r\n ],\r\n group: 'general',\r\n label: `${LANG.BPMN.TYPE}`,\r\n index: 2\r\n },\r\n 'border/borderStyle': {\r\n type: 'select',\r\n options: [\r\n {\r\n value: 'solid',\r\n content: 'Yes'\r\n },\r\n {\r\n value: 'dashed',\r\n content: 'No'\r\n }\r\n ],\r\n group: 'general',\r\n label: 'Interrupting',\r\n index: 2\r\n },\r\n 'label/text': {\r\n type: 'textarea',\r\n label: `${LANG.BPMN.NAME}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n 'label/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: 'appearance',\r\n index: 0\r\n },\r\n 'labelBackground/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_BACKGROUND_COLOR}`,\r\n group: 'appearance',\r\n index: 1\r\n },\r\n 'background/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: 'appearance',\r\n index: 2\r\n },\r\n 'border/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LINE_COLOR}`,\r\n group: 'appearance',\r\n index: 3\r\n },\r\n 'icon/iconColor': {\r\n type: 'color',\r\n label: 'Icon Color',\r\n group: 'appearance',\r\n index: 4\r\n }\r\n }\r\n },\r\n\r\n 'bpmn2.Annotation': {\r\n attrs: {\r\n 'label/text': {\r\n type: 'textarea',\r\n label: 'Content',\r\n group: 'general',\r\n index: 1\r\n },\r\n 'label/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'start', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'end', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 2,\r\n defaultValue: 'start'\r\n },\r\n 'label/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 3,\r\n defaultValue: 'Calibri'\r\n },\r\n 'label/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 4,\r\n defaultValue: 12\r\n },\r\n 'label/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: 'appearance',\r\n index: 0\r\n },\r\n 'body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: 'appearance',\r\n index: 1\r\n },\r\n 'border/stroke': {\r\n type: 'color',\r\n label: 'Border Color',\r\n group: 'appearance',\r\n index: 2\r\n }\r\n }\r\n },\r\n\r\n 'bpmn2.Group': {\r\n attrs: {\r\n 'label/text': {\r\n type: 'textarea',\r\n label: `${LANG.BPMN.NAME}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n 'text/style/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'start', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'end', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 2,\r\n defaultValue: 'middle'\r\n },\r\n 'text/style/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 3,\r\n defaultValue: 'Calibri'\r\n },\r\n 'text/style/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 4,\r\n defaultValue: 12\r\n },\r\n 'label/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: 'appearance',\r\n index: 0\r\n },\r\n 'body/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LINE_COLOR}`,\r\n group: 'appearance',\r\n index: 1\r\n }\r\n }\r\n },\r\n\r\n 'bpmn2.Conversation': {\r\n attrs: {\r\n 'text/style/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 6,\r\n defaultValue: 12\r\n },\r\n 'text/style/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 'Calibri'\r\n },\r\n 'text/style/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'start', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'end', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 4,\r\n defaultValue: 'middle'\r\n },\r\n 'text/style/text-inside': {\r\n type: 'toggle',\r\n label: `${LANG.BPMN.TEXT_INSIDE_SHAPE}`,\r\n group: 'general',\r\n index: 3\r\n },\r\n 'body/strokeWidth': {\r\n type: 'select',\r\n options: [\r\n {\r\n value: 2,\r\n content: 'No'\r\n },\r\n {\r\n value: 5,\r\n content: 'Yes'\r\n }\r\n ],\r\n group: 'general',\r\n label: 'Call',\r\n index: 2\r\n },\r\n 'markers/iconTypes': {\r\n type: 'select',\r\n multiple: true,\r\n overwrite: true,\r\n options: getOptions(bpmn2.Conversation.CONVERSATION_MARKER_ICONS),\r\n label: `${LANG.BPMN.MARKER}`,\r\n group: 'general',\r\n index: 6\r\n },\r\n 'label/text': {\r\n type: 'textarea',\r\n label: `${LANG.BPMN.NAME}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n 'label/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: 'appearance',\r\n index: 0\r\n },\r\n 'labelBackground/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_BACKGROUND_COLOR}`,\r\n group: 'appearance',\r\n index: 1\r\n },\r\n 'body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: 'appearance',\r\n index: 2\r\n },\r\n 'body/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LINE_COLOR}`,\r\n group: 'appearance',\r\n index: 3\r\n }\r\n }\r\n },\r\n\r\n 'bpmn2.DataObject': {\r\n attrs: {\r\n 'label/text': {\r\n type: 'textarea',\r\n label: `${LANG.BPMN.NAME}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n 'dataTypeIcon/iconType': {\r\n type: 'select',\r\n options: getOptions(bpmn2.DataObject.DATA_OBJECT_TYPE_ICONS),\r\n label: `${LANG.BPMN.TYPE}`,\r\n group: 'general',\r\n index: 3\r\n },\r\n 'collectionIcon/collection': {\r\n type: 'toggle',\r\n label: `${LANG.BPMN.COLLECTION}`,\r\n group: 'general',\r\n index: 3\r\n },\r\n 'text/style/text-inside': {\r\n type: 'toggle',\r\n label: `${LANG.BPMN.TEXT_INSIDE_SHAPE}`,\r\n group: 'general',\r\n index: 4\r\n },\r\n 'text/style/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'start', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'end', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 'middle'\r\n },\r\n 'text/style/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 6,\r\n defaultValue: 'Calibri'\r\n },\r\n 'text/style/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 7,\r\n defaultValue: 12\r\n },\r\n 'label/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: 'appearance',\r\n index: 0\r\n },\r\n 'labelBackground/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_BACKGROUND_COLOR}`,\r\n group: 'appearance',\r\n index: 1\r\n },\r\n 'body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: 'appearance',\r\n index: 2\r\n },\r\n 'body/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LINE_COLOR}`,\r\n group: 'appearance',\r\n index: 3\r\n },\r\n 'dataTypeIcon/iconColor': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TYPE_COLOR}`,\r\n group: 'appearance',\r\n index: 4\r\n },\r\n 'collectionIcon/iconColor': {\r\n type: 'color',\r\n label: `${LANG.BPMN.COLLECTION_COLOR}`,\r\n group: 'appearance',\r\n index: 5\r\n }\r\n }\r\n },\r\n\r\n 'bpmn2.DataStore': {\r\n attrs: {\r\n 'label/text': {\r\n type: 'textarea',\r\n label: `${LANG.BPMN.NAME}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n 'text/style/text-inside': {\r\n type: 'toggle',\r\n label: `${LANG.BPMN.TEXT_INSIDE_SHAPE}`,\r\n group: 'general',\r\n index: 2\r\n },\r\n 'text/style/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'start', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'end', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 3,\r\n defaultValue: 'middle'\r\n },\r\n 'text/style/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 4,\r\n defaultValue: 'Calibri'\r\n },\r\n 'text/style/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 12\r\n },\r\n 'label/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: 'appearance',\r\n index: 0\r\n },\r\n 'labelBackground/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_BACKGROUND_COLOR}`,\r\n group: 'appearance',\r\n index: 1\r\n },\r\n 'body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: 'appearance',\r\n index: 2\r\n },\r\n 'body/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_LINE_COLOR}`,\r\n group: 'appearance',\r\n index: 3\r\n },\r\n 'top/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TOP_COLOR}`,\r\n group: 'appearance',\r\n index: 4\r\n },\r\n 'top/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TOP_LINE_COLOR}`,\r\n group: 'appearance',\r\n index: 5\r\n }\r\n }\r\n },\r\n\r\n // BPMN Legacy\r\n\r\n 'bpmn2.HeaderedPool': {\r\n lanes: {\r\n type: 'list',\r\n group: 'general',\r\n index: 2,\r\n item: {\r\n type: 'object',\r\n properties: {\r\n label: {\r\n type: 'text',\r\n label: 'Label'\r\n },\r\n size: {\r\n type: 'number',\r\n label: `${LANG.BPMN.SIZE}`,\r\n attrs: {\r\n label: {\r\n style: 'margin-right:4px;margin-top:20px;'\r\n },\r\n input: {\r\n style: 'width:216px;'\r\n }\r\n }\r\n },\r\n headerSize: {\r\n type: 'number',\r\n label: `${LANG.BPMN.HEADER_SIZE}`,\r\n attrs: {\r\n label: {\r\n style: 'text-align:end;margin-right:4px;margin-top:16px;'\r\n },\r\n input: {\r\n style: 'width:163px;'\r\n }\r\n }\r\n },\r\n sublanes: {\r\n type: 'list',\r\n label: 'Add lanes',\r\n item: {\r\n type: 'object',\r\n properties: {\r\n label: {\r\n type: 'text',\r\n label: 'Label'\r\n },\r\n size: {\r\n type: 'number',\r\n label: `${LANG.BPMN.SIZE}`,\r\n attrs: {\r\n label: {\r\n style: 'margin-right:4px;margin-top:20px;'\r\n },\r\n input: {\r\n style: 'width:216px;'\r\n }\r\n }\r\n },\r\n headerSize: {\r\n type: 'number',\r\n label: `${LANG.BPMN.HEADER_SIZE}`,\r\n attrs: {\r\n label: {\r\n style: 'text-align:end;margin-right:4px;margin-top:16px;'\r\n },\r\n input: {\r\n style: 'width:163px;'\r\n }\r\n }\r\n },\r\n sublanes: {\r\n type: 'list',\r\n label: `${LANG.BPMN.ADD_SUBLANES}`,\r\n item: {\r\n type: 'object',\r\n properties: {\r\n label: {\r\n type: 'text',\r\n label: 'Label'\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n milestones: {\r\n type: 'list',\r\n group: 'general',\r\n index: 3,\r\n attrs: {},\r\n item: {\r\n type: 'object',\r\n properties: {\r\n label: {\r\n type: 'text',\r\n label: 'Label'\r\n },\r\n size: {\r\n type: 'number',\r\n label: `${LANG.BPMN.SIZE}`,\r\n attrs: {\r\n label: {\r\n style: 'margin-right:20px;margin-top:20px;'\r\n }\r\n }\r\n },\r\n milestonesSize: {\r\n type: 'number',\r\n label: `${LANG.BPMN.HEADER_SIZE}`,\r\n attrs: {\r\n label: {\r\n style: 'text-align:end;margin-right:4px;margin-top:16px;'\r\n },\r\n input: {\r\n style: 'width:163px;'\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n milestonesSize: {\r\n type: 'number',\r\n label: 'Milestones Size',\r\n attrs: {\r\n label: {\r\n style: 'width:150px;'\r\n }\r\n },\r\n group: 'defaults',\r\n index: 1\r\n },\r\n headerSize: {\r\n type: 'number',\r\n label: 'Lane Header Size',\r\n attrs: {\r\n label: {\r\n style: 'width:150px;'\r\n }\r\n },\r\n group: 'defaults',\r\n index: 2\r\n },\r\n attrs: {\r\n 'headerLabel/text': {\r\n type: 'text',\r\n label: `${LANG.BPMN.HEADER}`,\r\n attrs: {\r\n label: {\r\n style: 'width:55px;margin-top:1px;'\r\n }\r\n },\r\n group: 'general',\r\n index: 1\r\n },\r\n 'header/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.HEADER_COLOR}`,\r\n group: 'appearance',\r\n index: 1\r\n },\r\n 'header/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.HEADER_STROKE_COLOR}`,\r\n group: 'appearance',\r\n index: 2\r\n },\r\n 'headerLabel/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.HEADER_LABEL_COLOR}`,\r\n group: 'appearance',\r\n index: 3\r\n },\r\n 'lanes/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LANE_BODY_COLOR}`,\r\n group: 'appearance',\r\n index: 4\r\n },\r\n 'lanes/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LANE_STROKE_COLOR}`,\r\n group: 'appearance',\r\n index: 5\r\n },\r\n 'laneHeaders/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LANE_HEADER_COLOR}`,\r\n group: 'appearance',\r\n index: 6\r\n },\r\n 'laneHeaders/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LANE_HEADER_STROKE}`,\r\n group: 'appearance',\r\n index: 7\r\n },\r\n 'laneLabels/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LANE_LABEL_COLOR}`,\r\n group: 'appearance',\r\n index: 8\r\n },\r\n 'milestoneHeaders/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.MILESTONE_HEADER_FILL}`,\r\n group: 'appearance',\r\n index: 9\r\n },\r\n 'milestoneHeaders/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.MILESTONE_STROKE}`,\r\n group: 'appearance',\r\n index: 10\r\n },\r\n 'milestoneLabels/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.MILESTONE_LABEL_COLOR}`,\r\n group: 'appearance',\r\n index: 11\r\n },\r\n 'milestoneLines/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.MILESTONE_LINE_COLOR}`,\r\n group: 'appearance',\r\n index: 12\r\n },\r\n 'headerLabel/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'start', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'end', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.HEADER_ALIGNMENT}`,\r\n group: 'fontsize',\r\n index: 1,\r\n defaultValue: 'middle'\r\n },\r\n 'headerLabel/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.HEADER_FONT_FAMILY}`,\r\n group: 'fontsize',\r\n index: 2,\r\n defaultValue: 'Calibri'\r\n },\r\n 'headerLabel/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.HEADER_FONT_SIZE}`,\r\n group: 'fontsize',\r\n index: 3,\r\n defaultValue: 12\r\n },\r\n 'laneLabels/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'start', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'end', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.LANE_ALIGNMENT}`,\r\n group: 'fontsize',\r\n index: 4,\r\n defaultValue: 'middle'\r\n },\r\n 'laneLabels/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.LANE_FONT_FAMILY}`,\r\n group: 'fontsize',\r\n index: 5,\r\n defaultValue: 'Calibri'\r\n },\r\n 'laneLabels/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.LANE_FONT_SIZE}`,\r\n group: 'fontsize',\r\n index: 6,\r\n defaultValue: 12\r\n },\r\n 'milestoneLabels/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'start', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'end', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.MILESTONE_ALIGNMENT}`,\r\n group: 'fontsize',\r\n index: 7,\r\n defaultValue: 'middle'\r\n },\r\n 'milestoneLabels/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.MILESTONE_FONT_FAMILY}`,\r\n group: 'fontsize',\r\n index: 8,\r\n defaultValue: 'Calibri'\r\n },\r\n 'milestoneLabels/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.MILESTONE_FONT_SIZE}`,\r\n group: 'fontsize',\r\n index: 9,\r\n defaultValue: 12\r\n }\r\n }\r\n },\r\n\r\n 'bpmn2.Flow': {\r\n attrs: {\r\n 'line/flowType': {\r\n type: 'select',\r\n options: ['sequence', 'default', 'conditional', 'message'],\r\n label: `${LANG.BPMN.TYPE}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n 'text/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 2,\r\n defaultValue: 12\r\n },\r\n 'text/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: 'appearance',\r\n index: 0\r\n },\r\n 'line/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LINE_COLOR}`,\r\n group: 'appearance',\r\n index: 1\r\n }\r\n },\r\n labels: labelInputs\r\n },\r\n\r\n 'bpmn2.DataAssociation': {\r\n attrs: {\r\n 'text/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 2,\r\n defaultValue: 12\r\n },\r\n 'text/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: 'appearance',\r\n index: 0\r\n },\r\n 'line/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LINE_COLOR}`,\r\n group: 'appearance',\r\n index: 1\r\n }\r\n },\r\n labels: labelInputs\r\n },\r\n\r\n 'bpmn2.AnnotationLink': {\r\n attrs: {\r\n 'text/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 2,\r\n defaultValue: 12\r\n },\r\n 'text/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: 'appearance',\r\n index: 0\r\n },\r\n 'line/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LINE_COLOR}`,\r\n group: 'appearance',\r\n index: 1\r\n }\r\n },\r\n labels: labelInputs\r\n },\r\n\r\n 'bpmn2.ConversationLink': {\r\n attrs: {\r\n 'text/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 2,\r\n defaultValue: 12\r\n },\r\n 'text/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: 'appearance',\r\n index: 0\r\n },\r\n 'line/stroke': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LINE_COLOR}`,\r\n group: 'appearance',\r\n index: 1\r\n },\r\n 'outline/stroke': {\r\n type: 'color',\r\n label: 'Outline Color',\r\n group: 'appearance',\r\n index: 2\r\n }\r\n },\r\n labels: labelInputs\r\n },\r\n\r\n // ===================================================================================================\r\n // BPMN Version 3.2\r\n // ===================================================================================================\r\n 'bpmn.Gateway': {\r\n icon: {\r\n type: 'select',\r\n options: [\r\n { value: 'none', content: `${LANG.BPMN.DEFAULT}` },\r\n { value: 'cross', content: `${LANG.BPMN.EXCLUSIVE}` },\r\n { value: 'circle', content: `${LANG.BPMN.INCLUSIVE}` },\r\n { value: 'plus', content: `${LANG.BPMN.PARALLEL}` }\r\n ],\r\n label: `${LANG.BPMN.TYPE}`,\r\n group: 'general',\r\n index: 2\r\n },\r\n attrs: {\r\n '.label/text': {\r\n type: 'text',\r\n label: `${LANG.BPMN.NAME}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n '.body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 1\r\n }\r\n },\r\n 'attrs/text/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'end', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'start', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 'middle'\r\n },\r\n 'attrs/text/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 6\r\n },\r\n 'attrs/text/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 8,\r\n defaultValue: 14\r\n }\r\n },\r\n\r\n 'bpmn.Activity': {\r\n content: {\r\n type: 'textarea',\r\n label: `${LANG.BPMN.CONTENT}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n icon: {\r\n type: 'select',\r\n options: [\r\n { value: 'none', content: `${LANG.BPMN.NONE}` },\r\n { value: 'message', content: `${LANG.BPMN.MESSAGE}` },\r\n { value: 'user', content: `${LANG.BPMN.USER}` }\r\n ],\r\n label: `${LANG.BPMN.ICON}`,\r\n group: 'general',\r\n index: 2\r\n },\r\n activityType: {\r\n type: 'select',\r\n options: [\r\n { value: 'task', content: `${LANG.BPMN.TASK}` },\r\n { value: 'transaction', content: `${LANG.BPMN.TRANSACTION}` },\r\n { value: 'event-sub-process', content: `${LANG.BPMN.EVENT_SUB_PROCESS}` },\r\n { value: 'call-activity', content: `${LANG.BPMN.CALL_ACTIVITY}` }\r\n ],\r\n label: `${LANG.BPMN.TYPE}`,\r\n group: 'general',\r\n index: 3\r\n },\r\n subProcess: {\r\n type: 'toggle',\r\n label: `${LANG.BPMN.SUB_PROCESS}`,\r\n group: 'general',\r\n index: 4\r\n },\r\n attrs: {\r\n '.body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 1\r\n }\r\n },\r\n 'attrs/div/style/text-align': {\r\n type: 'select',\r\n options: [\r\n { value: 'left', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'center', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'right', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 'left'\r\n },\r\n 'attrs/div/style/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 6\r\n },\r\n 'attrs/div/style/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 8,\r\n defaultValue: 14\r\n }\r\n },\r\n\r\n 'bpmn.Event': {\r\n eventType: {\r\n type: 'select',\r\n options: [\r\n { value: 'start', content: `${LANG.BPMN.START}` },\r\n { value: 'end', content: `${LANG.BPMN.END}` },\r\n { value: 'intermediate', content: `${LANG.BPMN.INTERMEDIATE}` }\r\n ],\r\n group: 'general',\r\n label: `${LANG.BPMN.TYPE}`,\r\n index: 2\r\n },\r\n icon: {\r\n type: 'select',\r\n options: [\r\n { value: 'none', content: `${LANG.BPMN.NONE}` },\r\n // { value: 'cross', content: `${LANG.BPMN.CANCEL}` },\r\n { value: 'cancel1', content: `${LANG.BPMN.CANCEL_OULINED}` },\r\n { value: 'cancel2', content: `${LANG.BPMN.CANCEL_FILLED}` },\r\n { value: 'compensation1', content: `${LANG.BPMN.COMPENSATION_OULINED}` },\r\n { value: 'compensation2', content: `${LANG.BPMN.COMPENSATION_FILLED}` },\r\n { value: 'conditional1', content: `${LANG.BPMN.CONDITIONAL}` },\r\n { value: 'error1', content: `${LANG.BPMN.ERROR_OULINED}` },\r\n { value: 'error2', content: `${LANG.BPMN.ERROR_FILLED}` },\r\n { value: 'escalation1', content: `${LANG.BPMN.ESCALATION_OULINED}` },\r\n { value: 'escalation2', content: `${LANG.BPMN.ESCALATION_FILLED}` },\r\n { value: 'link1', content: `${LANG.BPMN.LINK_OULINED}` },\r\n { value: 'link2', content: `${LANG.BPMN.LINK_FILLED}` },\r\n // { value: 'message', content: `${LANG.BPMN.MESSAGE}` },\r\n { value: 'message1', content: `${LANG.BPMN.MESSAGE_OULINED}` },\r\n { value: 'message2', content: `${LANG.BPMN.MESSAGE_FILLED}` },\r\n { value: 'multiple1', content: `${LANG.BPMN.MULTIPLE_OULINED}` },\r\n { value: 'multiple2', content: `${LANG.BPMN.MULTIPLE_FILLED}` },\r\n { value: 'plus', content: `${LANG.BPMN.PARALLEL_MULTIPLE}` },\r\n { value: 'termination1', content: `${LANG.BPMN.TERMINATION_OULINED}` },\r\n { value: 'termination2', content: `${LANG.BPMN.TERMINATION_FILLED}` },\r\n { value: 'timer1', content: `${LANG.BPMN.TIMER}` },\r\n { value: 'signal1', content: `${LANG.BPMN.SIGNAL_OULINED}` },\r\n { value: 'signal2', content: `${LANG.BPMN.SIGNAL_FILLED}` },\r\n { value: 'parallel1', content: `${LANG.BPMN.PARALLEL_OULINED}` },\r\n { value: 'parallel2', content: `${LANG.BPMN.PARALLEL_FILLED}` }\r\n ],\r\n label: `${LANG.BPMN.SUB_TYPE}`,\r\n group: 'general',\r\n index: 3\r\n },\r\n attrs: {\r\n '.label/text': {\r\n type: 'text',\r\n label: `${LANG.BPMN.NAME}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n '.body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 1\r\n }\r\n },\r\n 'attrs/text/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'end', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'start', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 'middle'\r\n },\r\n 'attrs/text/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 6\r\n },\r\n 'attrs/text/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 8,\r\n defaultValue: 14\r\n }\r\n },\r\n\r\n 'bpmn.Annotation': {\r\n content: {\r\n type: 'textarea',\r\n label: `${LANG.BPMN.CONTENT}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n attrs: {\r\n '.body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 1\r\n },\r\n '.body/fill-opacity': {\r\n type: 'range',\r\n min: 0,\r\n max: 1,\r\n step: 0.1,\r\n label: `${LANG.BPMN.TRANSPARENCY}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 2\r\n }\r\n },\r\n 'attrs/div/style/text-align': {\r\n type: 'select',\r\n options: [\r\n { value: 'left', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'center', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'right', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 'middle'\r\n },\r\n 'attrs/div/style/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 6\r\n },\r\n 'attrs/div/style/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 8,\r\n defaultValue: 14\r\n }\r\n },\r\n\r\n 'bpmn.Pool': {\r\n lanes: {\r\n type: 'object',\r\n group: 'general',\r\n index: 1,\r\n attrs: {\r\n label: {\r\n style: 'display:none;'\r\n }\r\n },\r\n properties: {\r\n label: {\r\n type: 'text',\r\n label: `${LANG.BPMN.LABEL}`\r\n },\r\n sublanes: {\r\n type: 'list',\r\n label: `${LANG.BPMN.ADD_LANES}`,\r\n item: {\r\n type: 'object',\r\n properties: {\r\n label: {\r\n type: 'text',\r\n label: `${LANG.BPMN.LABEL}`,\r\n attrs: {\r\n label: {\r\n style: 'display:none;'\r\n }\r\n }\r\n },\r\n ratio: {\r\n type: 'number',\r\n label: `${LANG.BPMN.PERCENTAGE}`\r\n },\r\n sublanes: {\r\n type: 'list',\r\n label: `${LANG.BPMN.ADD_SUBLANES}`,\r\n item: {\r\n type: 'object',\r\n properties: {\r\n label: {\r\n type: 'text',\r\n label: `${LANG.BPMN.LABEL}`,\r\n attrs: {\r\n label: {\r\n style: 'display:none;'\r\n }\r\n }\r\n },\r\n ratio: {\r\n type: 'number',\r\n label: `${LANG.BPMN.ADD_SUBLANES}`\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n attrs: {\r\n '.body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 1\r\n },\r\n '.header/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.HEADER_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 2\r\n },\r\n '.lane-body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LANE_BODY_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 3\r\n },\r\n '.lane-header/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.LANE_HEADER_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 4\r\n },\r\n '.label/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 6\r\n },\r\n '.label/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 8,\r\n defaultValue: 14\r\n }\r\n }\r\n },\r\n\r\n 'bpmn.Group': {\r\n attrs: {\r\n '.label/text': {\r\n type: 'text',\r\n label: `${LANG.BPMN.NAME}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n '.label-rect/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 1\r\n }\r\n },\r\n 'attrs/text/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'end', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'start', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 'middle'\r\n },\r\n 'attrs/text/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 6\r\n },\r\n 'attrs/text/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 8,\r\n defaultValue: 14\r\n }\r\n },\r\n\r\n 'bpmn.Conversation': {\r\n conversationType: {\r\n type: 'select',\r\n options: [\r\n { value: 'conversation', content: `${LANG.BPMN.CONVERSATION}` },\r\n { value: 'call-conversation', content: `${LANG.BPMN.CALL_CONVERSATION}` }\r\n ],\r\n label: `${LANG.BPMN.TYPE}`,\r\n group: 'general',\r\n index: 2\r\n },\r\n subProcess: {\r\n type: 'toggle',\r\n label: `${LANG.BPMN.SUB_PROCESS}`,\r\n group: 'general',\r\n index: 3\r\n },\r\n attrs: {\r\n '.label/text': {\r\n type: 'text',\r\n label: `${LANG.BPMN.NAME}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n '.body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 1\r\n }\r\n },\r\n 'attrs/text/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'end', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'start', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 'middle'\r\n },\r\n 'attrs/text/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 6\r\n },\r\n 'attrs/text/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 8,\r\n defaultValue: 14\r\n }\r\n },\r\n\r\n 'bpmn.Choreography': {\r\n participants: {\r\n type: 'list',\r\n label: `${LANG.BPMN.PARTICPANTS}`,\r\n item: {\r\n type: 'text'\r\n },\r\n group: 'general',\r\n index: 1\r\n },\r\n initiatingParticipant: {\r\n type: 'select',\r\n label: `${LANG.BPMN.INITIATING_PARTICIPANT}`,\r\n options: 'participants',\r\n group: 'general',\r\n index: 2\r\n },\r\n subProcess: {\r\n type: 'toggle',\r\n label: `${LANG.BPMN.SUB_PROCESS}`,\r\n group: 'general',\r\n index: 3\r\n },\r\n content: {\r\n type: 'textarea',\r\n label: `${LANG.BPMN.CONTENT}`,\r\n group: 'general',\r\n index: 4\r\n },\r\n attrs: {\r\n 'text/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_HEADER_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 0\r\n },\r\n '.body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.PRIMARY_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 2\r\n },\r\n '.participant-rect/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.SECONDARY_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 3\r\n }\r\n },\r\n 'attrs/div/style/text-align': {\r\n type: 'select',\r\n options: [\r\n { value: 'left', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'center', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'right', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 'center'\r\n },\r\n 'attrs/div/style/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 6\r\n },\r\n 'attrs/div/style/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 8,\r\n defaultValue: 14\r\n },\r\n 'attrs/div/style/color': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 1\r\n }\r\n },\r\n\r\n 'bpmn.DataObject': {\r\n attrs: {\r\n '.label/text': {\r\n type: 'text',\r\n label: `${LANG.BPMN.NAME}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n '.body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 1\r\n }\r\n },\r\n 'attrs/text/text-anchor': {\r\n type: 'select',\r\n options: [\r\n { value: 'end', content: `${LANG.BPMN.LEFT}` },\r\n { value: 'middle', content: `${LANG.BPMN.CENTER}` },\r\n { value: 'start', content: `${LANG.BPMN.RIGHT}` }\r\n ],\r\n label: `${LANG.BPMN.TEXT_ALIGNMENT}`,\r\n group: 'general',\r\n index: 5,\r\n defaultValue: 'middle'\r\n },\r\n 'attrs/text/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 6\r\n },\r\n 'attrs/text/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 8,\r\n defaultValue: 14\r\n }\r\n },\r\n\r\n 'bpmn.Message': {\r\n attrs: {\r\n '.label/text': {\r\n type: 'text',\r\n label: `${LANG.BPMN.NAME}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n 'text/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.TEXT_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 0\r\n },\r\n '.body/fill': {\r\n type: 'color',\r\n label: `${LANG.BPMN.BODY_COLOR}`,\r\n group: `${LANG.BPMN.APPEARANCE}`,\r\n index: 1\r\n }\r\n },\r\n 'attrs/text/font-family': {\r\n type: 'select',\r\n options: [\r\n 'Calibri',\r\n 'Cambria',\r\n 'Arial',\r\n 'Helvetica',\r\n 'Times New Roman',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Garamond',\r\n 'Tahoma',\r\n 'Lucida Console',\r\n 'Comic Sans MS'\r\n ],\r\n label: `${LANG.BPMN.FONT_FAMILY}`,\r\n group: 'general',\r\n index: 6\r\n },\r\n 'attrs/text/font-size': {\r\n type: 'range',\r\n min: 7,\r\n max: 80,\r\n unit: 'px',\r\n label: `${LANG.BPMN.FONT_SIZE}`,\r\n group: 'general',\r\n index: 8,\r\n defaultValue: 14\r\n }\r\n },\r\n\r\n 'bpmn.Flow': {\r\n flowType: {\r\n type: 'select',\r\n options: [\r\n { value: 'default', content: `${LANG.BPMN.DEFAULT}` },\r\n { value: 'conditional', content: `${LANG.BPMN.CONDITIONAL}` },\r\n { value: 'normal', content: `${LANG.BPMN.NORMAL}` },\r\n { value: 'message', content: `${LANG.BPMN.MESSAGE}` },\r\n { value: 'association', content: `${LANG.BPMN.ASSOCIATION}` },\r\n { value: 'conversation', content: `${LANG.BPMN.CONVERSATION}` }\r\n ],\r\n label: `${LANG.BPMN.TYPE}`,\r\n group: 'general',\r\n index: 1\r\n },\r\n labels: {\r\n type: 'list',\r\n group: `${LANG.BPMN.LABLES}`,\r\n attrs: {\r\n label: {\r\n type: 'text',\r\n label: `${LANG.BPMN.LABEL}`\r\n }\r\n },\r\n index: 2,\r\n item: {\r\n type: 'object',\r\n properties: {\r\n position: {\r\n type: 'range',\r\n min: 0.1,\r\n max: 0.9,\r\n step: 0.1,\r\n defaultValue: 0.5,\r\n label: `${LANG.BPMN.POSITION}`,\r\n index: 2,\r\n attrs: {\r\n label: {\r\n type: 'text',\r\n label: `${LANG.BPMN.POSITION}`\r\n }\r\n }\r\n },\r\n attrs: {\r\n text: {\r\n text: {\r\n type: 'text',\r\n label: `${LANG.BPMN.TEXT}`,\r\n defaultValue: 'label',\r\n index: 1,\r\n attrs: {\r\n label: {\r\n type: 'text',\r\n label: `${LANG.BPMN.LABEL}`\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n}\r\nconst InspectorFunction = {\r\n getInspectorConfiguration\r\n};\r\nexport default InspectorFunction;\r\n","import { TranslateService } from '@ngx-translate/core';\r\n\r\nfunction getToolbarConfiguration(LANG: any) {\r\n return {\r\n tools: [\r\n {\r\n type: 'button',\r\n name: 'print',\r\n attrs: {\r\n button: {\r\n 'data-tooltip': `${LANG.BPMN.OPEN_A_PRINT_DIALOG}`\r\n }\r\n }\r\n },\r\n {\r\n type: 'button',\r\n name: 'tojson',\r\n attrs: {\r\n button: {\r\n 'data-tooltip': `${LANG.BPMN.OPEN_AS_JSON}`\r\n }\r\n }\r\n },\r\n {\r\n type: 'zoom-in',\r\n name: 'zoom-in',\r\n attrs: {\r\n button: {\r\n 'data-tooltip': `${LANG.BPMN.ZOOM_IN}`\r\n }\r\n }\r\n },\r\n {\r\n type: 'zoom-out',\r\n name: 'zoom-out',\r\n attrs: {\r\n button: {\r\n 'data-tooltip': `${LANG.BPMN.ZOOM_OUT}`\r\n }\r\n }\r\n },\r\n {\r\n type: 'zoom-to-fit',\r\n name: 'zoom-to-fit',\r\n group: 'zoom',\r\n attrs: {\r\n button: {\r\n 'data-tooltip': `${LANG.BPMN.ZOOM_TO_FIT}`,\r\n 'data-tooltip-position': 'top',\r\n 'data-tooltip-position-selector': '.toolbar-container'\r\n }\r\n }\r\n },\r\n {\r\n type: 'button',\r\n name: 'to-front',\r\n group: 'order',\r\n text: `${LANG.BPMN.SEND_TO_FRONT}`,\r\n attrs: {\r\n button: {\r\n id: 'btn-to-front',\r\n 'data-tooltip': `${LANG.BPMN.BRING_OBJECT_TO_FRONT}`,\r\n 'data-tooltip-position': 'top',\r\n 'data-tooltip-position-selector': '.toolbar-container'\r\n }\r\n }\r\n },\r\n {\r\n type: 'button',\r\n name: 'to-back',\r\n group: 'order',\r\n text: `${LANG.BPMN.SEND_TO_BACK}`,\r\n attrs: {\r\n button: {\r\n id: 'btn-to-back',\r\n 'data-tooltip': `${LANG.BPMN.BRING_OBJECT_TO_BACK}`,\r\n 'data-tooltip-position': 'top',\r\n 'data-tooltip-position-selector': '.toolbar-container'\r\n }\r\n }\r\n },\r\n {\r\n type: 'button',\r\n name: 'clear',\r\n attrs: {\r\n button: {\r\n 'data-tooltip': `${LANG.BPMN.CLEAR_PAPER}`\r\n }\r\n }\r\n },\r\n {\r\n type: 'undo',\r\n name: 'undo',\r\n attrs: {\r\n button: {\r\n 'data-tooltip': `${LANG.BPMN.UNDO}`\r\n }\r\n }\r\n },\r\n {\r\n type: 'redo',\r\n name: 'redo',\r\n attrs: {\r\n button: {\r\n 'data-tooltip': `${LANG.BPMN.UNDO}`\r\n }\r\n }\r\n },\r\n {\r\n type: 'select-box',\r\n name: 'selectTemplate',\r\n width: 190,\r\n options: [\r\n {\r\n index: 0,\r\n content: `${LANG.BPMN.SELECT_TEMPLATE}`,\r\n flowChartId: '',\r\n name: '',\r\n jsonContent: '',\r\n selected: true\r\n }\r\n ]\r\n },\r\n {\r\n type: 'button',\r\n name: 'deleteTemplate',\r\n attrs: {\r\n button: {\r\n 'data-tooltip': `${LANG.BPMN.DELETE_TEMPLATE}`\r\n }\r\n }\r\n },\r\n {\r\n type: 'button',\r\n name: 'saveAsTemplate',\r\n attrs: {\r\n button: {\r\n 'data-tooltip': `${LANG.BPMN.SAVE_AS_TEMPLATE}`\r\n }\r\n }\r\n },\r\n {\r\n type: 'button',\r\n name: 'resetToTempTemplate',\r\n attrs: {\r\n button: {\r\n 'data-tooltip': `${LANG.BPMN.RESET_TO_LAST_SAVE}`\r\n }\r\n }\r\n },\r\n {\r\n type: 'label',\r\n name: 'grid-size-label',\r\n group: 'grid',\r\n text: `${LANG.BPMN.GRID_SIZE}`,\r\n attrs: {\r\n label: {\r\n 'data-tooltip': `${LANG.BPMN.CHANGE_GRID_SIZE}`,\r\n 'data-tooltip-position': 'top',\r\n 'data-tooltip-position-selector': '.toolbar-container'\r\n }\r\n }\r\n },\r\n {\r\n type: 'range',\r\n name: 'grid-size',\r\n group: 'grid',\r\n text: `${LANG.BPMN.GRID_SIZE}`,\r\n min: 1,\r\n max: 50,\r\n step: 1,\r\n value: 10\r\n },\r\n {\r\n type: 'separator',\r\n group: 'snapline'\r\n },\r\n {\r\n type: 'checkbox',\r\n name: 'snapline',\r\n group: 'snapline',\r\n label: 'Snaplines', //'BPMN.SNAPLINES',\r\n value: true,\r\n attrs: {\r\n input: {\r\n id: 'snapline-switch'\r\n },\r\n label: {\r\n 'data-tooltip': `${LANG.BPMN.ENABLE_DISABLE_SNAPLINES}`,\r\n 'data-tooltip-position': 'top',\r\n 'data-tooltip-position-selector': '.toolbar-container'\r\n }\r\n }\r\n }\r\n ]\r\n };\r\n}\r\nconst ToolbarFunction = {\r\n getToolbarConfiguration\r\n};\r\nexport default ToolbarFunction;\r\n","export enum FlowchartViewMode {\r\n Edit = 1,\r\n View = 2\r\n}\r\n","/* eslint-disable no-use-before-define */\r\n/* eslint-disable @typescript-eslint/no-use-before-define */\r\n/* eslint-disable no-param-reassign */\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/* eslint-disable @typescript-eslint/no-shadow */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable no-new */\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport * as $ from 'jquery';\r\nimport * as _ from 'lodash';\r\nimport InspectorFunction from '../common/bpmn/inspector.function';\r\nimport ToolbarFunction from '../common/bpmn/toolbar.function';\r\nimport { FlowChartConst } from '../common/constants/ckeditorFlowchart.const';\r\nimport { FlowchartViewMode } from '../common/enums/flowchart-view-mode.enum';\r\nimport guidHelper from '../common/helper/guidHelper';\r\n\r\n/* Declare jointjs object */\r\ndeclare var joint: any;\r\nlet graph: any;\r\nlet paper: any;\r\nlet toolbarConfig: any;\r\nconst bpmn2 = joint.shapes.bpmn2;\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BpmnService {\r\n public isSaveAsTemplate = false;\r\n public isDeleteTemplate = false;\r\n public isDisableToolbar = false;\r\n public isTemp = true;\r\n public jsonTempContent = '';\r\n public isReset = false;\r\n public isSelectedTemplate = false;\r\n public jsonOriginalContent = '';\r\n\r\n buildDiagram(\r\n diagramTemplates: any,\r\n diagramTemplate: any,\r\n bpmnTheme: string,\r\n jsonContent: any,\r\n editMode: any,\r\n LANG: any\r\n ) {\r\n window[`IS_NOT_SHOW_AGAIN`] = false;\r\n window[FlowChartConst.EDIT_MODE] = editMode;\r\n joint.setTheme(bpmnTheme);\r\n\r\n if (jsonContent) {\r\n jsonContent = JSON.parse(jsonContent);\r\n } else {\r\n jsonContent = '';\r\n }\r\n\r\n const gdAuth = window[`gdAuth`];\r\n const gdLoad = window[`gdLoad`];\r\n const gdSave = window[`gdSave`];\r\n const inputs = InspectorFunction.getInspectorConfiguration(bpmn2, LANG);\r\n\r\n let freeTransform = null;\r\n\r\n toolbarConfig = ToolbarFunction.getToolbarConfiguration(LANG);\r\n /* QMS-1404: Customization: Add template list */\r\n if (toolbarConfig.tools && diagramTemplates) {\r\n const arrSelect = toolbarConfig.tools.filter((item) => {\r\n return item.type === 'select-box';\r\n });\r\n if (arrSelect) {\r\n diagramTemplates.forEach((item) => {\r\n const option = {\r\n index: item.index,\r\n content: item.templateName,\r\n flowChartId: item.id,\r\n name: item.templateName,\r\n jsonContent: item.jsonContent,\r\n selected: false\r\n };\r\n const index = arrSelect[0].options.findIndex((x) => {\r\n return x.index === option.index;\r\n });\r\n if (index < 0) {\r\n arrSelect[0].options.push(option);\r\n }\r\n });\r\n }\r\n }\r\n\r\n graph = new joint.dia.Graph({ type: 'bpmn' });\r\n const commandManager = new joint.dia.CommandManager({ graph });\r\n const keyboard = new joint.ui.Keyboard();\r\n const clipboard = new joint.ui.Clipboard();\r\n\r\n paper = new joint.dia.Paper({\r\n width: 800,\r\n height: 600,\r\n model: graph,\r\n gridSize: 10,\r\n drawGrid: true,\r\n async: true,\r\n sorting: joint.dia.Paper.sorting.APPROX,\r\n interactive: { linkMove: false },\r\n snapLabels: true,\r\n // Connections\r\n defaultLink(elementView) {\r\n return new bpmn2.Flow({\r\n z: elementView.model.get('z') - 1,\r\n attrs: {\r\n line: {\r\n flowType: 'sequence'\r\n }\r\n }\r\n });\r\n },\r\n validateConnection(cellViewS, magnetS, cellViewT, magnetT, end) {\r\n const source = cellViewS.model;\r\n const target = cellViewT.model;\r\n // don't allow loop links\r\n if (source === target) {\r\n return false;\r\n }\r\n // don't allow link to link connection\r\n if (source.isLink()) {\r\n return false;\r\n }\r\n if (target.isLink()) {\r\n return false;\r\n }\r\n // don't allow group connections\r\n const sourceType = source.get('type');\r\n const targetType = target.get('type');\r\n if (sourceType === 'bpmn2.Group' || targetType === 'bpmn2.Group') {\r\n return false;\r\n }\r\n return true;\r\n },\r\n defaultAnchor: {\r\n name: 'perpendicular'\r\n },\r\n defaultConnectionPoint: {\r\n name: 'boundary',\r\n args: { stroke: true }\r\n },\r\n // Embedding\r\n embeddingMode: true,\r\n frontParentOnly: false,\r\n validateEmbedding(childView, parentView) {\r\n const parentType = parentView.model.get('type');\r\n const childType = childView.model.get('type');\r\n if (parentType === 'bpmn2.HeaderedPool' && childType !== 'bpmn2.HeaderedPool') {\r\n return true;\r\n }\r\n if (parentType === 'bpmn2.Activity' && childType === 'bpmn2.Event') {\r\n return true;\r\n }\r\n return false;\r\n },\r\n // Highlighting\r\n highlighting: {\r\n default: {\r\n name: 'mask',\r\n options: {\r\n attrs: {\r\n stroke: '#3498db',\r\n 'stroke-width': 3,\r\n 'stroke-linejoin': 'round'\r\n }\r\n }\r\n }\r\n }\r\n }).on({\r\n 'blank:pointerdown': (evt, x, y) => {\r\n closeTools();\r\n // selection.startSelecting(evt, x, y);\r\n if (keyboard.isActive('shift', evt)) {\r\n selection.startSelecting(evt, x, y);\r\n } else {\r\n selection.cancelSelection();\r\n paperScroller.startPanning(evt, x, y);\r\n }\r\n },\r\n\r\n 'blank:contextmenu': (evt, x, y) => {\r\n paperScroller.startPanning(evt, x, y);\r\n },\r\n\r\n 'cell:pointerup': (cellView) => {\r\n openTools(cellView);\r\n },\r\n\r\n 'link:mouseenter': (linkView) => {\r\n // Open tool only if there is none yet\r\n if (linkView.hasTools()) {\r\n return;\r\n }\r\n\r\n const ns = joint.linkTools;\r\n const toolsView = new joint.dia.ToolsView({\r\n name: 'link-hover',\r\n tools: [\r\n new ns.Vertices({ vertexAdding: false }),\r\n new ns.SourceArrowhead(),\r\n new ns.TargetArrowhead()\r\n ]\r\n });\r\n\r\n linkView.addTools(toolsView);\r\n },\r\n\r\n 'link:mouseleave': (linkView) => {\r\n // Remove only the hover tool, not the pointerdown tool\r\n if (linkView.hasTools('link-hover')) {\r\n linkView.removeTools();\r\n }\r\n },\r\n\r\n 'link:connect': (linkView) => {\r\n // Change the link type based on the connected elements\r\n const link = linkView.model;\r\n const source = link.getSourceCell();\r\n const target = link.getTargetCell();\r\n if (!source || !target) {\r\n return;\r\n }\r\n link.set('z', -1);\r\n const types = [source.get('type'), target.get('type')];\r\n const linkType = link.get('type');\r\n if (types.indexOf('bpmn2.Annotation') > -1) {\r\n if (linkType === 'bpmn2.AnnotationLink') {\r\n return;\r\n }\r\n replaceLink(graph, link, bpmn2.AnnotationLink);\r\n return;\r\n }\r\n if (types.indexOf('bpmn2.Conversation') > -1) {\r\n if (linkType === 'bpmn2.ConversationLink') {\r\n return;\r\n }\r\n replaceLink(graph, link, bpmn2.ConversationLink);\r\n return;\r\n }\r\n if (types.indexOf('bpmn2.DataObject') > -1) {\r\n if (linkType === 'bpmn2.DataAssociation') {\r\n return;\r\n }\r\n replaceLink(graph, link, bpmn2.DataAssociation);\r\n return;\r\n }\r\n if (types.indexOf('bpmn2.DataStore') > -1) {\r\n if (linkType === 'bpmn2.DataAssociation') {\r\n return;\r\n }\r\n replaceLink(graph, link, bpmn2.DataAssociation);\r\n return;\r\n }\r\n if (linkType !== 'bpmn2.Flow') {\r\n replaceLink(graph, link, bpmn2.Flow);\r\n }\r\n }\r\n });\r\n\r\n const snaplines = new joint.ui.Snaplines({ paper });\r\n\r\n const paperScroller = new joint.ui.PaperScroller({\r\n autoResizePaper: true,\r\n padding: 20,\r\n paper,\r\n scrollWhileDragging: true\r\n });\r\n\r\n paperScroller.$el.appendTo('#paper-container');\r\n paperScroller.setCursor('grab');\r\n paperScroller.render().center();\r\n\r\n paper.on('blank:mousewheel', _.partial(onMousewheel, null), this);\r\n paper.on('cell:mousewheel', onMousewheel, this);\r\n function onMousewheel(cellView, evt, x, y, delta) {\r\n paperScroller.zoom(delta * 0.1, { min: 0.2, max: 5, grid: 0.1, ox: x, oy: y });\r\n }\r\n\r\n /* SELECTION */\r\n const selection = new joint.ui.Selection({\r\n paper,\r\n graph,\r\n useModelGeometry: true,\r\n filter: ['bpmn2.HeaderedPool'] // don't allow to select a pool\r\n });\r\n\r\n /* STENCIL */\r\n\r\n const stencil = new joint.ui.Stencil({\r\n graph,\r\n paper,\r\n width: '100%',\r\n height: '100%',\r\n dragEndClone(cell) {\r\n const clone = cell.clone();\r\n const type = clone.get('type');\r\n\r\n // some types of the elements need resizing after they are dropped\r\n const sizeMultiplier = { 'bpmn2.HeaderedPool': 8, 'bpmn.Choreography': 2 }[type];\r\n if (sizeMultiplier) {\r\n const originalSize = clone.get('size');\r\n clone.set('size', {\r\n width: originalSize.width * sizeMultiplier,\r\n height: originalSize.height * sizeMultiplier\r\n });\r\n if (type === 'bpmn2.HeaderedPool') {\r\n clone.set('padding', { top: 0, left: 30, right: 0, bottom: 0 });\r\n }\r\n }\r\n return clone;\r\n }\r\n });\r\n\r\n stencil.render().$el.appendTo('#stencil-container');\r\n\r\n stencil.load([\r\n new bpmn2.Activity({\r\n attrs: {\r\n label: {\r\n stroke: 'white',\r\n strokeWidth: 2,\r\n paintOrder: 'stroke'\r\n }\r\n }\r\n }),\r\n new bpmn2.Gateway({\r\n attrs: {\r\n label: {\r\n stroke: 'white',\r\n strokeWidth: 2,\r\n paintOrder: 'stroke'\r\n }\r\n }\r\n }),\r\n new bpmn2.Event({\r\n attrs: {\r\n label: {\r\n stroke: 'white',\r\n strokeWidth: 2,\r\n paintOrder: 'stroke'\r\n }\r\n }\r\n }),\r\n new bpmn2.Conversation({\r\n attrs: {\r\n label: {\r\n stroke: 'white',\r\n strokeWidth: 2,\r\n paintOrder: 'stroke'\r\n }\r\n }\r\n }),\r\n new bpmn2.DataObject({\r\n attrs: {\r\n label: {\r\n stroke: 'white',\r\n strokeWidth: 2,\r\n paintOrder: 'stroke'\r\n }\r\n }\r\n }),\r\n new bpmn2.DataStore({\r\n attrs: {\r\n label: {\r\n stroke: 'white',\r\n strokeWidth: 2,\r\n paintOrder: 'stroke'\r\n }\r\n }\r\n }),\r\n new bpmn2.Annotation({\r\n attrs: {\r\n body: {\r\n fill: '#ffffff'\r\n },\r\n label: {\r\n stroke: 'white',\r\n strokeWidth: 2,\r\n paintOrder: 'stroke'\r\n }\r\n }\r\n }),\r\n new bpmn2.Group({\r\n size: {\r\n width: 80,\r\n height: 80\r\n },\r\n attrs: {\r\n label: {\r\n text: 'Group',\r\n stroke: 'white',\r\n strokeWidth: 2,\r\n paintOrder: 'stroke'\r\n }\r\n }\r\n }),\r\n // Legacy BPMN Shapes\r\n new bpmn2.HeaderedPool({\r\n padding: { top: 0, left: 15, right: 0, bottom: 0 },\r\n size: { width: 80, height: 50 },\r\n lanes: [{ label: 'Lane 1' }, { label: 'Lane 2' }],\r\n attrs: {\r\n body: { fill: '#FFFFFF' },\r\n headerLabel: { text: 'Header' }\r\n }\r\n }),\r\n new joint.shapes.bpmn.Choreography({\r\n participants: ['Participant 1', 'Participant 2'],\r\n attrs: {\r\n label: {\r\n stroke: 'white',\r\n strokeWidth: 2,\r\n paintOrder: 'stroke'\r\n }\r\n }\r\n }),\r\n new joint.shapes.bpmn.Message({\r\n attrs: {\r\n text: {\r\n stroke: 'white',\r\n strokeWidth: 2,\r\n paintOrder: 'stroke'\r\n }\r\n }\r\n })\r\n ]);\r\n\r\n joint.layout.GridLayout.layout(stencil.getGraph(), {\r\n columns: 100,\r\n columnWidth: 'compact',\r\n marginX: 20,\r\n marginY: 20,\r\n columnGap: 40,\r\n verticalGap: 20,\r\n resizeToFit: false\r\n });\r\n\r\n // Create tooltips for all the shapes in stencil.\r\n stencil.on('element:drop', (elementView) => {\r\n // open inspector after a new element dropped from stencil\r\n openTools(elementView);\r\n });\r\n\r\n /* KEYBOARD */\r\n if (editMode === FlowchartViewMode.Edit) {\r\n initializeKeyboardShortcuts();\r\n }\r\n\r\n function initializeKeyboardShortcuts() {\r\n keyboard.on(\r\n {\r\n 'ctrl+c': () => {\r\n // Copy all selected elements and their associated links.\r\n clipboard.copyElements(selection.collection, graph);\r\n },\r\n\r\n 'ctrl+v': () => {\r\n const pastedCells = clipboard.pasteCells(graph, {\r\n translate: { dx: 20, dy: 20 },\r\n useLocalStorage: true\r\n });\r\n\r\n const elements = _.filter(pastedCells, (cell) => {\r\n return cell.isElement();\r\n });\r\n\r\n // Make sure pasted elements get selected immediately. This makes the UX better as\r\n // the user can immediately manipulate the pasted elements.\r\n selection.collection.reset(elements);\r\n },\r\n\r\n 'ctrl+x shift+delete': () => {\r\n clipboard.cutElements(selection.collection, graph);\r\n },\r\n\r\n 'delete backspace': (evt) => {\r\n evt.preventDefault();\r\n graph.removeCells(selection.collection.toArray());\r\n },\r\n\r\n 'ctrl+z': () => {\r\n commandManager.undo();\r\n selection.cancelSelection();\r\n },\r\n\r\n 'ctrl+y': () => {\r\n commandManager.redo();\r\n selection.cancelSelection();\r\n },\r\n\r\n 'ctrl+a': () => {\r\n selection.collection.reset(graph.getElements());\r\n },\r\n\r\n 'ctrl+plus': (evt) => {\r\n evt.preventDefault();\r\n paperScroller.zoom(0.2, { max: 5, grid: 0.2 });\r\n },\r\n\r\n 'ctrl+minus': (evt) => {\r\n evt.preventDefault();\r\n paperScroller.zoom(-0.2, { min: 0.2, grid: 0.2 });\r\n },\r\n\r\n 'keydown:shift': (evt) => {\r\n paperScroller.setCursor('crosshair');\r\n },\r\n\r\n 'keyup:shift': () => {\r\n paperScroller.setCursor('grab');\r\n }\r\n },\r\n this\r\n );\r\n }\r\n\r\n function openTools(cellView) {\r\n if (!cellView) {\r\n return;\r\n }\r\n closeTools();\r\n window[`my_cellView`] = cellView;\r\n const cell = cellView.model;\r\n const type = cell.get('type');\r\n // const tablName = window[FlowChartConst.TAB_NAME];\r\n // if (tablName === FlowChartConst.TAB_BPMN_CHOREOGRAPHY) {\r\n // const inspector = joint.ui.Inspector.create('#inspector-container', {\r\n // cell,\r\n // inputs: inputs[type],\r\n // groups: {\r\n // general: { label: type, index: 1 },\r\n // defaults: { index: 2 },\r\n // fontsize: { index: 3 },\r\n // appearance: { index: 4 }\r\n // }\r\n // });\r\n // }\r\n\r\n const inspector = joint.ui.Inspector.create('#inspector-container', {\r\n cell,\r\n inputs: inputs[type],\r\n groups: {\r\n general: { label: type, index: 1 },\r\n defaults: { index: 2 },\r\n fontsize: { index: 3 },\r\n appearance: { index: 4 }\r\n }\r\n });\r\n\r\n selection.collection.reset([]);\r\n // Add the cell into the selection collection silently\r\n // so no selection box is rendered above the cellView.\r\n selection.collection.add(cell, { silent: true });\r\n\r\n if (cell.isElement()) {\r\n let minSize;\r\n\r\n if (cell instanceof bpmn2.HeaderedPool) {\r\n minSize = cell.getMinimalSize();\r\n } else {\r\n minSize = { width: 30, height: 30 };\r\n }\r\n\r\n freeTransform = new joint.ui.FreeTransform({\r\n cellView,\r\n allowOrthogonalResize: false,\r\n allowRotation: false,\r\n minWidth: minSize.width,\r\n minHeight: minSize.height\r\n }).render();\r\n\r\n const halo = new joint.ui.Halo({\r\n cellView,\r\n theme: 'default',\r\n type: 'toolbar',\r\n useModelGeometry: true,\r\n boxContent: (cellView) => {\r\n return cellView.model.get('type');\r\n }\r\n });\r\n\r\n if (type === 'bpmn2.HeaderedPool') {\r\n halo.removeHandle('link');\r\n halo.removeHandle('fork');\r\n halo.removeHandle('unlink');\r\n }\r\n halo.render();\r\n }\r\n\r\n if (cell.isLink()) {\r\n const ns = joint.linkTools;\r\n const toolsView = new joint.dia.ToolsView({\r\n name: 'link-pointerdown',\r\n tools: [\r\n new ns.Vertices(),\r\n new ns.SourceAnchor(),\r\n new ns.TargetAnchor(),\r\n new ns.SourceArrowhead(),\r\n new ns.TargetArrowhead(),\r\n new ns.Segments(),\r\n new ns.Boundary({ padding: 15 }),\r\n new ns.Remove({ offset: -20, distance: 40 })\r\n ]\r\n });\r\n\r\n cellView.addTools(toolsView);\r\n }\r\n\r\n /* QMS-2364: show link and poiter change to hand */\r\n // if (window[`event`][`type`] === 'mouseover' && editMode === FlowchartViewMode.View) {\r\n // const list = document.getElementsByClassName(`joint-element`);\r\n // if (list && list.length > 0) {\r\n // const shapeId = cellView.model.attributes.id;\r\n // // tslint:disable-next-line:prefer-for-of\r\n // for (let i = 0; i < list.length; i++) {\r\n // if (list[i].attributes[0].nodeValue !== shapeId) {\r\n // list[i][`style`].cursor = 'move';\r\n // continue;\r\n // }\r\n // const shapeDetailModel = window[`SHAPE_DETAIL_MODEL`];\r\n // if (!shapeDetailModel) {\r\n // list[i][`style`].cursor = 'move';\r\n // continue;\r\n // }\r\n // const index = shapeDetailModel.findIndex((x) => {\r\n // return x.shapeId === shapeId;\r\n // });\r\n // if (index < 0) {\r\n // list[i][`style`].cursor = 'move';\r\n // continue;\r\n // }\r\n // const shapeDetail = shapeDetailModel[index];\r\n // let connectionName = '';\r\n // if (shapeDetail.connectionTypeId === ShapeFlowChartConnectionType.Activity) {\r\n // list[i][`style`].cursor = 'move';\r\n // connectionName = translate.instant('PROCESS.LINK_TO_ACTIVITY');\r\n // } else if (shapeDetail.connectionTypeId === ShapeFlowChartConnectionType.Link) {\r\n // connectionName = translate.instant('PROCESS.LINK');\r\n // } else if (shapeDetail.connectionTypeId === ShapeFlowChartConnectionType.DocumentOrProcess) {\r\n // // eslint-disable-next-line default-case\r\n // switch (shapeDetail.documentModel.relatedItems[0].itemType) {\r\n // case RelatedItemType.document:\r\n // connectionName = translate.instant('PROCESS.LINK_TO_DOCUMENT');\r\n // break;\r\n // case RelatedItemType.process:\r\n // connectionName = translate.instant('PROCESS.LINK_TO_PROCESS');\r\n // break;\r\n // case RelatedItemType.area:\r\n // connectionName = translate.instant('PROCESS.LINK_TO_AREA');\r\n // break;\r\n // case RelatedItemType.handbook:\r\n // connectionName = translate.instant('PROCESS.LINK_TO_FOLDER');\r\n // break;\r\n // }\r\n // }\r\n // if (shapeDetail.connectionTypeId !== ShapeFlowChartConnectionType.Activity) {\r\n // list[i][`style`].cursor = 'pointer';\r\n // }\r\n // const halo = new joint.ui.Halo({\r\n // cellView,\r\n // theme: 'default',\r\n // boxContent: connectionName\r\n // });\r\n // halo.render();\r\n // halo.removeHandle('remove');\r\n // halo.removeHandle('resize');\r\n // halo.removeHandle('clone');\r\n // halo.removeHandle('link');\r\n // halo.removeHandle('fork');\r\n // halo.removeHandle('unlink');\r\n // halo.removeHandle('rotate');\r\n // }\r\n // }\r\n\r\n // const shapeElement = document.getElementsByClassName('no-rotation');\r\n // if (shapeElement && shapeElement.length > 0) {\r\n // for (let i = 0; i < shapeElement.length; i++) {\r\n // if (!shapeElement[i].classList.contains('joint-free-transform')) {\r\n // shapeElement[i].classList.add('joint-free-transform');\r\n // }\r\n // }\r\n // }\r\n // } else if (window[`event`][`type`] === 'mouseout' && editMode === FlowchartViewMode.View) {\r\n // const halo = new joint.ui.Halo({\r\n // cellView,\r\n // theme: 'default',\r\n // boxContent: ''\r\n // });\r\n // halo.render();\r\n // halo.removeHandle('remove');\r\n // halo.removeHandle('resize');\r\n // halo.removeHandle('clone');\r\n // halo.removeHandle('link');\r\n // halo.removeHandle('fork');\r\n // halo.removeHandle('unlink');\r\n // halo.removeHandle('rotate');\r\n // const shapeElement = document.getElementsByClassName('no-rotation');\r\n // if (shapeElement && shapeElement.length > 0) {\r\n // for (let i = 0; i < shapeElement.length; i++) {\r\n // shapeElement[i].classList.remove('joint-free-transform');\r\n // }\r\n // }\r\n // } else {\r\n // /* QMS-2125: Show process connect type */\r\n // window[FlowChartConst.IS_SHOW_CONNECTYPE] = true;\r\n // window[FlowChartConst.SELECTED_SHAPE_ID] = cellView.model.attributes.id;\r\n // window[FlowChartConst.SHAPE_TYPE] = cellView.model.attributes.type;\r\n // window[FlowChartConst.SHAPE_FLOWCHART_LOADING] = true;\r\n // }\r\n /* QMS-2125: Show process connect type */\r\n window[FlowChartConst.IS_SHOW_CONNECTYPE] = true;\r\n window[FlowChartConst.SELECTED_SHAPE_ID] = cellView.model.attributes.id;\r\n window[FlowChartConst.SHAPE_TYPE] = cellView.model.attributes.type;\r\n window[FlowChartConst.SHAPE_FLOWCHART_LOADING] = true;\r\n /* QMS-1404: Customization */\r\n window[FlowChartConst.PAPER] = paper;\r\n }\r\n\r\n function closeTools() {\r\n paper.removeTools();\r\n joint.ui.Inspector.close();\r\n joint.ui.FreeTransform.clear(paper);\r\n freeTransform = null;\r\n joint.ui.Halo.clear(paper);\r\n }\r\n\r\n function showStatus(message, type) {\r\n $('.status').removeClass('info error success').addClass(type).html(message);\r\n $('#statusbar-container')\r\n .dequeue()\r\n .addClass('active')\r\n .delay(3000)\r\n .queue(() => {\r\n $(this).removeClass('active');\r\n });\r\n }\r\n\r\n function replaceLink(graph, link, linkConstructor) {\r\n // eslint-disable-next-line new-cap\r\n const link2 = new linkConstructor({\r\n source: link.source(),\r\n target: link.target(),\r\n vertices: link.vertices()\r\n });\r\n link.remove();\r\n link2.set('z', -1);\r\n link2.addTo(graph);\r\n }\r\n\r\n graph.on('change', (cell, opt) => {\r\n this.onChangeTextInside(cell);\r\n this.onChangeLinkLabel(cell, 12);\r\n this.onChangeAlligment(cell, opt);\r\n if (!opt.inspector || !freeTransform || cell.get('type') !== 'bpmn2.HeaderedPool') {\r\n return;\r\n }\r\n const minSize = cell.getMinimalSize();\r\n freeTransform.options.minWidth = minSize.width;\r\n freeTransform.options.minHeight = minSize.height;\r\n });\r\n\r\n /* TOOLBAR */\r\n const toolbar = new joint.ui.Toolbar({\r\n tools: toolbarConfig.tools,\r\n references: {\r\n paperScroller,\r\n commandManager\r\n }\r\n });\r\n\r\n const toolbarCommands = {\r\n toJSON: () => {\r\n const windowFeatures = 'menubar=no,location=no,resizable=yes,scrollbars=yes,status=no';\r\n const windowName = _.uniqueId('json_output');\r\n const jsonWindow = window.open('', windowName, windowFeatures);\r\n\r\n jsonWindow.document.write(JSON.stringify(graph.toJSON()));\r\n },\r\n loadGraph: () => {\r\n gdAuth(() => {\r\n showStatus('loading..', 'info');\r\n gdLoad((name, content) => {\r\n try {\r\n const json = JSON.parse(content);\r\n graph.fromJSON(json);\r\n const elFileName = <HTMLButtonElement>document.getElementById('fileName');\r\n elFileName.value = name.replace(/.json$/, '');\r\n showStatus('loaded.', 'success');\r\n } catch (e) {\r\n showStatus('failed.', 'error');\r\n }\r\n });\r\n }, true);\r\n },\r\n\r\n saveGraph: () => {\r\n gdAuth(() => {\r\n showStatus('saving..', 'info');\r\n // let name = document.getElementById('fileName').value;\r\n const name = <HTMLButtonElement>document.getElementById('fileName');\r\n gdSave(name.value, JSON.stringify(graph.toJSON()), (file) => {\r\n if (file) {\r\n showStatus('saved.', 'success');\r\n } else {\r\n showStatus('failed.', 'error');\r\n }\r\n });\r\n }, true);\r\n },\r\n onSelected: (event) => {\r\n if (event.jsonContent) {\r\n window[FlowChartConst.SELECTED_FLOWCHART_ID] = event.flowChartId;\r\n window[FlowChartConst.SELECTED_JSON_CONTENT] = event.jsonContent;\r\n window[FlowChartConst.IS_SELECTED_TEMPLATE] = true;\r\n this.jsonOriginalContent = JSON.stringify(graph.toJSON());\r\n window[FlowChartConst.ORG_JSONCONTENT] = this.jsonOriginalContent;\r\n window.postMessage(FlowChartConst.CHANGING_TEMPLATE, this.getOriginForSelf());\r\n }\r\n },\r\n\r\n onDeleteTemplate: () => {\r\n this.isSelectedTemplate = window[FlowChartConst.IS_SELECTED_TEMPLATE];\r\n if (this.isSelectedTemplate) {\r\n window.postMessage(FlowChartConst.DELETE_TEMPLATE, this.getOriginForSelf());\r\n } else {\r\n window.postMessage(FlowChartConst.MUST_SELECT_TEMPLATE, this.getOriginForSelf());\r\n }\r\n },\r\n\r\n onSaveAsTemplate: () => {\r\n window.postMessage(FlowChartConst.SAVE_AS_TEMPLATE, this.getOriginForSelf());\r\n },\r\n\r\n onResetToTempTemplate: () => {\r\n this.isSelectedTemplate = window[FlowChartConst.IS_SELECTED_TEMPLATE];\r\n if (this.isSelectedTemplate) {\r\n window.postMessage(FlowChartConst.RESET_TEMPLATE, this.getOriginForSelf());\r\n }\r\n },\r\n\r\n changeSnapLines(checked) {\r\n if (checked) {\r\n snaplines.startListening();\r\n stencil.options.snaplines = this.snaplines;\r\n } else {\r\n snaplines.stopListening();\r\n stencil.options.snaplines = null;\r\n }\r\n },\r\n\r\n applyOnSelection(method) {\r\n graph.startBatch('selection');\r\n selection.collection.models.forEach((model) => {\r\n model[method]();\r\n });\r\n graph.stopBatch('selection');\r\n }\r\n };\r\n toolbar.on({\r\n 'tojson:pointerclick': toolbarCommands.toJSON,\r\n 'load:pointerclick': toolbarCommands.loadGraph,\r\n 'save:pointerclick': toolbarCommands.saveGraph,\r\n 'clear:pointerclick': _.bind(graph.clear, graph),\r\n 'print:pointerclick': _.bind(paper.print, paper),\r\n 'saveAsTemplate:pointerclick': toolbarCommands.onSaveAsTemplate,\r\n 'selectTemplate:option:select': toolbarCommands.onSelected,\r\n 'deleteTemplate:pointerclick': toolbarCommands.onDeleteTemplate,\r\n 'resetToTempTemplate:pointerclick': toolbarCommands.onResetToTempTemplate,\r\n 'to-front:pointerclick': toolbarCommands.applyOnSelection.bind(this, 'toFront'),\r\n 'to-back:pointerclick': toolbarCommands.applyOnSelection.bind(this, 'toBack'),\r\n 'snapline:change': toolbarCommands.changeSnapLines.bind(this),\r\n 'grid-size:change': paper.setGridSize.bind(paper)\r\n });\r\n\r\n toolbar.render().$el.appendTo('#toolbar-container');\r\n\r\n // const zoomTool = new joint.ui.Toolbar({\r\n // // initi alize tools with default settings\r\n // tools: ['zoomToFit', 'zoomIn', 'zoomOut'],\r\n // references: {\r\n // paperScroller,\r\n // commandManager\r\n // }\r\n // });\r\n\r\n // zoomTool.render().$el.appendTo('#zoomToolbar');\r\n\r\n new joint.ui.Tooltip({\r\n target: '[data-tooltip]',\r\n content(el) {\r\n return el.dataset.tooltip;\r\n },\r\n top: '.joint-toolbar',\r\n padding: 10,\r\n direction: 'top'\r\n });\r\n\r\n // Create tooltips for all the shapes in stencil.\r\n stencil\r\n .getGraph()\r\n .get('cells')\r\n .each((cell) => {\r\n new joint.ui.Tooltip({\r\n target: `.joint-stencil [model-id=\"${cell.id}\"]`,\r\n content: cell.get('type').split('.')[1],\r\n bottom: '.joint-stencil',\r\n direction: 'bottom',\r\n padding: 0\r\n });\r\n });\r\n\r\n Object.assign(joint.shapes.bpmn.icons, this.buildNewIcons());\r\n /* Load process digram */\r\n this.loadProcessDiagram(jsonContent);\r\n this.jsonOriginalContent = JSON.stringify(graph.toJSON());\r\n paperScroller.positionContent('top-left', { padding: 50, useModelGeometry: true });\r\n\r\n /* Set g raph object */\r\n window[FlowChartConst.GRAPH] = graph;\r\n window[FlowChartConst.PAPER] = paper;\r\n window[FlowChartConst.PAPER_SCROLLER] = paperScroller;\r\n window[FlowChartConst.ORG_JSONCONTENT] = this.jsonOriginalContent;\r\n window.postMessage(FlowChartConst.DIAGRAM_LOADED, this.getOriginForSelf());\r\n }\r\n\r\n buildNewIcons({ color = '#000' } = {}) {\r\n const svgIcons = {\r\n message1: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"12 12 16 16\"><path fill=\"none\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.2\" d=\"M12.5 15.313v9.374h15v-9.375zm0 0l7.5 5.624 7.5-5.625\"/></svg>`,\r\n message2: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"12 12 16 16\"><path fill=\"${color}\" d=\"M12.5 14.344l7.5 5.625 7.5-5.625zm0 .937v9.375h15v-9.375L20 20.906z\"/></svg>`,\r\n timer1: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><g fill=\"none\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><circle cx=\"20\" cy=\"20\" r=\"10\"/><path d=\"M20 10v3m5-2l-1.5 3m5.5 1l-3 1.5m4 3.5h-3m2 5l-3-1.5M25 29l-1.5-3M20 30v-3m-5 2l1.5-3M11 25l3-1.5M10 20h3m-2-5l3 1.5m1-5.5l1.5 3m5.5-1l-2 7h4\"/></g></svg>`,\r\n conditional1: `<svg xmlns=\"http://www.w3.org/2000/svg\" ><path fill=\"none\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M11.563 11.563h16.874v16.874H11.563V11.563m2.813 2.813h11.25m-11.25 3.75h11.25m-11.25 3.75h11.25m-11.25 3.75h11.25z\"/></svg>`,\r\n link1: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"none\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M14.406 18.125h8.438v-2.813L27.53 20l-4.687 4.688v-2.813h-9.375v-3.75\"/></svg>`,\r\n link2: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"${color}\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M14.406 18.125h8.438v-2.813L27.53 20l-4.687 4.688v-2.813h-9.375v-3.75\"/></svg>`,\r\n signal1: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"none\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M13.17 24.851h13.706l-6.853-11.879-6.854 11.88z\"/></svg>`,\r\n signal2: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"${color}\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M13.17 24.851h13.706l-6.853-11.879-6.854 11.88z\"/></svg>`,\r\n error1: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"none\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M26.4 15.455l-3.238 12.58L17.7 18.37 13.76 23.8l3.478-12.412 5.576 8.72 3.586-4.652z\"/></svg>`,\r\n error2: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"${color}\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M26.4 15.455l-3.238 12.58L17.7 18.37 13.76 23.8l3.478-12.412 5.576 8.72 3.586-4.652z\"/></svg>`,\r\n escalation1: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"none\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M20 13.219l5.625 14.062L20 20.953l-5.625 6.328z\"/></svg>`,\r\n escalation2: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"${color}\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M20 13.219l5.625 14.062L20 20.953l-5.625 6.328z\"/></svg>`,\r\n termination1: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><circle cx=\"20\" cy=\"20\" r=\"10.5\" fill=\"none\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"/></svg>`,\r\n termination2: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><circle cx=\"20\" cy=\"20\" r=\"10.5\" fill=\"${color}\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"/></svg>`,\r\n compensation1: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"none\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M19 13.438v13.124L12.437 20 19 13.437m6.563 0v13.126L19 20l6.563-6.563z\"/></svg>`,\r\n compensation2: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"${color}\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M19 13.438v13.124L12.437 20 19 13.437m6.563 0v13.126L19 20l6.563-6.563z\"/></svg>`,\r\n cancel1: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"none\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M11.284 14.274l2.867-2.868 5.735 5.735 5.735-5.735 2.868 2.868-5.735 5.735 5.735 5.735-2.868 2.867-5.735-5.735-5.735 5.735-2.867-2.867 5.735-5.735-5.735-5.735z\"/></svg>`,\r\n cancel2: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"${color}\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M11.284 14.274l2.867-2.868 5.735 5.735 5.735-5.735 2.868 2.868-5.735 5.735 5.735 5.735-2.868 2.867-5.735-5.735-5.735 5.735-2.867-2.867 5.735-5.735-5.735-5.735z\"/></svg>`,\r\n multiple1: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"none\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M24.52 26.39h-9.443l-2.918-8.982 7.64-5.55 7.64 5.551-2.919 8.98z\"/></svg>`,\r\n multiple2: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"${color}\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M24.52 26.39h-9.443l-2.918-8.982 7.64-5.55 7.64 5.551-2.919 8.98z\"/></svg>`,\r\n parallel1: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"none\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M11.344 17.203v5.625h5.86v6.328h5.624v-6.328h6.328v-5.625h-6.328v-5.86h-5.625v5.86z\"/></svg>`,\r\n parallel2: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 8 24 24\"><path fill=\"${color}\" stroke=\"${color}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M11.344 17.203v5.625h5.86v6.328h5.624v-6.328h6.328v-5.625h-6.328v-5.86h-5.625v5.86z\"/></svg>`\r\n };\r\n\r\n const icons = {};\r\n\r\n Object.keys(svgIcons).forEach((iconName) => {\r\n icons[iconName] = `data:image/svg+xml,${encodeURIComponent(svgIcons[iconName])}`;\r\n });\r\n return icons;\r\n }\r\n\r\n loadProcessDiagram(jsonContent?: string) {\r\n if (!jsonContent) {\r\n return;\r\n }\r\n graph.fromJSON(jsonContent);\r\n }\r\n\r\n addItemTemplate(flowChartId?: string, diagramTemplate?: any) {\r\n if (toolbarConfig.tools) {\r\n const arrSelect = toolbarConfig.tools.filter((item) => {\r\n return item.type === 'select-box';\r\n });\r\n if (arrSelect) {\r\n const option = {\r\n index: 1,\r\n content: diagramTemplate.templateName,\r\n flowChartId,\r\n name: diagramTemplate.name,\r\n jsonContent: diagramTemplate.jsonContent,\r\n selected: false\r\n };\r\n arrSelect[0].options.push(option);\r\n }\r\n }\r\n }\r\n\r\n removeSelectItem(flowChartId?: string) {\r\n if (toolbarConfig.tools) {\r\n const arrSelect = toolbarConfig.tools.filter((item) => {\r\n return item.type === 'select-box';\r\n });\r\n if (arrSelect) {\r\n arrSelect[0].options.splice(\r\n arrSelect[0].options.findIndex((i) => {\r\n return i.flowChartId === flowChartId;\r\n }),\r\n 1\r\n );\r\n }\r\n }\r\n }\r\n\r\n getTempGraph() {\r\n if (this.jsonTempContent) {\r\n this.loadProcessDiagram(JSON.parse(this.jsonTempContent));\r\n }\r\n this.isTemp = true;\r\n this.isReset = false;\r\n this.isDisableToolbar = false;\r\n }\r\n\r\n getOriginForSelf() {\r\n return '*';\r\n }\r\n\r\n setDefaultSelectedValue() {\r\n if (toolbarConfig.tools) {\r\n const arrSelect = toolbarConfig.tools.filter((item) => {\r\n return item.type === 'select-box';\r\n });\r\n if (arrSelect) {\r\n arrSelect[0].options[0].selected = true;\r\n const list = document.getElementsByClassName(`select-box-selection`)[0];\r\n list.getElementsByClassName(`select-box-option-content`)[0].innerHTML = FlowChartConst.SELECT_TEMPLATE;\r\n }\r\n }\r\n }\r\n\r\n\r\n isShowConfirmMessage() {\r\n const myGraph = window[FlowChartConst.GRAPH];\r\n const json = myGraph.toJSON();\r\n if (json.cells.length === 0) {\r\n window[FlowChartConst.IS_NOT_SHOW_AGAIN] = true;\r\n return false;\r\n }\r\n if (!window[FlowChartConst.IS_NOT_SHOW_AGAIN]) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n setTransitionPoint(jsonContent: object, paperScroller: any) {\r\n if (jsonContent) {\r\n const cells = jsonContent[`cells`];\r\n if (cells) {\r\n let x = 0;\r\n let y = 0;\r\n cells.forEach((e) => {\r\n if (e.position && e.position) {\r\n if (x === 0 && y === 0) {\r\n x = e.position.x;\r\n y = e.position.y;\r\n }\r\n if (e.position.x < x) {\r\n x = e.position.x;\r\n }\r\n if (e.position.y < y) {\r\n y = e.position.y;\r\n }\r\n }\r\n });\r\n\r\n if (x !== 0 && y !== 0) {\r\n x = x > 20 ? x - 20 : x;\r\n y = y > 20 ? y - 20 : y;\r\n paperScroller.transitionToPoint(x, y);\r\n }\r\n }\r\n }\r\n }\r\n\r\n openShapeFunctionality(LANG: any) {\r\n const myCellView = window[`my_cellView`];\r\n const inputs = InspectorFunction.getInspectorConfiguration(bpmn2, LANG);\r\n const cell = myCellView.model;\r\n const type = cell.get('type');\r\n const inspector = joint.ui.Inspector.create('#inspector-container', {\r\n cell,\r\n inputs: inputs[type],\r\n groups: {\r\n general: { label: type, index: 1 },\r\n defaults: { index: 2 },\r\n fontsize: { index: 3 },\r\n appearance: { index: 4 }\r\n }\r\n });\r\n }\r\n\r\n setZoomToFit(editMode: number) {\r\n if (editMode === FlowchartViewMode.View) {\r\n const paperScroller = window[FlowChartConst.PAPER_SCROLLER];\r\n paperScroller.zoomToFit({ padding: 20, scaleGrid: 0.2, minScale: 0.2, maxScale: 5 });\r\n }\r\n }\r\n\r\n setPaperCenter(editMode: number) {\r\n if (editMode === FlowchartViewMode.View) {\r\n const paperScroller = window[FlowChartConst.PAPER_SCROLLER];\r\n paperScroller.contentToCenter({ padding: 20, scaleGrid: 0.2, minScale: 0.2, maxScale: 5 });\r\n }\r\n }\r\n\r\n setPaperTopLeft(editMode: number) {\r\n if (editMode === FlowchartViewMode.View) {\r\n const paperScroller = window[FlowChartConst.PAPER_SCROLLER];\r\n paperScroller.contentToTopLeft({ padding: 50, scaleGrid: 0.2, minScale: 0.2, maxScale: 5 });\r\n }\r\n }\r\n\r\n setScrollToContent() {\r\n const graph = window[`graph`];\r\n const paperScroller = window[FlowChartConst.PAPER_SCROLLER];\r\n if (graph && paperScroller) {\r\n const jsonContentObj = graph.toJSON();\r\n if (jsonContentObj && jsonContentObj.cells.length > 0) {\r\n paperScroller.scrollToContent();\r\n } else {\r\n paperScroller.center();\r\n }\r\n }\r\n }\r\n\r\n onChangeTextInside(cell: any) {\r\n if (cell.get('type') === 'bpmn2.Event') {\r\n if (cell.attributes.attrs.text.style['text-inside']) {\r\n cell.attributes.attrs.label.textVerticalAnchor = 'middle';\r\n cell.attributes.attrs.icon.refWidth = '20%';\r\n cell.attributes.attrs.icon.refHeight = '20%';\r\n } else {\r\n cell.attributes.attrs.label.textVerticalAnchor = 'top';\r\n cell.attributes.attrs.icon.refWidth = '70%';\r\n cell.attributes.attrs.icon.refHeight = '70%';\r\n }\r\n } else if (\r\n cell.get('type') === 'bpmn2.Gateway' ||\r\n cell.get('type') === 'bpmn2.Conversation' ||\r\n cell.get('type') === 'bpmn2.DataObject' ||\r\n cell.get('type') === 'bpmn2.DataStore'\r\n ) {\r\n if (cell.attributes.attrs.text.style['text-inside']) {\r\n cell.attributes.attrs.label.textVerticalAnchor = 'middle';\r\n } else {\r\n cell.attributes.attrs.label.textVerticalAnchor = 'top';\r\n }\r\n }\r\n }\r\n\r\n onChangeLinkLabel(cell: any, defSize: number) {\r\n if (cell.isLink()) {\r\n let size = defSize;\r\n let refPos = 0;\r\n const linkId = cell.id;\r\n // eslint-disable-next-line func-names\r\n graph.getLinks().every(function (e) {\r\n if (linkId === e.id) {\r\n return false;\r\n }\r\n refPos += 1;\r\n return true;\r\n });\r\n if (\r\n graph.getLinks()[refPos].attributes.attrs.text &&\r\n graph.getLinks()[refPos].attributes.attrs.text['font-size']\r\n ) {\r\n size = graph.getLinks()[refPos].attributes.attrs.text['font-size'];\r\n }\r\n graph.getLinks()[refPos].prop('labels/0/attrs/label/fontSize', size);\r\n }\r\n }\r\n\r\n onChangeAlligment(cell: any, opt: any) {\r\n if (cell.get('type') !== 'bpmn2.HeaderedPool') {\r\n return;\r\n }\r\n\r\n if (\r\n opt.direction &&\r\n (opt.direction === 'top-right' ||\r\n opt.direction === 'top-right' ||\r\n opt.direction === 'bottom-right' ||\r\n opt.direction === 'bottom-left')\r\n ) {\r\n const height = cell.attributes.size.height;\r\n const headerLabelAnchor = cell.attributes.attrs.headerLabel['text-anchor'];\r\n this.setHeaderAttribute(cell, headerLabelAnchor, height);\r\n\r\n // update last lane value\r\n if (!this.isUndefinedSize(cell.attributes)) {\r\n const h = cell.attributes.size.height;\r\n const t = this.getTotalLaneHeight(cell.attributes);\r\n const b = h - t;\r\n if (b > 0) {\r\n const s = cell.attributes.lanes.slice(-1)[0].size + b;\r\n const index = cell.attributes.lanes.length - 1;\r\n cell.attributes.lanes[index].size = s;\r\n\r\n const lane = `lanes_${index}`;\r\n cell.metrics.lanes[lane].size = s;\r\n cell.metrics.lanes[lane].takenUpSpaceByLaneAndSublanes = s;\r\n } else {\r\n const s = cell.attributes.lanes.slice(-1)[0].size + b;\r\n const index = cell.attributes.lanes.length - 1;\r\n cell.attributes.lanes[index].size = s;\r\n\r\n const lane = `lanes_${index}`;\r\n cell.metrics.lanes[lane].size = s;\r\n cell.metrics.lanes[lane].takenUpSpaceByLaneAndSublanes = s;\r\n }\r\n }\r\n } else if (opt.propertyPath && opt.propertyPath === 'attrs/headerLabel/text-anchor') {\r\n const height = cell.attributes.size.height;\r\n const textAnchor = opt.propertyValue;\r\n this.setHeaderAttribute(cell, textAnchor, height);\r\n }\r\n }\r\n\r\n setHeaderAttribute(cell: any, textAnchor: string, height: number) {\r\n switch (textAnchor) {\r\n case 'end':\r\n cell.attributes.attrs.headerLabel.refY = 8;\r\n break;\r\n case 'middle':\r\n cell.attributes.attrs.headerLabel.refY = height / 2;\r\n break;\r\n case 'start':\r\n cell.attributes.attrs.headerLabel.refY = height - 8;\r\n break;\r\n default:\r\n cell.attributes.attrs.headerLabel.refY = height / 2;\r\n break;\r\n }\r\n }\r\n\r\n isUndefinedSize(attributes) {\r\n let bResult = false;\r\n if (attributes && attributes.lanes.length > 0) {\r\n attributes.lanes.every((e) => {\r\n if (!e.size) {\r\n bResult = true;\r\n return false;\r\n }\r\n return true;\r\n });\r\n }\r\n return bResult;\r\n }\r\n\r\n getTotalLaneHeight(attributes) {\r\n let total = 0;\r\n if (attributes && attributes.lanes.length > 0) {\r\n attributes.lanes.forEach((e) => {\r\n if (e.size) {\r\n total += e.size;\r\n }\r\n });\r\n }\r\n return total;\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { takeUntil } from \"rxjs/operators\";\r\nimport { TranslateLibraryService } from \"../../../../services/translation-registry.service\";\r\nimport { QMSCKEditorBpmn } from \"../../../common/models/qms-ckeditor-bpmn.model\";\r\nimport { QMSCKEditorToastService } from \"../../../common/toast/qms-ckeditor-toast.service\";\r\nimport { QMSCKEditorBaseComponent } from \"../../../qms-ckeditor-base.component\";\r\nimport { QMSCKEditorBpmnApiService } from \"../../../services/qms-ckeditor-bpmn-api.service\";\r\nimport { BpmnService } from \"../../../services/qms-ckeditor-bpmn.service\";\r\n\r\n@Component({\r\n selector: 'save-template',\r\n templateUrl: './save-template.component.html',\r\n styleUrls: ['./save-template.component.scss']\r\n})\r\n\r\nexport class SaveTemplateComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n saveFormGroup: FormGroup = new FormGroup({\r\n templateName: new FormControl('', [Validators.required])\r\n });\r\n templateName = '';\r\n bpmn: QMSCKEditorBpmn = new QMSCKEditorBpmn();\r\n\r\n constructor(\r\n private translate: TranslateLibraryService,\r\n private bmpnService: BpmnService,\r\n private bpmnApiService: QMSCKEditorBpmnApiService,\r\n public dialogRef: MatDialogRef<SaveTemplateComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorBpmn\r\n ) {\r\n super();\r\n this.bpmn = data;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n saveTemplate() {\r\n this.bpmn.templateName = this.templateName;\r\n this.bpmnApiService\r\n .bpmnModifying(this.bpmn)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.bmpnService.addItemTemplate(result, this.bpmn);\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);\r\n this.onCloseDialog();\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);\r\n }\r\n });\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Component, HostListener, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { takeUntil } from \"rxjs/operators\";\r\nimport { TranslateLibraryService } from \"../../../services/translation-registry.service\";\r\nimport { CKEditorEventConst } from \"../../common/constants/ckeditorEvent.constant\";\r\nimport { FlowChartConst } from \"../../common/constants/ckeditorFlowchart.const\";\r\nimport guidHelper from \"../../common/helper/guidHelper\";\r\nimport { QMSCKEditorBpmnTemplate } from \"../../common/models/qms-ckeditor-bpmn-template.model\";\r\nimport { QMSCKEditorBpmn } from \"../../common/models/qms-ckeditor-bpmn.model\";\r\nimport { QMSCKEditorDialogData } from \"../../common/models/qms-ckeditor-dialog.model\";\r\nimport { QMSCKEditorConfirmComponent } from \"../../common/module/confirm/qms-ckeditor-confirm.component\";\r\nimport { QMSCKEditorToastService } from \"../../common/toast/qms-ckeditor-toast.service\";\r\nimport { QMSCKEditorBaseComponent } from \"../../qms-ckeditor-base.component\";\r\nimport { QMSCKEditorBpmnApiService } from \"../../services/qms-ckeditor-bpmn-api.service\";\r\nimport { BpmnService } from \"../../services/qms-ckeditor-bpmn.service\";\r\nimport { SaveTemplateComponent } from \"./save-template/save-template.component\";\r\n\r\n@Component({\r\n selector: 'qms-bpmn',\r\n templateUrl: './qms-ckeditor-bpmn.component.html',\r\n styleUrls: ['./qms-ckeditor-bpmn.component.scss']\r\n})\r\nexport class QMSCKEditorBpmnComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n jsonContent: string;\r\n expandedPanel = true;\r\n id = '';\r\n bpmn: QMSCKEditorBpmn = new QMSCKEditorBpmn();\r\n bpmnTemlates: QMSCKEditorBpmnTemplate[] = [];\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private bmpnService: BpmnService,\r\n private bpmnApiService: QMSCKEditorBpmnApiService,\r\n public dialogRef: MatDialogRef<QMSCKEditorBpmnComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: string\r\n ) {\r\n super();\r\n this.id = data;\r\n }\r\n\r\n @HostListener('window:message', ['$event'])\r\n onMessage(event) {\r\n if (event.data === FlowChartConst.SAVE_AS_TEMPLATE) {\r\n this.onSaveAsTemplate();\r\n }\r\n else if (event.data === FlowChartConst.DELETE_TEMPLATE) {\r\n this.onDeleteTemplate(this.LANG.BPMN.DELETE_TEMPLATE, this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_DELETE_TEMPLATE)\r\n }\r\n else if (event.data === FlowChartConst.MUST_SELECT_TEMPLATE) {\r\n this.showInfoMessage(this.LANG.BPMN.SELECT_TEMPLATE, this.LANG.BPMN.SELECT_TEMPLATE_INFORMATION);\r\n }\r\n else if (event.data === FlowChartConst.CHANGING_TEMPLATE) {\r\n this.onSelectedTemplate();\r\n }\r\n else if (event.data === FlowChartConst.RESET_TEMPLATE) {\r\n this.onResetTemplate();\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.bpmnTemlates = await this.getTemplates();\r\n if (this.id) {\r\n this.jsonContent = await this.getJsonContent(this.id);\r\n }\r\n this.bmpnService.buildDiagram(\r\n this.bpmnTemlates,\r\n null,\r\n CKEditorEventConst.QMSCK_BPMN,\r\n this.jsonContent,\r\n 1,\r\n this.LANG\r\n );\r\n }\r\n\r\n expandPanel() {\r\n this.expandedPanel = !this.expandedPanel;\r\n const panelStencil = document.getElementById('panel-stencil-container');\r\n const paperContainer = document.getElementById('paperpanel');\r\n const stencilContainer = document.getElementById('stencilpanel');\r\n if (panelStencil) {\r\n if (!this.expandedPanel) {\r\n stencilContainer.style.height = '50px';\r\n panelStencil.style.height = '50px';\r\n paperContainer.style.height = '500px';\r\n } else {\r\n stencilContainer.style.height = '150px';\r\n panelStencil.style.height = '150px';\r\n paperContainer.style.height = '400px';\r\n }\r\n }\r\n }\r\n\r\n async getTemplates(): Promise<QMSCKEditorBpmnTemplate[]> {\r\n return new Promise((resolve) => {\r\n this.bpmnApiService\r\n .bpmnGetTemplates()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n resolve(result);\r\n })\r\n })\r\n }\r\n\r\n async getJsonContent(id: string): Promise<string> {\r\n return new Promise((resolve) => {\r\n this.bpmnApiService\r\n .getBpmnById(id)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n resolve(result.jsonContent);\r\n }\r\n });\r\n })\r\n }\r\n\r\n async saveImageContent() {\r\n return new Promise((resolve) => {\r\n const graph = window[FlowChartConst.GRAPH];\r\n const jsonContent = JSON.stringify(graph.toJSON());\r\n this.bpmn = {\r\n id: this.id ? this.id : guidHelper.empty,\r\n jsonContent: jsonContent,\r\n isTemplate: false,\r\n templateName: ''\r\n }\r\n\r\n this.bpmnApiService\r\n .bpmnModifying(this.bpmn)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n resolve(result);\r\n }\r\n });\r\n })\r\n }\r\n\r\n async getImageContent(paper: any) {\r\n return new Promise((resolve) => {\r\n paper.toPNG((imageData) => {\r\n const arrString = imageData.split(',');\r\n resolve(arrString[1]);\r\n });\r\n });\r\n }\r\n\r\n async onInsertImage() {\r\n const id = await this.saveImageContent();\r\n const paper = window[`paper`];\r\n const imageContent = 'data:image/png;base64,' + await this.getImageContent(paper);\r\n const result = { key: `${CKEditorEventConst.QMSCK_BPMN}#${id}`, values: imageContent }\r\n this.dialogRef.close(result);\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n onSaveAsTemplate() {\r\n const graph = window[FlowChartConst.GRAPH];\r\n const jsonContent = JSON.stringify(graph.toJSON());\r\n let data = new QMSCKEditorBpmn();\r\n data = {\r\n id: guidHelper.empty,\r\n jsonContent: jsonContent,\r\n isTemplate: true,\r\n templateName: ''\r\n }\r\n const dialogTemplate = this.dialog.open(SaveTemplateComponent, {\r\n width: '450px',\r\n height: '220px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n // TDO\r\n }\r\n });\r\n }\r\n\r\n onSelectedTemplate() {\r\n const selectedJsonContent = window[FlowChartConst.SELECTED_JSON_CONTENT];\r\n if (selectedJsonContent) {\r\n const graph = window[FlowChartConst.GRAPH];\r\n if (graph) {\r\n graph.fromJSON(JSON.parse(selectedJsonContent));\r\n }\r\n }\r\n }\r\n\r\n onDeleteTemplate(title: string, content: string) {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = title;\r\n data.content = content;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const id = window[FlowChartConst.SELECTED_FLOWCHART_ID];\r\n this.bpmnApiService\r\n .bpmnDeleteTemplate(id)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.bmpnService.removeSelectItem(id);\r\n this.bmpnService.setDefaultSelectedValue();\r\n window[FlowChartConst.IS_SELECTED_TEMPLATE] = false;\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.DELETED);\r\n }\r\n else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.DELETE_FAILED);\r\n }\r\n })\r\n }\r\n });\r\n }\r\n\r\n onResetTemplate() {\r\n const ogrJsonContent = window[FlowChartConst.ORG_JSONCONTENT];\r\n if (ogrJsonContent) {\r\n const graph = window[FlowChartConst.GRAPH];\r\n if (graph) {\r\n graph.fromJSON(JSON.parse(ogrJsonContent));\r\n this.bmpnService.setDefaultSelectedValue();\r\n window[FlowChartConst.IS_SELECTED_TEMPLATE] = false;\r\n }\r\n }\r\n }\r\n\r\n showInfoMessage(title: string, content: string) {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = title;\r\n data.content = content;\r\n data.isMessage = true;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n //TODO\r\n }\r\n });\r\n }\r\n}\r\n","export class QMSCKEditorImageMap {\r\n name: string;\r\n imageUrl: string;\r\n areas: QMSCKEditorImageArea[];\r\n module: number;\r\n entityId: string;\r\n editorContent: string;\r\n linkJavaScriptLinksAllowed: boolean;\r\n imageHeight: number;\r\n imageWidth: number;\r\n\r\n constructor() {\r\n this.name = '';\r\n this.imageUrl = '';\r\n this.areas = [];\r\n this.entityId = '';\r\n this.editorContent = '';\r\n this.imageHeight = 0;\r\n this.imageWidth = 0;\r\n this.linkJavaScriptLinksAllowed = true;\r\n }\r\n}\r\n\r\nexport class QMSCKEditorImageArea {\r\n shape: \"rect\" | \"circle\" | \"poly\" | \"\";\r\n coords: string;\r\n href: string;\r\n target: string;\r\n alt: string;\r\n\r\n constructor() {\r\n this.shape = '';\r\n this.coords = '';\r\n this.alt = '';\r\n this.href = '';\r\n this.target = '';\r\n }\r\n}\r\n","export enum ImageModeName {\r\n Pointer = 'pointer',\r\n Rectangle = 'rect',\r\n Circle = 'circle',\r\n Polygon = 'poly',\r\n Remove = 'remove'\r\n}\r\n","export class IconSvg {\r\n public static VECTOR_POINTER = `<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M13.75,10.19L14.38,10.32L18.55,12.4C19.25,12.63 19.71,13.32 19.65,14.06V14.19L19.65,14.32L18.75,20.44C18.69,20.87 18.5,21.27 18.15,21.55C17.84,21.85 17.43,22 17,22H10.12C9.63,22 9.18,21.82 8.85,21.47L2.86,15.5L3.76,14.5C4,14.25 4.38,14.11 4.74,14.13H5.03L9,15V4.5A2,2 0 0,1 11,2.5A2,2 0 0,1 13,4.5V10.19H13.75Z\" /></svg>`;\r\n public static VECTOR_RECTANGLE = `<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M2,2H8V4H16V2H22V8H20V16H22V22H16V20H8V22H2V16H4V8H2V2M16,8V6H8V8H6V16H8V18H16V16H18V8H16M4,4V6H6V4H4M18,4V6H20V4H18M4,18V20H6V18H4M18,18V20H20V18H18Z\" /></svg>`;\r\n public static VECTOR_CIRCLE = `<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M9,2V4.06C6.72,4.92 4.92,6.72 4.05,9H2V15H4.06C4.92,17.28 6.72,19.09 9,19.95V22H15V19.94C17.28,19.08 19.09,17.28 19.95,15H22V9H19.94C19.08,6.72 17.28,4.92 15,4.05V2M11,4H13V6H11M9,6.25V8H15V6.25C16.18,6.86 17.14,7.82 17.75,9H16V15H17.75C17.14,16.18 16.18,17.14 15,17.75V16H9V17.75C7.82,17.14 6.86,16.18 6.25,15H8V9H6.25C6.86,7.82 7.82,6.86 9,6.25M4,11H6V13H4M18,11H20V13H18M11,18H13V20H11\" /></svg>`;\r\n public static VECTOR_POLYGON = `<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M2,2V8H4.28L5.57,16H4V22H10V20.06L15,20.05V22H21V16H19.17L20,9H22V3H16V6.53L14.8,8H9.59L8,5.82V2M4,4H6V6H4M18,5H20V7H18M6.31,8H7.11L9,10.59V14H15V10.91L16.57,9H18L17.16,16H15V18.06H10V16H7.6M11,10H13V12H11M6,18H8V20H6M17,18H19V20H17\" /></svg>`;\r\n public static VECTOR_REMOVE = `<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" stroke=\"#000000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\" color=\"#000000\"><path fill=\"#000000\" d=\"M17,12 L7,12\"/> <circle cx=\"12\" cy=\"12\" r=\"10\"/> </svg>`;\r\n}\r\n","/**\r\n *\tImage Map Editor (imgmap) - in-browser imagemap editor\r\n *\tCopyright (C) 2006 - 2008 Adam Maschek (adam.maschek @ gmail.com)\r\n *\r\n *\tThis program is free software; you can redistribute it and/or\r\n *\tmodify it under the terms of the GNU General Public License\r\n *\tas published by the Free Software Foundation; either version 2\r\n *\tof the License, or (at your option) any later version.\r\n *\r\n *\tThis program is distributed in the hope that it will be useful,\r\n *\tbut WITHOUT ANY WARRANTY; without even the implied warranty of\r\n *\tMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n *\tGNU General Public License for more details.\r\n *\r\n *\tYou should have received a copy of the GNU General Public License\r\n *\talong with this program; if not, write to the Free Software\r\n *\tFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\r\n */\r\n/**\r\n *\t@fileoverview\r\n *\tOnline Image Map Editor - main script file.\r\n *\tThis is the main script file of the Online Image Map Editor.\r\n *\r\n *\t@date\t26-02-2007 2:24:50\r\n *\t@author\tAdam Maschek (adam.maschek(at)gmail.com)\r\n *\t@copyright\r\n *\t@version 2.2\r\n *\r\n */\r\n/*jslint browser: true, newcap: false, white: false, onevar: false, plusplus: false, eqeqeq: false, nomen: false */\r\n/*global imgmapStrings:true, window:false, G_vmlCanvasManager:false */\r\n\r\n/**\r\n *\t@author\tAdam Maschek\r\n *\t@constructor\r\n *\t@param config\tThe config object.\r\n */\r\ninterface IImageMapConfig {\r\n custom_callbacks: object;\r\n CL_DRAW_SHAPE: string;\r\n CL_DRAW_BG: string;\r\n CL_NORM_SHAPE: string;\r\n CL_NORM_BG: string;\r\n CL_HIGHLIGHT_SHAPE: string;\r\n CL_HIGHLIGHT_BG: string;\r\n CL_KNOB: string;\r\n bounding_box: boolean;\r\n label: string; //the format string of the area labels - possible values: %n - number, %c - coords, %h - href, %a - alt, %t - title\r\n label_class: string; //the css class to apply on labels\r\n label_style: string; //the css style(s) to apply on labels\r\n hint: string; //the format string of the area mouseover hints - possible values: %n - number, %c - coords, %h - href, %a - alt, %t - title\r\n draw_opacity: string; //the opacity value of the area while drawing, moving or resizing - possible values 0 - 100 or range \"(x)-y\"\r\n norm_opacity: string; //the opacity value of the area while relaxed - possible values 0 - 100\tor range \"(x)-y\"\r\n highlight_opacity: string; //the opacity value of the area while highlighted - possible values 0 - 100 or range \"(x)-y\"\r\n cursor_default: string; //the css cursor while hovering over the image\r\n}\r\n\r\nexport interface IImageMapOptions {\r\n imageElement: HTMLElement;\r\n custom_callbacks: Object;//TODO: typing\r\n bounding_box: boolean;\r\n CL_DRAW_SHAPE: string;\r\n CL_NORM_SHAPE: string;\r\n CL_HIGHLIGHT_SHAPE: string;\r\n strings: Object;\r\n}\r\n\r\nexport interface IImageMapData {\r\n name: string;\r\n id?: string;\r\n areas: IImageMapArea[];\r\n imageWidth?: number;\r\n imageHeight?: number;\r\n}\r\n\r\nexport interface IImageMapArea {\r\n shape: \"rect\" | \"circle\" | \"poly\" | \"\";\r\n coords: string;\r\n href: string;\r\n target: string;\r\n alt: string;\r\n}\r\n\r\nexport class QMSCKEditorImageMapLib {\r\n /** Version string of imgmap */\r\n version = \"2.2\";\r\n\r\n /** Build date of imgmap */\r\n buildDate = \"2009/08/12 22:18\";\r\n\r\n /** Sequential build number of imgmap */\r\n buildNumber = \"113\";\r\n\r\n /** Config object of the imgmap instance */\r\n config: IImageMapConfig;\r\n\r\n /** Status flag to indicate current drawing mode */\r\n is_drawing = 0;\r\n\r\n /**\tArray to hold language strings */\r\n strings = [];\r\n\r\n /** Helper array for some drawing operations */\r\n memory = [];\r\n\r\n /**\tArray to hold reference to all areas (canvases) */\r\n public areas = [];\r\n\r\n imageElement: HTMLElement;\r\n parentImageElement: HTMLElement;\r\n\r\n /**\tAssociative array to hold bound event handlers */\r\n eventHandlers = {};\r\n\r\n currentid = 0;\r\n draggedId = null;\r\n selectedId = null;\r\n nextShape = 'rect';\r\n\r\n /**\tCallback events that you can handle in your GUI. */\r\n event_types = [\r\n 'onAddArea',\r\n 'onRemoveArea',\r\n 'onDrawArea',\r\n 'onResizeArea',\r\n 'onMoveArea',\r\n 'onLoadImage',\r\n 'onSelectArea',\r\n 'onStatusMessage',\r\n 'onAreaChanged'\r\n ];\r\n\r\n isLoaded = false;\r\n\r\n /**\tholds the name of the actively edited map, use getMapName to read it */\r\n mapname = '';\r\n\r\n /**\tholds the id of the actively edited map, use getMapIdto read it */\r\n mapid = '';\r\n\r\n /** global scale of areas (1-normal, 2-doubled, 0.5-half, etc.) */\r\n globalscale = 1;\r\n\r\n /** is_drawing draw mode constant */\r\n DM_RECTANGLE_DRAW = 1;\r\n /** is_drawing draw mode constant */\r\n DM_RECTANGLE_MOVE = 11;\r\n /** is_drawing draw mode constant */\r\n DM_RECTANGLE_RESIZE_TOP = 12;\r\n /** is_drawing draw mode constant */\r\n DM_RECTANGLE_RESIZE_RIGHT = 13;\r\n /** is_drawing draw mode constant */\r\n DM_RECTANGLE_RESIZE_BOTTOM = 14;\r\n /** is_drawing draw mode constant */\r\n DM_RECTANGLE_RESIZE_LEFT = 15;\r\n\r\n /** is_drawing draw mode constant */\r\n DM_SQUARE_DRAW = 2;\r\n /** is_drawing draw mode constant */\r\n DM_SQUARE_MOVE = 21;\r\n /** is_drawing draw mode constant */\r\n DM_SQUARE_RESIZE_TOP = 22;\r\n /** is_drawing draw mode constant */\r\n DM_SQUARE_RESIZE_RIGHT = 23;\r\n /** is_drawing draw mode constant */\r\n DM_SQUARE_RESIZE_BOTTOM = 24;\r\n /** is_drawing draw mode constant */\r\n DM_SQUARE_RESIZE_LEFT = 25;\r\n\r\n /** is_drawing draw mode constant */\r\n DM_POLYGON_DRAW = 3;\r\n /** is_drawing draw mode constant */\r\n DM_POLYGON_LASTDRAW = 30;\r\n /** is_drawing draw mode constant */\r\n DM_POLYGON_MOVE = 31;\r\n\r\n //browser sniff\r\n isMSIE = false;\r\n isSafari = false;\r\n constructor(options: IImageMapOptions) {\r\n this.config = {\r\n custom_callbacks: {}, //possible values: see below!\r\n //default color values\r\n CL_DRAW_SHAPE: '#d00',\r\n CL_DRAW_BG: '#fff',\r\n CL_NORM_SHAPE: '#d00',\r\n CL_NORM_BG: '#fff',\r\n CL_HIGHLIGHT_SHAPE: '#d00',\r\n CL_HIGHLIGHT_BG: '#fff',\r\n CL_KNOB: '#555',\r\n bounding_box: true,\r\n label: '%n',//the format string of the area labels - possible values: %n - number, %c - coords, %h - href, %a - alt, %t - title\r\n label_class: 'imgmap_label',//the css class to apply on labels\r\n label_style: 'font: bold 10px Arial',//the css style(s) to apply on labels\r\n hint: '#%n %h',//the format string of the area mouseover hints - possible values: %n - number, %c - coords, %h - href, %a - alt, %t - title\r\n draw_opacity: '35',//the opacity value of the area while drawing, moving or resizing - possible values 0 - 100 or range \"(x)-y\"\r\n norm_opacity: '50',//the opacity value of the area while relaxed - possible values 0 - 100\tor range \"(x)-y\"\r\n highlight_opacity: '70',//the opacity value of the area while highlighted - possible values 0 - 100 or range \"(x)-y\"\r\n cursor_default: 'crosshair' //the css cursor while hovering over the image\r\n };\r\n //browser sniff\r\n const navigator = window.navigator;\r\n const userAgent = window.navigator.userAgent;\r\n this.isMSIE = (navigator.appName == \"Microsoft Internet Explorer\");\r\n this.isSafari = userAgent.indexOf('Safari') != -1;\r\n this.setup(options);\r\n }\r\n\r\n /**\r\n *\tMain setup function.\r\n *\tCan be called manually or constructor will call it.\r\n *\t@date\t22-02-2007 0:15:42\r\n *\t@author\tAdam Maschek (adam.maschek(at)gmail.com)\r\n *\t@param\tconfig\tconfig object\r\n *\t@return\tTrue if all went ok.\r\n */\r\n setup = function (options: IImageMapOptions) {\r\n //copy non-default options parameters to this.config\r\n for (var i in options) {\r\n if (options.hasOwnProperty(i)) {\r\n this.config[i] = options[i];\r\n }\r\n }\r\n\r\n //set document event hooks\r\n this.addEvent(document, 'keydown', this.eventHandlers.doc_keydown = this.doc_keydown.bind(this));\r\n this.addEvent(document, 'keyup', this.eventHandlers.doc_keyup = this.doc_keyup.bind(this));\r\n this.addEvent(document, 'mousedown', this.eventHandlers.doc_mousedown = this.doc_mousedown.bind(this));\r\n\r\n //set imageElement element - supposedly it already exists in the DOM\r\n this.imageElement = options.imageElement;\r\n if (!this.imageElement) {\r\n throw 'The image element must be existed in the DOM';\r\n }\r\n if (!this.imageElement.parentElement) {\r\n throw 'The parent of the image element must be existed in the DOM';\r\n }\r\n\r\n this.parentImageElement = this.imageElement.parentElement\r\n this.disableSelection(this.parentImageElement);\r\n\r\n //wipe all\r\n this.removeAllAreas();\r\n\r\n //reset scale\r\n this.globalscale = 1;\r\n\r\n //setup events\r\n this.addEvent(this.imageElement, \"dragstart\", this.eventHandlers.img_dragstart = this.img_dragstart.bind(this));\r\n this.addEvent(this.imageElement, 'mousedown', this.eventHandlers.img_mousedown = this.img_mousedown.bind(this));\r\n this.addEvent(this.imageElement, 'mouseup', this.eventHandlers.img_mouseup = this.img_mouseup.bind(this));\r\n this.addEvent(this.imageElement, 'mousemove', this.eventHandlers.img_mousemove = this.img_mousemove.bind(this));\r\n this.imageElement.style.cursor = this.config.cursor_default;\r\n\r\n //Load strings from a key:value object\r\n if (options.strings) {\r\n for (var key in options.strings) {\r\n if (options.strings.hasOwnProperty(key)) {\r\n this.strings[key] = options.strings[key];\r\n }\r\n }\r\n }\r\n //validate event hooks\r\n var found, j, le;\r\n for (i in this.config.custom_callbacks) {\r\n if (this.config.custom_callbacks.hasOwnProperty(i)) {\r\n found = false;\r\n for (j = 0, le = this.event_types.length; j < le; j++) {\r\n if (i == this.event_types[j]) {\r\n found = true;\r\n break;\r\n }\r\n }\r\n //TODO: remove invalid callback\r\n if (!found) {\r\n this.log(\"Unknown custom callback: \" + i, 1);\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n };\r\n\r\n\r\n /**\r\n *\tAttach new 'evt' event handler 'callback' to 'obj'\r\n *\t@date\t24-02-2007 21:16:20\r\n *\t@param\tobj\tThe object on which the handler is defined.\r\n *\t@param\tevt\tThe name of the event, like mousedown.\r\n *\t@param\tcallback\tThe callback function (named if you want it to be removed).\r\n */\r\n addEvent = function (obj, evt, callback) {\r\n if (obj.addEventListener) {\r\n //W3C style model\r\n obj.addEventListener(evt, callback, false);\r\n return true;\r\n }\r\n else {\r\n //Microsoft style registration model\r\n return obj.attachEvent(\"on\" + evt, callback);\r\n }\r\n };\r\n\r\n /**\r\n *\tDetach 'evt' event handled by 'callback' from 'obj' object.\r\n *\tCallback must be a non anonymous function, see eventHandlers.\r\n *\t@see\t#eventHandlers\r\n *\tExample: myimgmap.removeEvent(myimgmap.pic, 'mousedown', myimgmap.eventHandlers.img_mousedown);\r\n *\t@date\t24-11-2007 15:22:17\r\n *\t@param\tobj\tThe object on which the handler is defined.\r\n *\t@param\tevt\tThe name of the event, like mousedown.\r\n *\t@param\tcallback\tThe named callback function.\r\n */\r\n removeEvent = function (obj, evt, callback) {\r\n if (obj.removeEventListener) {\r\n //W3C style model\r\n obj.removeEventListener(evt, callback, false);\r\n return true;\r\n }\r\n else {\r\n //Microsoft style detach model\r\n return obj.detachEvent(\"on\" + evt, callback);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tFires custom hook onStatusMessage, passing the status string.\r\n *\tUse this to update your GUI.\r\n *\t@author\tAdam Maschek (adam.maschek(at)gmail.com)\r\n *\t@date\t26-07-2008 13:22:54\r\n *\t@param\tstr\tThe status string\r\n */\r\n statusMessage = function (str) {\r\n this.fireEvent('onStatusMessage', str);\r\n };\r\n\r\n\r\n /**\r\n *\tAdds basic logging functionality using firebug console object if available.\r\n *\t@date\t20-02-2007 17:55:18\r\n *\t@author\tAdam Maschek (adam.maschek(at)gmail.com)\r\n *\t@param\tobj\tThe object or string you want to debug/echo.\r\n */\r\n log = function (obj, level) {\r\n };\r\n\r\n\r\n /**\r\n *\tGet the map name of the current imagemap.\r\n *\tIf doesnt exist, nor map id, generate a new name based on timestamp.\r\n *\tThe most portable solution is to use the same value for id and name.\r\n *\tThis also conforms the HTML 5 specification, that says:\r\n *\t\"If the id attribute is also specified, both attributes must have the same value.\"\r\n *\t@link\thttp://www.w3.org/html/wg/html5/#the-map-element\r\n *\t@author\tadam\r\n *\t@see\t#getMapId\r\n *\t@return The name of the map.\r\n */\r\n getMapName = function () {\r\n if (!this.mapname) {\r\n if (!!this.mapid) { return this.mapid; }\r\n var now = new Date();\r\n this.mapname = 'imagemap' + now.getFullYear() + (now.getMonth() + 1) + now.getDate() + now.getHours() + now.getMinutes() + now.getSeconds();\r\n }\r\n return this.mapname;\r\n };\r\n\r\n\r\n /**\r\n *\tGet the map id of the current imagemap.\r\n *\tIf doesnt exist, use map name.\r\n *\t@author\tadam\r\n *\t@see\t#getMapName\r\n *\t@return\tThe id of the map.\r\n */\r\n getMapId = function () {\r\n if (!this.mapid) {\r\n this.mapid = this.getMapName();\r\n }\r\n return this.mapid;\r\n };\r\n\r\n getMapJson = function () {\r\n var mapJson: IImageMapData = {\r\n name: this.getMapName(),\r\n id: this.getMapId(),\r\n areas: []\r\n }\r\n for (var i = 0; i < this.areas.length; i++) {\r\n const area = this.areas[i];\r\n if (area && area.lastInput && area.shape) {\r\n const areaJson: IImageMapArea = {\r\n coords: area.lastInput,\r\n shape: area.shape,\r\n target: area.atarget,\r\n alt: area.aalt,\r\n href: area.ahref\r\n };\r\n mapJson.areas.push(areaJson);\r\n }\r\n }\r\n return mapJson;\r\n }\r\n\r\n /**\r\n *\tConvert wild shape names to normal ones.\r\n *\t@date\t25-12-2008 19:27:06\r\n *\t@param\tshape\tThe name of the shape to convert.\r\n *\t@return\tThe normalized shape name, rect as default.\r\n */\r\n _normShape = function (shape) {\r\n if (!shape) { return 'rect'; }\r\n shape = trim(shape).toLowerCase();\r\n if (shape.substring(0, 4) == 'rect') { return 'rect'; }\r\n if (shape.substring(0, 4) == 'circ') { return 'circle'; }\r\n if (shape.substring(0, 4) == 'poly') { return 'poly'; }\r\n return 'rect';\r\n };\r\n\r\n\r\n /**\r\n *\tTry to normalize coordinates that came from:\r\n *\t1. html textarea\r\n *\t2. user input in the active area's input field\r\n *\t3. from the html source in case of plugins or highlighter\r\n *\tExample of inputs that need to be handled:\r\n *\t\t035,035 075,062\r\n *\t\t150,217, 190,257, 150,297,110,257\r\n *\t@author\tadam\r\n *\t@param\tcoords\tThe coordinates in a string.\r\n *\t@param\tshape\tThe shape of the object (rect, circle, poly).\r\n *\t@param\tflag\tFlags that modify the operation. (fromcircle, frompoly, fromrect, preserve)\r\n *\t@returns The normalized coordinates.\r\n */\r\n _normCoords = function (coords, shape, flag) {\r\n //function level var declarations\r\n var i; //generic cycle counter\r\n var sx; //smallest x\r\n var sy; //smallest y\r\n var gx; //greatest x\r\n var gy; //greatest y\r\n var temp, le;\r\n\r\n coords = trim(coords);\r\n if (coords === '') { return ''; }\r\n var oldcoords = coords;\r\n //replace some general junk\r\n coords = coords.replace(/(\\d)([^\\d\\.])+(\\d)/g, \"$1,$3\"); // Other software might create decimal points, respect them\r\n coords = coords.replace(/,\\D+(\\d)/g, \",$1\"); //cut leading junk\r\n coords = coords.replace(/,0+(\\d)/g, \",$1\"); //cut leading zeros\r\n coords = coords.replace(/(\\d)(\\D)+,/g, \"$1,\");\r\n coords = coords.replace(/^\\D+(\\d)/g, \"$1\"); //cut leading junk\r\n coords = coords.replace(/^0+(\\d)/g, \"$1\"); //cut leading zeros\r\n coords = coords.replace(/(\\d)(\\D)+$/g, \"$1\"); //cut trailing junk\r\n\r\n //now fix other issues\r\n var parts = coords.split(',');\r\n if (shape == 'rect') {\r\n if (flag == 'fromcircle') {\r\n var r = parts[2];\r\n parts[0] = parts[0] - r;\r\n parts[1] = parts[1] - r;\r\n parts[2] = parseInt(parts[0], 10) + 2 * r;\r\n parts[3] = parseInt(parts[1], 10) + 2 * r;\r\n }\r\n else if (flag == 'frompoly') {\r\n sx = parseInt(parts[0], 10); gx = parseInt(parts[0], 10);\r\n sy = parseInt(parts[1], 10); gy = parseInt(parts[1], 10);\r\n for (i = 0, le = parts.length; i < le; i++) {\r\n if (i % 2 === 0 && parseInt(parts[i], 10) < sx) {\r\n sx = parseInt(parts[i], 10);\r\n }\r\n if (i % 2 === 1 && parseInt(parts[i], 10) < sy) {\r\n sy = parseInt(parts[i], 10);\r\n }\r\n if (i % 2 === 0 && parseInt(parts[i], 10) > gx) {\r\n gx = parseInt(parts[i], 10);\r\n }\r\n if (i % 2 === 1 && parseInt(parts[i], 10) > gy) {\r\n gy = parseInt(parts[i], 10);\r\n }\r\n }\r\n parts[0] = sx; parts[1] = sy;\r\n parts[2] = gx; parts[3] = gy;\r\n }\r\n if (!(parseInt(parts[1], 10) >= 0)) { parts[1] = parts[0]; }\r\n if (!(parseInt(parts[2], 10) >= 0)) { parts[2] = parseInt(parts[0], 10) + 10; }\r\n if (!(parseInt(parts[3], 10) >= 0)) { parts[3] = parseInt(parts[1], 10) + 10; }\r\n if (parseInt(parts[0], 10) > parseInt(parts[2], 10)) {\r\n temp = parts[0];\r\n parts[0] = parts[2];\r\n parts[2] = temp;\r\n }\r\n if (parseInt(parts[1], 10) > parseInt(parts[3], 10)) {\r\n temp = parts[1];\r\n parts[1] = parts[3];\r\n parts[3] = temp;\r\n }\r\n coords = parts[0] + \",\" + parts[1] + \",\" + parts[2] + \",\" + parts[3];\r\n }\r\n else if (shape == 'circle') {\r\n if (flag == 'fromrect') {\r\n sx = parseInt(parts[0], 10); gx = parseInt(parts[2], 10);\r\n sy = parseInt(parts[1], 10); gy = parseInt(parts[3], 10);\r\n //use smaller side\r\n parts[2] = (gx - sx < gy - sy) ? gx - sx : gy - sy;\r\n parts[2] = Math.floor(parts[2] / 2); //radius\r\n parts[0] = sx + parts[2];\r\n parts[1] = sy + parts[2];\r\n }\r\n else if (flag == 'frompoly') {\r\n sx = parseInt(parts[0], 10); gx = parseInt(parts[0], 10);\r\n sy = parseInt(parts[1], 10); gy = parseInt(parts[1], 10);\r\n for (i = 0, le = parts.length; i < le; i++) {\r\n if (i % 2 === 0 && parseInt(parts[i], 10) < sx) {\r\n sx = parseInt(parts[i], 10);\r\n }\r\n if (i % 2 === 1 && parseInt(parts[i], 10) < sy) {\r\n sy = parseInt(parts[i], 10);\r\n }\r\n if (i % 2 === 0 && parseInt(parts[i], 10) > gx) {\r\n gx = parseInt(parts[i], 10);\r\n }\r\n if (i % 2 === 1 && parseInt(parts[i], 10) > gy) {\r\n gy = parseInt(parts[i], 10);\r\n }\r\n }\r\n //use smaller side\r\n parts[2] = (gx - sx < gy - sy) ? gx - sx : gy - sy;\r\n parts[2] = Math.floor(parts[2] / 2); //radius\r\n parts[0] = sx + parts[2];\r\n parts[1] = sy + parts[2];\r\n }\r\n if (!(parseInt(parts[1], 10) > 0)) { parts[1] = parts[0]; }\r\n if (!(parseInt(parts[2], 10) > 0)) { parts[2] = 10; }\r\n coords = parts[0] + \",\" + parts[1] + \",\" + parts[2];\r\n }\r\n else if (shape == 'poly') {\r\n if (flag == 'fromrect') {\r\n parts[4] = parts[2];\r\n parts[5] = parts[3];\r\n parts[2] = parts[0];\r\n parts[6] = parts[4];\r\n parts[7] = parts[1];\r\n }\r\n else if (flag == 'fromcircle') {\r\n // @ url http://www.pixelwit.com/blog/2007/06/29/basic-circle-drawing-actionscript/\r\n var centerX = parseInt(parts[0], 10);\r\n var centerY = parseInt(parts[1], 10);\r\n var radius = parseInt(parts[2], 10);\r\n var j = 0;\r\n parts[j++] = centerX + radius;\r\n parts[j++] = centerY;\r\n var sides = 60; //constant = sides the fake circle will have\r\n for (i = 0; i <= sides; i++) {\r\n var pointRatio = i / sides;\r\n var xSteps = Math.cos(pointRatio * 2 * Math.PI);\r\n var ySteps = Math.sin(pointRatio * 2 * Math.PI);\r\n var pointX = centerX + xSteps * radius;\r\n var pointY = centerY + ySteps * radius;\r\n parts[j++] = Math.round(pointX);\r\n parts[j++] = Math.round(pointY);\r\n }\r\n }\r\n coords = parts.join(',');\r\n }\r\n\r\n if (flag == 'preserve' && oldcoords != coords) {\r\n //return original and throw error\r\n //throw \"invalid coords\";\r\n return oldcoords;\r\n }\r\n return coords;\r\n };\r\n\r\n\r\n /**\r\n *\tSets the coordinates according to the given JSON map code or DOM object.\r\n *\t@author\tAdam Maschek (adam.maschek(at)gmail.com)\r\n *\t@date\t2006-06-07 11:47:16\r\n *\t@param\tmap\tDOM object or string of a map you want to apply.\r\n *\t@return\tTrue on success\r\n */\r\n setMapJson = function (map: IImageMapData) {\r\n this.fireEvent('onSetMap', map);\r\n\r\n //remove all areas\r\n this.removeAllAreas();\r\n\r\n this.mapname = map.name;\r\n this.mapid = map.id;\r\n var shape, coords, href, alt, title, target, id;\r\n for (var i = 0, le = map.areas.length; i < le; i++) {\r\n shape = coords = href = alt = title = target = '';\r\n\r\n id = this.addNewArea(); //btw id == this.currentid, just this form is a bit clearer\r\n\r\n shape = this._normShape(map.areas[i].shape);\r\n\r\n this.initArea(id, shape);\r\n\r\n if (map.areas[i].coords) {\r\n //normalize coords\r\n coords = this._normCoords(map.areas[i].coords, shape);\r\n this.areas[id].lastInput = coords;\r\n //for area this one will be set in recalculate\r\n }\r\n\r\n href = map.areas[i].href;\r\n if (href) {\r\n this.areas[id].ahref = href;\r\n }\r\n\r\n alt = map.areas[i].alt;\r\n if (alt) {\r\n this.areas[id].aalt = alt;\r\n }\r\n\r\n target = map.areas[i].target;\r\n if (target) { target = target.toLowerCase(); }\r\n\r\n this.areas[id].atarget = target;\r\n\r\n this._recalculate(id, coords); //contains repaint\r\n this.relaxArea(id);\r\n\r\n this.fireEvent('onAreaChanged', this.areas[id]);\r\n\r\n } //end for areas\r\n }\r\n\r\n /**\r\n *\tAdds a new area. It will later become a canvas.\r\n *\tGUI should use the onAddArea callback to act accordingly.\r\n *\t@author\tAdam Maschek (adam.maschek(at)gmail.com)\r\n *\t@date\t2006-06-06 16:49:25\r\n *\t@see\t#initArea\r\n */\r\n addNewArea = function () {\r\n var lastarea = this._getLastArea();\r\n var id = (lastarea) ? lastarea.aid + 1 : 0;\r\n\r\n //insert new possibly? unknown area (will be initialized at mousedown)\r\n var area: any = this.areas[id] = document.createElement('DIV');\r\n area.id = this.mapname + 'area' + id;\r\n area.aid = id;\r\n area.shape = \"undefined\";\r\n\r\n this.blurArea(this.currentid);\r\n\r\n this.currentid = id;\r\n return id;\r\n };\r\n\r\n\r\n /**\r\n *\tInitialize a new area.\r\n *\tCreate the canvas, initialize it.\r\n *\tReset area parameters.\r\n *\t@param\tid\tThe id of the area (already existing with undefined shape)\r\n *\t@param\tshape\tThe shape the area will have (rect, circle, poly)\r\n */\r\n initArea = function (id, shape) {\r\n var area = this.areas[id];\r\n if (!area) { return; } //if all was erased, return\r\n //remove preinited dummy div or already placed canvas\r\n if (area.parentNode) { area.parentNode.removeChild(area); }\r\n if (area.label) { area.label.parentNode.removeChild(area.label); }\r\n\r\n //create CANVAS node\r\n area = this.areas[id] = document.createElement('CANVAS');\r\n\r\n this.parentImageElement.appendChild(area);\r\n this.parentImageElement.style.position = 'relative';\r\n\r\n // if (typeof G_vmlCanvasManager != \"undefined\") {\r\n // //override CANVAS with VML object\r\n // area = this.areas[id] = G_vmlCanvasManager.initElement(area);\r\n // }\r\n area.id = this.mapname + 'area' + id;\r\n area.aid = id;\r\n area.shape = shape;\r\n area.ahref = '';\r\n area.atitle = '';\r\n area.aalt = '';\r\n area.atarget = '';\r\n area.style.position = 'absolute';\r\n area.style.top = this.imageElement.offsetTop + 'px';\r\n area.style.left = this.imageElement.offsetLeft + 'px';\r\n this._setopacity(area, this.config.CL_DRAW_BG, this.config.draw_opacity);\r\n //hook event handlers\r\n\r\n area.onmousedown = this.area_mousedown.bind(this);\r\n area.onmouseup = this.area_mouseup.bind(this);\r\n area.onmousemove = this.area_mousemove.bind(this);\r\n area.onmouseover = this.area_mouseover.bind(this);\r\n area.onmouseout = this.area_mouseout.bind(this);\r\n //initialize memory object\r\n this.memory[id] = {};\r\n this.memory[id].downx = 0;\r\n this.memory[id].downy = 0;\r\n this.memory[id].left = 0;\r\n this.memory[id].top = 0;\r\n this.memory[id].width = 0;\r\n this.memory[id].height = 0;\r\n this.memory[id].xpoints = [];\r\n this.memory[id].ypoints = [];\r\n //create label node\r\n area.label = document.createElement('DIV');\r\n this.parentImageElement.appendChild(area.label);\r\n area.label.className = this.config.label_class;\r\n this.assignCSS(area.label, this.config.label_style);\r\n area.label.style.position = 'absolute';\r\n\r\n this.fireEvent('onAddArea', id);\r\n };\r\n\r\n\r\n /**\r\n *\tResets area border and opacity to a normal state after drawing.\r\n *\t@author\tAdam Maschek (adam.maschek(at)gmail.com)\r\n *\t@date\t15-02-2007 22:07:28\r\n *\t@param\tid\tThe id of the area.\r\n\r\n */\r\n relaxArea = function (id) {\r\n var area = this.areas[id];\r\n if (!area) { return; }\r\n\r\n if (id != this.currentid) {\r\n this._setBorder(area, 'NORM');\r\n this._setopacity(area, this.config.CL_NORM_BG, this.config.norm_opacity);\r\n }\r\n else\r\n this.highlightArea(id);\r\n };\r\n\r\n\r\n /**\r\n *\tSet border of a given area according to style flag.\r\n *\tPossible values of style: NORM, HIGHLIGHT, DRAW.\r\n *\tNon-rectangle shapes wont get a border if config.bounding_box is false.\r\n *\t@date\t26-12-2008 22:34:41\r\n *\t@param\tid\tThe id of the area to set the border on.\r\n *\t@param\tstyle\tColoring style (NORM, HIGHLIGHT, DRAW), see relevant colors in config.\r\n *\t@since\t2.1\r\n */\r\n _setBorder = function (area, style) {\r\n if (area.shape == 'rect' || this.config.bounding_box) {\r\n area.style.borderWidth = '1px';\r\n area.style.borderStyle = (style == 'DRAW' ? 'dotted' : 'solid');\r\n area.style.borderColor = this.config['CL_' + style + '_' + (area.shape == 'rect' ? 'SHAPE' : 'BOX')];\r\n }\r\n else {\r\n //clear border\r\n area.style.border = '';\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tSet opacity of area to the given percentage, as well as set the background color.\r\n *\tIf percentage contains a dash(-), the setting of the opacity will be gradual.\r\n *\t@param\tarea\tThe area object.\r\n *\t@param\tbgcolor\tNew background color\r\n *\t@param\tpct\t\tPercentage of the opacity.\r\n */\r\n _setopacity = function (area, bgcolor, pct) {\r\n if (bgcolor) { area.style.backgroundColor = bgcolor; }\r\n if (pct && typeof pct == 'string' && pct.match(/^\\d*\\-\\d+$/)) {\r\n //gradual fade\r\n var parts: any = pct.split('-');\r\n if (typeof parts[0] != 'undefined') {\r\n //set initial opacity\r\n parts[0] = parseInt(parts[0], 10);\r\n this._setopacity(area, bgcolor, parts[0]);\r\n }\r\n if (typeof parts[1] != 'undefined') {\r\n parts[1] = parseInt(parts[1], 10);\r\n var curr = this._getopacity(area);\r\n\r\n var _this = this;\r\n var diff = Math.round(parts[1] - curr);\r\n if (diff > 5) {\r\n window.setTimeout(function () { _this._setopacity(area, null, '-' + parts[1]); }, 20);\r\n pct = 1 * curr + 5;\r\n }\r\n else if (diff < -3) {\r\n window.setTimeout(function () { _this._setopacity(area, null, '-' + parts[1]); }, 20);\r\n pct = 1 * curr - 3;\r\n }\r\n else {\r\n //final set\r\n pct = parts[1];\r\n }\r\n }\r\n }\r\n if (!isNaN(pct)) {\r\n pct = Math.round(parseInt(pct, 10));\r\n\r\n area.style.opacity = pct / 100;\r\n area.style.filter = 'alpha(opacity=' + pct + ')';\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tGet the currently set opacity of a given area.\r\n *\t@author\tadam\r\n *\t@param\tarea\tThe area (canvas) you want to get opacity info from.\r\n *\t@return\tOpacity value in a range of 0-100.\r\n */\r\n _getopacity = function (area) {\r\n if (area.style.opacity <= 1) {\r\n return area.style.opacity * 100;\r\n }\r\n if (area.style.filter) {\r\n //alpha(opacity=NaN)\r\n return parseInt(area.style.filter.replace(/alpha\\(opacity\\=([^\\)]*)\\)/ig, \"$1\"), 10);\r\n }\r\n return 100; //default opacity\r\n };\r\n\r\n\r\n /**\r\n *\tRemoves the area marked by id.\r\n *\tCallback will call the GUI code to remove GUI elements.\r\n *\t@author\tAdam Maschek (adam.maschek(at)gmail.com)\r\n *\t@date\t11-02-2007 20:40:58\r\n *\t@param\tid\tThe id of the area to remove.\r\n *\t@see\t#removeAllAreas\r\n */\r\n removeArea = function (id) {\r\n if (id === null || typeof id == \"undefined\") { return; } //exit if no id given\r\n\r\n try {\r\n //remove area and label\r\n //explicitly set some values to null to avoid IE circular reference memleak\r\n this.areas[id].label.parentNode.removeChild(this.areas[id].label);\r\n this.areas[id].parentNode.removeChild(this.areas[id]);\r\n this.areas[id].label.className = null;\r\n\r\n this.areas[id].label = null;\r\n this.areas[id].onmouseover = null;\r\n this.areas[id].onmouseout = null;\r\n this.areas[id].onmouseup = null;\r\n this.areas[id].onmousedown = null;\r\n this.areas[id].onmousemove = null;\r\n\r\n }\r\n catch (err) {\r\n }\r\n this.areas[id] = null;\r\n this.fireEvent('onRemoveArea', id);\r\n };\r\n\r\n\r\n /**\r\n *\tRemoves all areas.\r\n *\tWill call removeArea on all areas.\r\n *\t@author\tAdam Maschek (adam.maschek(at)gmail.com)\r\n *\t@date\t2006-06-07 11:55:34\r\n *\t@see\t#removeArea\r\n */\r\n removeAllAreas = function () {\r\n for (var i = 0, le = this.areas.length; i < le; i++) {\r\n if (this.areas[i]) {\r\n this.removeArea(i);\r\n }\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tScales all areas.\r\n *\tWill store scale parameter in globalscale property.\r\n *\tThis is needed to know how to draw new areas on an already scaled canvas.\r\n *\t@author\tadam\r\n *\t@date\t02-11-2008 14:13:14\r\n *\t@param scale\tScale factor (1-original, 0.5-half, 2-double, etc.)\r\n */\r\n scaleAllAreas = function (scale) {\r\n var rscale = scale / this.globalscale; //relative scale\r\n this.globalscale = scale;\r\n for (var i = 0, le = this.areas.length; i < le; i++) {\r\n if (this.areas[i] && this.areas[i].shape != 'undefined') {\r\n this.scaleArea(i, rscale);\r\n }\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tScales one area.\r\n *\t@author\tadam\r\n *\t@date\t02-11-2008 14:13:14\r\n *\t@param rscale\tRelative scale factor (1-keep, 0.5-half, 2-double, etc.)\r\n */\r\n scaleArea = function (id, rscale) {\r\n var area = this.areas[id];\r\n //set position and new dimensions\r\n area.style.top = parseInt(area.style.top, 10) * rscale + 'px';\r\n area.style.left = parseInt(area.style.left, 10) * rscale + 'px';\r\n this.setAreaSize(id, area.width * rscale, area.height * rscale);\r\n\r\n //handle polygon coordinates scaling\r\n if (area.shape == 'poly') {\r\n for (var i = 0, le = area.xpoints.length; i < le; i++) {\r\n area.xpoints[i] *= rscale;\r\n area.ypoints[i] *= rscale;\r\n }\r\n }\r\n\r\n this._repaint(area, this.config.CL_NORM_SHAPE);\r\n this._updatecoords(id);\r\n };\r\n\r\n\r\n /**\r\n *\tPut label in the top left corner according to label config.\r\n *\tBy default it will contain the number of the area (area.aid)\r\n *\t@param\tid\tThe id of the area to add label to.\r\n */\r\n _putlabel = function (id) {\r\n var area = this.areas[id];\r\n if (!area.label) { return; } //not yet inited\r\n try {\r\n if (!this.config.label) {\r\n area.label.innerHTML = '';\r\n area.label.style.display = 'none';\r\n }\r\n else {\r\n area.label.style.display = '';\r\n var label = this.config.label;\r\n label = label.replace(/%n/g, String(id));\r\n label = label.replace(/%c/g, String(area.lastInput));\r\n label = label.replace(/%h/g, String(area.ahref));\r\n label = label.replace(/%a/g, String(area.aalt));\r\n label = label.replace(/%t/g, String(area.atitle));\r\n area.label.innerHTML = label;\r\n }\r\n //align to the top left corner\r\n area.label.style.top = area.style.top;\r\n area.label.style.left = area.style.left;\r\n }\r\n catch (err) {\r\n this.log(\"Error putting label\", 1);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tSet area title and alt (for IE) according to the hint configuration.\r\n *\tThis will show up in the usual yellow box when you hover over with the mouse.\r\n *\t@param\tid\tThe id of the area to set hint at.\r\n */\r\n _puthint = function (id) {\r\n try {\r\n if (!this.config.hint) {\r\n this.areas[id].title = '';\r\n this.areas[id].alt = '';\r\n }\r\n else {\r\n var hint = this.config.hint;\r\n hint = hint.replace(/%n/g, String(id));\r\n hint = hint.replace(/%c/g, String(this.areas[id].lastInput));\r\n hint = hint.replace(/%h/g, String(this.areas[id].ahref));\r\n hint = hint.replace(/%a/g, String(this.areas[id].aalt));\r\n hint = hint.replace(/%t/g, String(this.areas[id].atitle));\r\n this.areas[id].title = hint;\r\n this.areas[id].alt = hint;\r\n }\r\n }\r\n catch (err) {\r\n this.log(\"Error putting hint\", 1);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tWill call repaint on all areas.\r\n *\tUseful when you change labeling or hint config on the GUI.\r\n *\t@see #_repaint\r\n */\r\n _repaintAll = function () {\r\n for (var i = 0, le = this.areas.length; i < le; i++) {\r\n if (this.areas[i]) {\r\n this._repaint(this.areas[i], this.config.CL_NORM_SHAPE);\r\n }\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tRepaints the actual canvas content.\r\n *\tThis is the only canvas drawing magic that is happening.\r\n *\tIn fact rectangles will not have any canvas content, just a normal css border.\r\n *\tAfter repainting the canvas, it will call putlabel and puthint methods.\r\n *\t@param\tarea\tThe area object.\r\n *\t@param\tcolor\tColor of the line to draw on the canvas.\r\n *\t@param\tx\tOnly used for polygons as the newest control point x.\r\n *\t@param\ty\tOnly used for polygons as the newest control point y.\r\n */\r\n _repaint = function (area, color, x, y) {\r\n var ctx; //canvas context\r\n var width, height, left, top; //canvas properties\r\n var i, le; //loop counter\r\n if (area.shape == 'circle') {\r\n width = parseInt(area.style.width, 10);\r\n var radius = Math.floor(width / 2) - 1;\r\n if (radius < 0)\r\n radius = 0;\r\n\r\n //get canvas context\r\n ctx = area.getContext(\"2d\");\r\n //clear canvas\r\n ctx.clearRect(0, 0, width, width);\r\n //draw circle\r\n ctx.beginPath();\r\n ctx.strokeStyle = color;\r\n ctx.arc(radius, radius, radius, 0, Math.PI * 2, 0);\r\n ctx.stroke();\r\n ctx.closePath();\r\n //draw center\r\n ctx.strokeStyle = this.config.CL_KNOB;\r\n ctx.strokeRect(radius, radius, 1, 1);\r\n //put label\r\n this._putlabel(area.aid);\r\n this._puthint(area.aid);\r\n }\r\n else if (area.shape == 'rect') {\r\n //put label\r\n this._putlabel(area.aid);\r\n this._puthint(area.aid);\r\n }\r\n else if (area.shape == 'poly') {\r\n width = parseInt(area.style.width, 10);\r\n height = parseInt(area.style.height, 10);\r\n left = parseInt(area.style.left, 10);\r\n top = parseInt(area.style.top, 10);\r\n if (area.xpoints) {\r\n //get canvas context\r\n ctx = area.getContext(\"2d\");\r\n //clear canvas\r\n ctx.clearRect(0, 0, width, height);\r\n //draw polygon\r\n ctx.beginPath();\r\n ctx.strokeStyle = color;\r\n ctx.moveTo(area.xpoints[0] - left, area.ypoints[0] - top);\r\n for (i = 1, le = area.xpoints.length; i < le; i++) {\r\n ctx.lineTo(area.xpoints[i] - left, area.ypoints[i] - top);\r\n }\r\n if (this.is_drawing == this.DM_POLYGON_DRAW || this.is_drawing == this.DM_POLYGON_LASTDRAW) {\r\n //only draw to the current position if not moving\r\n ctx.lineTo(x - left, y - top);\r\n }\r\n ctx.lineTo(area.xpoints[0] - left, area.ypoints[0] - top);\r\n ctx.stroke();\r\n ctx.closePath();\r\n }\r\n //put label\r\n this._putlabel(area.aid);\r\n this._puthint(area.aid);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tUpdates Area coordinates.\r\n *\tCalled when needed, eg. on mousemove, mousedown.\r\n *\tAlso updates html container value (thru hook).\r\n *\tCalls callback onAreaChanged so that GUI can follow.\r\n *\tThis is an important hook to your GUI.\r\n *\tUses globalscale to scale real coordinates to area coordinates.\r\n *\t@date\t2006.10.24. 22:39:27\r\n *\t@author\tAdam Maschek (adam.maschek(at)gmail.com)\r\n *\t@param\tid\tThe id of the area.\r\n */\r\n _updatecoords = function (id) {\r\n var area = this.areas[id];\r\n var left = Math.round(parseInt(area.style.left, 10) / this.globalscale);\r\n var top = Math.round(parseInt(area.style.top, 10) / this.globalscale);\r\n var height = Math.round(parseInt(area.style.height, 10) / this.globalscale);\r\n var width = Math.round(parseInt(area.style.width, 10) / this.globalscale);\r\n\r\n var value = '';\r\n if (area.shape == 'rect') {\r\n value = left + ',' + top + ',' + (left + width) + ',' + (top + height);\r\n area.lastInput = value;\r\n }\r\n else if (area.shape == 'circle') {\r\n var radius = Math.floor(width / 2) - 1;\r\n value = (left + radius) + ',' + (top + radius) + ',' + radius;\r\n area.lastInput = value;\r\n }\r\n else if (area.shape == 'poly') {\r\n if (area.xpoints) {\r\n for (var i = 0, le = area.xpoints.length; i < le; i++) {\r\n value += Math.round(area.xpoints[i] / this.globalscale) + ',' +\r\n Math.round(area.ypoints[i] / this.globalscale) + ',';\r\n }\r\n value = value.substring(0, value.length - 1);\r\n }\r\n area.lastInput = value;\r\n }\r\n\r\n this.fireEvent('onAreaChanged', area);\r\n };\r\n\r\n\r\n /**\r\n *\tUpdates the visual representation of the area with the given id according\r\n *\tto the new coordinates that typically come from an input on the GUI.\r\n *\tUses globalscale to scale area coordinates to real coordinates.\r\n *\t@date\t2006.10.24. 22:46:55\r\n *\t@author\tAdam Maschek (adam.maschek(at)gmail.com)\r\n *\t@param\tid\tThe id of the area.\r\n *\t@param\tcoords\tThe new coords, they will be normalized.\r\n */\r\n _recalculate = function (id, coords) {\r\n var area = this.areas[id];\r\n try {\r\n if (coords) {\r\n coords = this._normCoords(coords, area.shape, 'preserve');\r\n }\r\n else {\r\n coords = area.lastInput || '';\r\n }\r\n\r\n var parts = coords.split(',');\r\n if (area.shape == 'rect') {\r\n if (parts.length != 4 ||\r\n parseInt(parts[0], 10) > parseInt(parts[2], 10) ||\r\n parseInt(parts[1], 10) > parseInt(parts[3], 10)) { throw \"invalid coords\"; }\r\n area.style.left = this.globalscale * (this.imageElement.offsetLeft + parseInt(parts[0], 10)) + 'px';\r\n area.style.top = this.globalscale * (this.imageElement.offsetTop + parseInt(parts[1], 10)) + 'px';\r\n this.setAreaSize(id, this.globalscale * (parts[2] - parts[0]), this.globalscale * (parts[3] - parts[1]));\r\n this._repaint(area, this.config.CL_NORM_SHAPE);\r\n }\r\n else if (area.shape == 'circle') {\r\n if (parts.length != 3 ||\r\n parseInt(parts[2], 10) < 0) { throw \"invalid coords\"; }\r\n var width = 2 * (parts[2]);\r\n this.setAreaSize(id, this.globalscale * width, this.globalscale * width);\r\n area.style.left = this.globalscale * (this.imageElement.offsetLeft + parseInt(parts[0], 10) - width / 2) + 'px';\r\n area.style.top = this.globalscale * (this.imageElement.offsetTop + parseInt(parts[1], 10) - width / 2) + 'px';\r\n this._repaint(area, this.config.CL_NORM_SHAPE);\r\n }\r\n else if (area.shape == 'poly') {\r\n if (parts.length < 2) { throw \"invalid coords\"; }\r\n area.xpoints = [];\r\n area.ypoints = [];\r\n for (var i = 0, le = parts.length; i < le; i += 2) {\r\n area.xpoints[area.xpoints.length] = this.globalscale * (this.imageElement.offsetLeft + parseInt(parts[i], 10));\r\n area.ypoints[area.ypoints.length] = this.globalscale * (this.imageElement.offsetTop + parseInt(parts[i + 1], 10));\r\n this._polygongrow(area, this.globalscale * parts[i], this.globalscale * parts[i + 1]);\r\n }\r\n this._polygonshrink(area); //includes repaint\r\n }\r\n }\r\n catch (err) {\r\n var msg = (err.message) ? err.message : 'error calculating coordinates';\r\n this.log(msg, 1);\r\n this.statusMessage(this.strings.ERR_INVALID_COORDS);\r\n if (area.lastInput) {\r\n this.fireEvent('onAreaChanged', area);\r\n }\r\n this._repaint(area, this.config.CL_NORM_SHAPE);\r\n return;\r\n }\r\n //on success update lastInput\r\n area.lastInput = coords;\r\n };\r\n\r\n\r\n /**\r\n *\tGrow polygon area to be able to contain the given new coordinates.\r\n *\t@author\tadam\r\n *\t@param\tarea\tThe area to grow.\r\n *\t@param\tnewx\tThe new coordinate x.\r\n *\t@param\tnewy\tThe new coordinate y.\r\n *\t@see\t#_polygonshrink\r\n */\r\n _polygongrow = function (area, newx, newy) {\r\n var xdiff = newx - parseInt(area.style.left, 10);\r\n var ydiff = newy - parseInt(area.style.top, 10);\r\n var pad = 0; //padding on the edges\r\n var pad2 = 0; //twice the padding\r\n\r\n if (newx < parseInt(area.style.left, 10)) {\r\n area.style.left = (newx - pad) + 'px';\r\n this.setAreaSize(area.aid, parseInt(area.style.width, 10) + Math.abs(xdiff) + pad2, null);\r\n }\r\n else if (newx > parseInt(area.style.left, 10) + parseInt(area.style.width, 10)) {\r\n this.setAreaSize(area.aid, newx - parseInt(area.style.left, 10) + pad2, null);\r\n }\r\n if (newy < parseInt(area.style.top, 10)) {\r\n area.style.top = (newy - pad) + 'px';\r\n this.setAreaSize(area.aid, null, parseInt(area.style.height, 10) + Math.abs(ydiff) + pad2);\r\n }\r\n else if (newy > parseInt(area.style.top, 10) + parseInt(area.style.height, 10)) {\r\n this.setAreaSize(area.aid, null, newy - parseInt(area.style.top, 10) + pad2);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tShrink the polygon bounding area to the necessary size, by first reducing it\r\n *\tto the minimum, and then gradually growing it.\r\n *\tWe need this because while we were drawing the polygon, it might have expanded\r\n *\tthe canvas more than needed.\r\n *\tWill repaint the area.\r\n *\t@author\tadam\r\n *\t@param\tarea\tThe area to shrink.\r\n *\t@see\t#_polygongrow\r\n */\r\n _polygonshrink = function (area) {\r\n area.style.left = (area.xpoints[0]) + 'px';\r\n area.style.top = (area.ypoints[0]) + 'px';\r\n this.setAreaSize(area.aid, 0, 0);\r\n for (var i = 0, le = area.xpoints.length; i < le; i++) {\r\n this._polygongrow(area, area.xpoints[i], area.ypoints[i]);\r\n }\r\n this._repaint(area, this.config.CL_NORM_SHAPE);\r\n };\r\n\r\n\r\n /**\r\n *\tEVENT HANDLER: Handles mousemove on the image.\r\n *\tThis is the main drawing routine.\r\n *\tDepending on the current shape, will draw the rect/circle/poly to the new position.\r\n *\t@param\te\tThe event object.\r\n */\r\n img_mousemove = function (e) {\r\n //function level var declarations\r\n var xdiff,\r\n ydiff,\r\n diff;\r\n\r\n //event.x is relative to parent element, but page.x is NOT\r\n //pos coordinates are the same absolute coords, offset coords are relative to parent\r\n const windowEvent: any = window.event;\r\n var pos = this._getPos(this.imageElement),\r\n x = (this.isMSIE) ? (windowEvent.x + this.parentImageElement.scrollLeft - this.imageElement.offsetLeft) : (e.clientX - pos.x),\r\n y = (this.isMSIE) ? (windowEvent.y + this.parentImageElement.scrollTop - this.imageElement.offsetTop) : (e.clientY - pos.y);\r\n x = Math.round(x);\r\n y = Math.round(y);\r\n\r\n //exit if outside image\r\n if (x < 0 || y < 0 || x > this.imageElement.width || y > this.imageElement.height) { return; }\r\n\r\n //old dimensions that need to be updated in this function\r\n if (this.memory[this.currentid]) {\r\n var top = this.memory[this.currentid].top;\r\n var left = this.memory[this.currentid].left;\r\n var height = this.memory[this.currentid].height;\r\n var width = this.memory[this.currentid].width;\r\n }\r\n\r\n var area = this.areas[this.currentid];\r\n // Handle shift state for Safari\r\n // Safari doesn't generate keyboard events for modifiers: http://bugs.webkit.org/show_bug.cgi?id=11696\r\n if (this.isSafari) {\r\n if (e.shiftKey) {\r\n if (this.is_drawing == this.DM_RECTANGLE_DRAW) {\r\n this.is_drawing = this.DM_SQUARE_DRAW;\r\n this.statusMessage(this.strings.SQUARE_DRAW);\r\n }\r\n }\r\n else {\r\n if (this.is_drawing == this.DM_SQUARE_DRAW && area.shape == 'rect') {\r\n //not for circle!\r\n this.is_drawing = this.DM_RECTANGLE_DRAW;\r\n this.statusMessage(this.strings.RECTANGLE_DRAW);\r\n }\r\n }\r\n }\r\n\r\n if (this.is_drawing == this.DM_RECTANGLE_DRAW) {\r\n //rectangle mode\r\n this.fireEvent('onDrawArea', this.currentid);\r\n xdiff = x - this.memory[this.currentid].downx;\r\n ydiff = y - this.memory[this.currentid].downy;\r\n\r\n this.setAreaSize(this.currentid, Math.abs(xdiff), Math.abs(ydiff));\r\n if (xdiff < 0) {\r\n area.style.left = (x + 1) + 'px';\r\n }\r\n if (ydiff < 0) {\r\n area.style.top = (y + 1) + 'px';\r\n }\r\n }\r\n else if (this.is_drawing == this.DM_SQUARE_DRAW) {\r\n //square mode - align to shorter side\r\n this.fireEvent('onDrawArea', this.currentid);\r\n xdiff = x - this.memory[this.currentid].downx;\r\n ydiff = y - this.memory[this.currentid].downy;\r\n if (Math.abs(xdiff) < Math.abs(ydiff)) {\r\n diff = Math.abs(parseInt(xdiff, 10));\r\n }\r\n else {\r\n diff = Math.abs(parseInt(ydiff, 10));\r\n }\r\n\r\n this.setAreaSize(this.currentid, diff, diff);\r\n if (xdiff < 0) {\r\n area.style.left = (this.memory[this.currentid].downx + diff * -1) + 'px';\r\n }\r\n if (ydiff < 0) {\r\n area.style.top = (this.memory[this.currentid].downy + diff * -1 + 1) + 'px';\r\n }\r\n }\r\n else if (this.is_drawing == this.DM_POLYGON_DRAW) {\r\n //polygon mode\r\n this.fireEvent('onDrawArea', this.currentid);\r\n this._polygongrow(area, x, y);\r\n }\r\n else if (this.is_drawing == this.DM_RECTANGLE_MOVE || this.is_drawing == this.DM_SQUARE_MOVE) {\r\n this.fireEvent('onMoveArea', this.currentid);\r\n x = x - this.memory[this.currentid].rdownx;\r\n y = y - this.memory[this.currentid].rdowny;\r\n if (x + width > this.imageElement.width || y + height > this.imageElement.height) { return; }\r\n if (x < 0 || y < 0) { return; }\r\n\r\n area.style.left = x + 1 + 'px';\r\n area.style.top = y + 1 + 'px';\r\n }\r\n else if (this.is_drawing == this.DM_POLYGON_MOVE) {\r\n this.fireEvent('onMoveArea', this.currentid);\r\n x = x - this.memory[this.currentid].rdownx;\r\n y = y - this.memory[this.currentid].rdowny;\r\n if (x + width > this.imageElement.width || y + height > this.imageElement.height) { return; }\r\n if (x < 0 || y < 0) { return; }\r\n xdiff = x - left;\r\n ydiff = y - top;\r\n if (area.xpoints) {\r\n for (var i = 0, le = area.xpoints.length; i < le; i++) {\r\n area.xpoints[i] = this.memory[this.currentid].xpoints[i] + xdiff;\r\n area.ypoints[i] = this.memory[this.currentid].ypoints[i] + ydiff;\r\n }\r\n }\r\n area.style.left = x + 'px';\r\n area.style.top = y + 'px';\r\n }\r\n else if (this.is_drawing == this.DM_SQUARE_RESIZE_LEFT) {\r\n this.fireEvent('onResizeArea', this.currentid);\r\n diff = x - left;\r\n\r\n if ((width + (-1 * diff)) > 0) {\r\n //real resize left\r\n area.style.left = x + 1 + 'px';\r\n area.style.top = (top + (diff / 2)) + 'px';\r\n this.setAreaSize(this.currentid, parseInt(width + (-1 * diff), 10), parseInt(height + (-1 * diff), 10));\r\n }\r\n else {\r\n //jump to another state\r\n this.memory[this.currentid].width = 0;\r\n this.memory[this.currentid].height = 0;\r\n this.memory[this.currentid].left = x;\r\n this.memory[this.currentid].top = y;\r\n this.is_drawing = this.DM_SQUARE_RESIZE_RIGHT;\r\n }\r\n }\r\n else if (this.is_drawing == this.DM_SQUARE_RESIZE_RIGHT) {\r\n this.fireEvent('onResizeArea', this.currentid);\r\n diff = x - left - width;\r\n if ((width + (diff)) - 1 > 0) {\r\n //real resize right\r\n area.style.top = (top + (-1 * diff / 2)) + 'px';\r\n this.setAreaSize(this.currentid, (width + (diff)) - 1, (height + (diff)));\r\n }\r\n else {\r\n //jump to another state\r\n this.memory[this.currentid].width = 0;\r\n this.memory[this.currentid].height = 0;\r\n this.memory[this.currentid].left = x;\r\n this.memory[this.currentid].top = y;\r\n this.is_drawing = this.DM_SQUARE_RESIZE_LEFT;\r\n }\r\n }\r\n else if (this.is_drawing == this.DM_SQUARE_RESIZE_TOP) {\r\n this.fireEvent('onResizeArea', this.currentid);\r\n diff = y - top;\r\n if ((width + (-1 * diff)) > 0) {\r\n //real resize top\r\n area.style.top = y + 1 + 'px';\r\n area.style.left = (left + (diff / 2)) + 'px';\r\n this.setAreaSize(this.currentid, (width + (-1 * diff)), (height + (-1 * diff)));\r\n }\r\n else {\r\n //jump to another state\r\n this.memory[this.currentid].width = 0;\r\n this.memory[this.currentid].height = 0;\r\n this.memory[this.currentid].left = x;\r\n this.memory[this.currentid].top = y;\r\n this.is_drawing = this.DM_SQUARE_RESIZE_BOTTOM;\r\n }\r\n }\r\n else if (this.is_drawing == this.DM_SQUARE_RESIZE_BOTTOM) {\r\n this.fireEvent('onResizeArea', this.currentid);\r\n diff = y - top - height;\r\n if ((width + (diff)) - 1 > 0) {\r\n //real resize bottom\r\n area.style.left = (left + (-1 * diff / 2)) + 'px';\r\n this.setAreaSize(this.currentid, (width + (diff)) - 1, (height + (diff)) - 1);\r\n }\r\n else {\r\n //jump to another state\r\n this.memory[this.currentid].width = 0;\r\n this.memory[this.currentid].height = 0;\r\n this.memory[this.currentid].left = x;\r\n this.memory[this.currentid].top = y;\r\n this.is_drawing = this.DM_SQUARE_RESIZE_TOP;\r\n }\r\n }\r\n else if (this.is_drawing == this.DM_RECTANGLE_RESIZE_LEFT) {\r\n this.fireEvent('onResizeArea', this.currentid);\r\n xdiff = x - left;\r\n if (width + (-1 * xdiff) > 0) {\r\n //real resize left\r\n area.style.left = x + 1 + 'px';\r\n this.setAreaSize(this.currentid, width + (-1 * xdiff), null);\r\n }\r\n else {\r\n //jump to another state\r\n this.memory[this.currentid].width = 0;\r\n this.memory[this.currentid].left = x;\r\n this.is_drawing = this.DM_RECTANGLE_RESIZE_RIGHT;\r\n }\r\n }\r\n else if (this.is_drawing == this.DM_RECTANGLE_RESIZE_RIGHT) {\r\n this.fireEvent('onResizeArea', this.currentid);\r\n xdiff = x - left - width;\r\n if ((width + (xdiff)) - 1 > 0) {\r\n //real resize right\r\n this.setAreaSize(this.currentid, (width + (xdiff)) - 1, null);\r\n }\r\n else {\r\n //jump to another state\r\n this.memory[this.currentid].width = 0;\r\n this.memory[this.currentid].left = x;\r\n this.is_drawing = this.DM_RECTANGLE_RESIZE_LEFT;\r\n }\r\n }\r\n else if (this.is_drawing == this.DM_RECTANGLE_RESIZE_TOP) {\r\n this.fireEvent('onResizeArea', this.currentid);\r\n ydiff = y - top;\r\n if ((height + (-1 * ydiff)) > 0) {\r\n //real resize top\r\n area.style.top = y + 1 + 'px';\r\n this.setAreaSize(this.currentid, null, (height + (-1 * ydiff)));\r\n }\r\n else {\r\n //jump to another state\r\n this.memory[this.currentid].height = 0;\r\n this.memory[this.currentid].top = y;\r\n this.is_drawing = this.DM_RECTANGLE_RESIZE_BOTTOM;\r\n }\r\n }\r\n else if (this.is_drawing == this.DM_RECTANGLE_RESIZE_BOTTOM) {\r\n this.fireEvent('onResizeArea', this.currentid);\r\n ydiff = y - top - height;\r\n if ((height + (ydiff)) - 1 > 0) {\r\n //real resize bottom\r\n this.setAreaSize(this.currentid, null, (height + (ydiff)) - 1);\r\n }\r\n else {\r\n //jump to another state\r\n this.memory[this.currentid].height = 0;\r\n this.memory[this.currentid].top = y;\r\n this.is_drawing = this.DM_RECTANGLE_RESIZE_TOP;\r\n }\r\n }\r\n\r\n //repaint canvas elements\r\n if (this.is_drawing) {\r\n this._repaint(area, this.config.CL_DRAW_SHAPE, x, y);\r\n this._updatecoords(this.currentid);\r\n }\r\n\r\n };\r\n\r\n\r\n /**\r\n *\tEVENT HANDLER: Handles mouseup on the image.\r\n *\tHandles dragging and resizing.\r\n *\t@param\te\tThe event object.\r\n */\r\n img_mouseup = function (e) {\r\n const windowEvent: any = window.event;\r\n var pos = this._getPos(this.imageElement),\r\n x = (this.isMSIE) ? (windowEvent.x + this.parentImageElement.scrollLeft - this.imageElement.offsetLeft) : (e.clientX - pos.x),\r\n y = (this.isMSIE) ? (windowEvent.y + this.parentImageElement.scrollTop - this.imageElement.offsetTop) : (e.clientY - pos.y);\r\n x = Math.round(x);\r\n y = Math.round(y);\r\n\r\n //for everything that is move or resize\r\n if (this.is_drawing != this.DM_RECTANGLE_DRAW &&\r\n this.is_drawing != this.DM_SQUARE_DRAW &&\r\n this.is_drawing != this.DM_POLYGON_DRAW &&\r\n this.is_drawing != this.DM_POLYGON_LASTDRAW) {\r\n //end dragging\r\n this.draggedId = null;\r\n //finish state\r\n this.is_drawing = 0;\r\n this.statusMessage(this.strings.READY);\r\n this.relaxArea(this.currentid);\r\n if (this.areas[this.currentid] == this._getLastArea()) {\r\n return;\r\n }\r\n this.memory[this.currentid].downx = x;\r\n this.memory[this.currentid].downy = y;\r\n }\r\n };\r\n\r\n\r\n img_dragstart = function (e) {\r\n e.preventDefault();\r\n }\r\n\r\n /**\r\n *\tEVENT HANDLER: Handles mousedown on the image.\r\n *\tHandles beggining or end of draw, or polygon point set.\r\n *\t@param\te\tThe event object.\r\n */\r\n img_mousedown = function (e) {\r\n if (!e)\r\n\r\n e = window.event;\r\n\r\n var pos = this._getPos(this.imageElement),\r\n x = Math.round(e.clientX - pos.x),\r\n y = Math.round(e.clientY - pos.y);\r\n\r\n // Handle the Shift state\r\n if (e.shiftKey) {\r\n if (this.is_drawing == this.DM_POLYGON_DRAW) {\r\n this.is_drawing = this.DM_POLYGON_LASTDRAW;\r\n }\r\n }\r\n var area = this.areas[this.currentid];\r\n if (this.is_drawing == this.DM_POLYGON_DRAW) {\r\n //its not finish state yet\r\n area.xpoints[area.xpoints.length] = x;\r\n area.ypoints[area.ypoints.length] = y;\r\n this.memory[this.currentid].downx = x;\r\n this.memory[this.currentid].downy = y;\r\n return;\r\n }\r\n else if (this.is_drawing && this.is_drawing != this.DM_POLYGON_DRAW) {\r\n //finish any other state\r\n if (this.is_drawing == this.DM_POLYGON_LASTDRAW) {\r\n //add last controlpoint and update coords\r\n area.xpoints[area.xpoints.length] = x;\r\n area.ypoints[area.ypoints.length] = y;\r\n this._updatecoords(this.currentid);\r\n this.is_drawing = 0;\r\n this._polygonshrink(area);\r\n }\r\n this.is_drawing = 0;\r\n this.statusMessage(this.strings.READY);\r\n this.relaxArea(this.currentid);\r\n if (this.areas[this.currentid] == this._getLastArea()) {\r\n return;\r\n }\r\n return;\r\n }\r\n\r\n if (!this.nextShape) { return; }\r\n this.addNewArea();\r\n this.initArea(this.currentid, this.nextShape);\r\n\r\n if (this.areas[this.currentid].shape == 'poly') {\r\n this.is_drawing = this.DM_POLYGON_DRAW;\r\n this.statusMessage(this.strings.POLYGON_DRAW);\r\n\r\n this.areas[this.currentid].style.left = x + 'px';\r\n this.areas[this.currentid].style.top = y + 'px';\r\n this.areas[this.currentid].style.width = 0;\r\n this.areas[this.currentid].style.height = 0;\r\n this.areas[this.currentid].xpoints = [];\r\n this.areas[this.currentid].ypoints = [];\r\n this.areas[this.currentid].xpoints[0] = x;\r\n this.areas[this.currentid].ypoints[0] = y;\r\n }\r\n else if (this.areas[this.currentid].shape == 'rect') {\r\n this.is_drawing = this.DM_RECTANGLE_DRAW;\r\n this.statusMessage(this.strings.RECTANGLE_DRAW);\r\n\r\n this.areas[this.currentid].style.left = x + 'px';\r\n this.areas[this.currentid].style.top = y + 'px';\r\n this.areas[this.currentid].style.width = 0;\r\n this.areas[this.currentid].style.height = 0;\r\n }\r\n else if (this.areas[this.currentid].shape == 'circle') {\r\n this.is_drawing = this.DM_SQUARE_DRAW;\r\n this.statusMessage(this.strings.CIRCLE_DRAW);\r\n\r\n this.areas[this.currentid].style.left = x + 'px';\r\n this.areas[this.currentid].style.top = y + 'px';\r\n this.areas[this.currentid].style.width = 0;\r\n this.areas[this.currentid].style.height = 0;\r\n }\r\n\r\n this._setBorder(this.areas[this.currentid], 'DRAW');\r\n this.memory[this.currentid].downx = x;\r\n this.memory[this.currentid].downy = y;\r\n };\r\n\r\n\r\n /**\r\n *\tHighlights a given area.\r\n *\tSets opacity and repaints.\r\n *\t@date\t2007.12.28. 18:23:00\r\n *\t@param\tid\tThe id of the area to blur.\r\n\r\n */\r\n highlightArea = function (id) {\r\n if (this.is_drawing) { return; } //exit if in drawing state\r\n var area = this.areas[id];\r\n if (area && area.shape != 'undefined') {\r\n //area exists - highlight it\r\n this._setBorder(area, 'HIGHLIGHT');\r\n this._setopacity(area, this.config.CL_HIGHLIGHT_BG, '-' + this.config.highlight_opacity);\r\n this._repaint(area, this.config.CL_HIGHLIGHT_SHAPE);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tBlurs a given area.\r\n *\tSets opacity and repaints.\r\n *\t@date\t2007.12.28. 18:23:26\r\n *\t@param\tid\tThe id of the area to blur.\r\n\r\n */\r\n blurArea = function (id) {\r\n if (this.is_drawing) { return; } //exit if in drawing state\r\n var area = this.areas[id];\r\n if (area && area.shape != 'undefined') {\r\n //area exists - fade it back\r\n this._setBorder(area, 'NORM');\r\n this._setopacity(area, this.config.CL_NORM_BG, '-' + this.config.norm_opacity);\r\n this._repaint(area, this.config.CL_NORM_SHAPE);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tEVENT HANDLER: Handles event of mousemove on imgmap areas.\r\n *\t- changes cursor depending where we are inside the area (buggy in opera)\r\n *\t- handles area resize\r\n *\t- handles area move\r\n *\t@url\thttp://evolt.org/article/Mission_Impossible_mouse_position/17/23335/index.html\r\n *\t@url\thttp://my.opera.com/community/forums/topic.dml?id=239498&t=1217158015&page=1\r\n *\t@author\tadam\r\n *\t@param\te\tThe event object.\r\n */\r\n area_mousemove = function (e) {\r\n if (!this.is_drawing) {\r\n if (!e)\r\n e = window.event;\r\n\r\n var obj = (this.isMSIE) ? window.event.srcElement : e.currentTarget;\r\n if (obj.tagName == 'DIV') {\r\n //do this because of label\r\n obj = obj.parentNode;\r\n }\r\n if (obj.tagName == 'image' || obj.tagName == 'group' ||\r\n obj.tagName == 'shape' || obj.tagName == 'stroke') {\r\n //do this because of excanvas\r\n obj = obj.parentNode.parentNode;\r\n }\r\n\r\n var target = e.target || e.srcElement,\r\n rect = target && target.getBoundingClientRect();\r\n\r\n const windowEvent: any = window.event;\r\n var xdiff = rect ? e.clientX - rect.left : windowEvent.offsetX;\r\n var ydiff = rect ? e.clientY - rect.top : windowEvent.offsetY;\r\n\r\n // Alfonso\r\n if (this.isSafari) {\r\n xdiff -= window.scrollX;\r\n ydiff -= window.scrollY;\r\n }\r\n var resizable = (obj.shape == 'rect' || obj.shape == 'circle');\r\n if (resizable && xdiff < 6 && ydiff > 6) {\r\n //move left\r\n obj.style.cursor = 'w-resize';\r\n }\r\n else if (resizable && xdiff > parseInt(obj.style.width, 10) - 6 && ydiff > 6) {\r\n //move right\r\n obj.style.cursor = 'e-resize';\r\n }\r\n else if (resizable && xdiff > 6 && ydiff < 6) {\r\n //move top\r\n obj.style.cursor = 'n-resize';\r\n }\r\n else if (resizable && ydiff > parseInt(obj.style.height, 10) - 6 && xdiff > 6) {\r\n //move bottom\r\n obj.style.cursor = 's-resize';\r\n }\r\n else {\r\n //move all\r\n obj.style.cursor = 'move';\r\n }\r\n if (obj.aid != this.draggedId) {\r\n //not dragged or different\r\n if (obj.style.cursor == 'move') { obj.style.cursor = 'default'; }\r\n return;\r\n }\r\n var area = this.areas[this.currentid];\r\n //moved here from mousedown\r\n if (xdiff < 6 && ydiff > 6) {\r\n //move left\r\n if (area.shape == 'circle') {\r\n this.is_drawing = this.DM_SQUARE_RESIZE_LEFT;\r\n this.statusMessage(this.strings.SQUARE_RESIZE_LEFT);\r\n }\r\n else if (area.shape == 'rect') {\r\n this.is_drawing = this.DM_RECTANGLE_RESIZE_LEFT;\r\n this.statusMessage(this.strings.RECTANGLE_RESIZE_LEFT);\r\n }\r\n }\r\n else if (xdiff > parseInt(area.style.width, 10) - 6 && ydiff > 6) {\r\n //move right\r\n if (area.shape == 'circle') {\r\n this.is_drawing = this.DM_SQUARE_RESIZE_RIGHT;\r\n this.statusMessage(this.strings.SQUARE_RESIZE_RIGHT);\r\n }\r\n else if (area.shape == 'rect') {\r\n this.is_drawing = this.DM_RECTANGLE_RESIZE_RIGHT;\r\n this.statusMessage(this.strings.RECTANGLE_RESIZE_RIGHT);\r\n }\r\n }\r\n else if (xdiff > 6 && ydiff < 6) {\r\n //move top\r\n if (area.shape == 'circle') {\r\n this.is_drawing = this.DM_SQUARE_RESIZE_TOP;\r\n this.statusMessage(this.strings.SQUARE_RESIZE_TOP);\r\n }\r\n else if (area.shape == 'rect') {\r\n this.is_drawing = this.DM_RECTANGLE_RESIZE_TOP;\r\n this.statusMessage(this.strings.RECTANGLE_RESIZE_TOP);\r\n }\r\n }\r\n else if (ydiff > parseInt(area.style.height, 10) - 6 && xdiff > 6) {\r\n //move bottom\r\n if (area.shape == 'circle') {\r\n this.is_drawing = this.DM_SQUARE_RESIZE_BOTTOM;\r\n this.statusMessage(this.strings.SQUARE_RESIZE_BOTTOM);\r\n }\r\n else if (area.shape == 'rect') {\r\n this.is_drawing = this.DM_RECTANGLE_RESIZE_BOTTOM;\r\n this.statusMessage(this.strings.RECTANGLE_RESIZE_BOTTOM);\r\n }\r\n }\r\n else/*if (xdiff < 10 && ydiff < 10 ) */ {\r\n //move all\r\n if (area.shape == 'circle') {\r\n this.is_drawing = this.DM_SQUARE_MOVE;\r\n this.statusMessage(this.strings.SQUARE_MOVE);\r\n this.memory[this.currentid].rdownx = xdiff;\r\n this.memory[this.currentid].rdowny = ydiff;\r\n }\r\n else if (area.shape == 'rect') {\r\n this.is_drawing = this.DM_RECTANGLE_MOVE;\r\n this.statusMessage(this.strings.RECTANGLE_MOVE);\r\n this.memory[this.currentid].rdownx = xdiff;\r\n this.memory[this.currentid].rdowny = ydiff;\r\n }\r\n else if (area.shape == 'poly') {\r\n if (area.xpoints) {\r\n for (var i = 0, le = area.xpoints.length; i < le; i++) {\r\n this.memory[this.currentid].xpoints[i] = area.xpoints[i];\r\n this.memory[this.currentid].ypoints[i] = area.ypoints[i];\r\n }\r\n }\r\n\r\n if (area.shape == 'poly') {\r\n this.is_drawing = this.DM_POLYGON_MOVE;\r\n this.statusMessage(this.strings.POLYGON_MOVE);\r\n }\r\n\r\n this.memory[this.currentid].rdownx = xdiff;\r\n this.memory[this.currentid].rdowny = ydiff;\r\n }\r\n }\r\n\r\n //common memory settings (preparing to move or resize)\r\n this.memory[this.currentid].width = parseInt(area.style.width, 10);\r\n this.memory[this.currentid].height = parseInt(area.style.height, 10);\r\n this.memory[this.currentid].top = parseInt(area.style.top, 10);\r\n this.memory[this.currentid].left = parseInt(area.style.left, 10);\r\n this._setBorder(area, 'DRAW');\r\n this._setopacity(area, this.config.CL_DRAW_BG, this.config.draw_opacity);\r\n }\r\n else {\r\n //if drawing and not ie, have to propagate to image event\r\n this.img_mousemove(e);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tEVENT HANDLER: Handles event of mouseup on imgmap areas.\r\n *\tBasically clears draggedId.\r\n *\t@author\tadam\r\n *\t@param\te\tThe event object\r\n */\r\n area_mouseup = function (e) {\r\n if (!this.is_drawing) {\r\n var obj = (this.isMSIE) ? window.event.srcElement : e.currentTarget;\r\n if (obj.tagName == 'DIV') {\r\n //do this because of label\r\n obj = obj.parentNode;\r\n }\r\n if (obj.tagName == 'image' || obj.tagName == 'group' ||\r\n obj.tagName == 'shape' || obj.tagName == 'stroke') {\r\n //do this because of excanvas\r\n obj = obj.parentNode.parentNode;\r\n }\r\n if (this.areas[this.currentid] != obj) {\r\n //trying to draw on a different canvas,switch to this one\r\n if (typeof obj.aid == 'undefined') {\r\n this.log('Cannot identify target area', 1);\r\n return;\r\n }\r\n }\r\n this.draggedId = null;\r\n }\r\n else {\r\n //if drawing and not ie, have to propagate to image event\r\n this.img_mouseup(e);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tEVENT HANDLER: Handles event of mouseover on imgmap areas.\r\n *\tCalls gradual highlight on the given area.\r\n *\t@author\tadam\r\n *\t@param\te\tThe event object\r\n */\r\n area_mouseover = function (e) {\r\n if (!this.is_drawing) {\r\n //identify source object\r\n var obj = (this.isMSIE) ? window.event.srcElement : e.currentTarget;\r\n if (obj.tagName == 'DIV') {\r\n //do this because of label\r\n obj = obj.parentNode;\r\n }\r\n if (obj.tagName == 'image' || obj.tagName == 'group' ||\r\n obj.tagName == 'shape' || obj.tagName == 'stroke') {\r\n //do this because of excanvas\r\n obj = obj.parentNode.parentNode;\r\n }\r\n this.highlightArea(obj.aid);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tEVENT HANDLER: Handles event of mouseout on imgmap areas.\r\n *\tCalls gradient blur on the given area.\r\n *\t@author\tadam\r\n *\t@param\te\tThe event object\r\n */\r\n area_mouseout = function (e) {\r\n if (!this.is_drawing) {\r\n if (!e)\r\n e = window.event;\r\n\r\n if (this.isMSIE) {\r\n // When moving to a child, ignore this mouseout event\r\n if (e.toElement && e.srcElement == e.toElement.parentNode)\r\n return;\r\n }\r\n\r\n //identify source object\r\n var obj = (this.isMSIE) ? e.srcElement : e.currentTarget;\r\n var tagName = obj.tagName.toLowerCase();\r\n if (tagName == 'div') {\r\n //do this because of label\r\n obj = obj.parentNode;\r\n }\r\n if (tagName == 'image' || tagName == 'group' ||\r\n tagName == 'shape' || tagName == 'stroke') {\r\n //do this because of excanvas\r\n obj = obj.parentNode.parentNode;\r\n }\r\n\r\n // Only blur the area if it isn't the current one\r\n if (this.currentid != obj.aid)\r\n this.blurArea(obj.aid);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tEVENT HANDLER: Handles event of mousedown on imgmap areas.\r\n *\tSets the variables draggedid, selectedid and currentid to the given area.\r\n *\t@author\tadam\r\n *\t@param\te\tThe event object\r\n */\r\n area_mousedown = function (e) {\r\n if (!this.is_drawing) {\r\n var obj = (this.isMSIE) ? window.event.srcElement : e.currentTarget;\r\n if (obj.tagName == 'DIV') {\r\n //do this because of label\r\n obj = obj.parentNode;\r\n }\r\n if (obj.tagName == 'image' || obj.tagName == 'group' ||\r\n obj.tagName == 'shape' || obj.tagName == 'stroke') {\r\n //do this because of excanvas\r\n obj = obj.parentNode.parentNode;\r\n }\r\n if (this.areas[this.currentid] != obj) {\r\n //trying to draw on a different canvas, switch to this one\r\n if (typeof obj.aid == 'undefined') {\r\n this.log('Cannot identify target area', 1);\r\n return;\r\n }\r\n\r\n this.blurArea(this.currentid);\r\n this.currentid = obj.aid;\r\n this.highlightArea(obj.aid);\r\n }\r\n\r\n this.draggedId = this.currentid;\r\n this.selectedId = this.currentid;\r\n this.fireEvent('onSelectArea', this.areas[this.currentid]);\r\n //stop event propagation to document level\r\n if (this.isMSIE) {\r\n window.event.cancelBubble = true;\r\n }\r\n else {\r\n e.stopPropagation();\r\n }\r\n }\r\n else {\r\n //if drawing and not ie, have to propagate to image event\r\n this.img_mousedown(e);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tEVENT HANDLER: Handles event 'keydown' on document.\r\n *\tHandles SHIFT hold while drawing.\r\n *\tNote: Safari doesn't generate keyboard events for modifiers:\r\n *\t@url\thttp://bugs.webkit.org/show_bug.cgi?id=11696\r\n *\t@author\tadam\r\n *\t@param\te\tThe event object\r\n */\r\n doc_keydown = function (e) {\r\n if (e.keyCode == 46 || e.key == \"Delete\") {\r\n //delete key pressed\r\n if (this.selectedId !== null && !this.is_drawing) { this.removeArea(this.selectedId); }\r\n }\r\n else if (e.keyCode == 16 || e.key == \"Shift\") {\r\n //shift key pressed\r\n if (this.is_drawing == this.DM_RECTANGLE_DRAW) {\r\n this.is_drawing = this.DM_SQUARE_DRAW;\r\n this.statusMessage(this.strings.SQUARE_DRAW);\r\n }\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tEVENT HANDLER: Handles event 'keyup' on document.\r\n *\tHandles SHIFT release while drawing.\r\n *\t@author\tadam\r\n *\t@param\te\tThe event object\r\n */\r\n doc_keyup = function (e) {\r\n if (e.keyCode == 16 || e.key == \"Shift\") {\r\n //shift key released\r\n if (this.is_drawing == this.DM_SQUARE_DRAW && this.areas[this.currentid].shape == 'rect') {\r\n //not for circle!\r\n this.is_drawing = this.DM_RECTANGLE_DRAW;\r\n this.statusMessage(this.strings.RECTANGLE_DRAW);\r\n }\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tEVENT HANDLER: Handles event 'mousedown' on document.\r\n *\t@author\tadam\r\n *\t@param\te\tThe event object\r\n */\r\n doc_mousedown = function (e) {\r\n if (!this.is_drawing) {\r\n this.selectedId = null;\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tGet the real position of the element.\r\n *\tDeal with browser differences when trying to get the position of an area.\r\n *\t@param\telement\tThe element you want the position of.\r\n *\t@return\tAn object with x and y members.\r\n */\r\n _getPos = function (element) {\r\n\r\n var bounding = element.getBoundingClientRect();\r\n return { x: bounding.left, y: bounding.top };\r\n };\r\n\r\n\r\n /**\r\n *\tGets the last (visible and editable) area.\r\n *\t@author\tAdam Maschek (adam.maschek(at)gmail.com)\r\n *\t@date\t2006-06-15 16:34:51\r\n *\t@returns\tThe last area object or null.\r\n */\r\n _getLastArea = function () {\r\n for (var i = this.areas.length - 1; i >= 0; i--) {\r\n if (this.areas[i]) {\r\n return this.areas[i];\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n\r\n /**\r\n *\tParses cssText to single style declarations.\r\n *\t@author\tadam\r\n *\t@date\t25-09-2007 18:19:51\r\n *\t@param obj\tThe DOM object to apply styles on.\r\n *\t@param cssText\tThe css declarations to apply.\r\n */\r\n assignCSS = function (obj, cssText) {\r\n var parts = cssText.split(';');\r\n for (var i = 0; i < parts.length; i++) {\r\n var p = parts[i].split(':');\r\n //we need to camelcase by - signs\r\n var pp = trim(p[0]).split('-');\r\n var prop = pp[0];\r\n for (var j = 1; j < pp.length; j++) {\r\n //replace first letters to uppercase\r\n prop += pp[j].replace(/^\\w/, pp[j].substring(0, 1).toUpperCase());\r\n }\r\n obj.style[trim(prop)] = trim(p[1]);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tTo fire callback hooks on custom events, passing them the object of the event.\r\n *\t@author\tadam\r\n *\t@date\t13-10-2007 15:24:49\r\n *\t@param evt\tThe type of event\r\n *\t@param obj\tThe object of the event. (can be an id, a string, an object, whatever is most relevant)\r\n */\r\n fireEvent = function (evt, obj) {\r\n if (typeof this.config.custom_callbacks[evt] == 'function') {\r\n return this.config.custom_callbacks[evt](obj);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tTo set area dimensions.\r\n *\tThis is needed to achieve the same result in all browsers.\r\n *\t@author\tadam\r\n *\t@date\t10-12-2007 22:29:41\r\n *\t@param\tid\tThe id of the area (canvas) to resize.\r\n *\t@param\tw\tThe desired width in pixels.\r\n *\t@param\th\tThe desired height in pixels.\r\n */\r\n setAreaSize = function (id, w, h) {\r\n if (id === null) { id = this.currentid; }\r\n var area = this.areas[id];\r\n if (w !== null) {\r\n area.width = w;\r\n area.style.width = (w) + 'px';\r\n area.setAttribute('width', w);\r\n }\r\n if (h !== null) {\r\n area.height = h;\r\n area.style.height = (h) + 'px';\r\n area.setAttribute('height', h);\r\n }\r\n };\r\n\r\n\r\n /**\r\n *\tDisable selection on a given object.\r\n *\tThis is especially useful in Safari, where dragging around areas\r\n *\tkeeps selecting all sorts of things.\r\n *\t@author\tBret Taylor\r\n *\t@url\thttp://ajaxcookbook.org/disable-text-selection/\r\n *\t@date\t27-07-2008 1:57:45\r\n *\t@param\telement\tThe DOM element on which you want to disable selection.\r\n */\r\n disableSelection = function (element) {\r\n if (typeof element == 'undefined' || !element) { return false; }\r\n if (typeof element.onselectstart != \"undefined\") {\r\n element.onselectstart = function () {\r\n return false;\r\n };\r\n }\r\n if (typeof element.unselectable != \"undefined\") {\r\n element.unselectable = \"on\";\r\n }\r\n if (typeof element.style.MozUserSelect != \"undefined\") {\r\n element.style.MozUserSelect = \"none\";\r\n }\r\n };\r\n}\r\n\r\n/**\r\n *\tTrims a string.\r\n *\tChanged not to extend String but use own function for better compatibility.\r\n *\t@param str The string to trim.\r\n */\r\nfunction trim(str) {\r\n return str.replace(/^\\s+|\\s+$/g, '');\r\n};","import { AbstractControl, ValidationErrors, ValidatorFn } from \"@angular/forms\";\r\n\r\nexport function invalidURLValidator(regex: RegExp): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n const invalid = regex.test(control.value);\r\n return invalid ? { invalidURL: { value: 'control.value' } } : null;\r\n };\r\n}","import { AfterViewChecked, ChangeDetectorRef, Component, ElementRef, Inject, OnInit, ViewChild, Renderer2 } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorImageMap } from '../../models/qms-ckeditor-imagemap.model';\r\nimport { LinkType } from '../../common/enums/link-type.enum';\r\nimport { ProtocolTypeName } from '../../common/enums/protocol-type.enum';\r\nimport { TargetTypeName } from '../../common/enums/target-type.enum';\r\nimport { ImageModeName } from '../../common/enums/image-mode.enum';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { IconSvg } from '../../common/constants/iconSvg.constants';\r\nimport { QMSCKEditorImageMapLib } from './qms-ckeditor-imagemap.lib';\r\nimport { QMSCKEditorRelation } from '../../common/models/qms-ckeditor-relation.model';\r\nimport QMSCKEditorParamter from '../../common/models/qms-ckeditor-parameter.model';\r\nimport { QMSCKEditorLinkService } from '../../services/qms-ckeditor-link.service';\r\nimport { QMSCKEditorRelatedComponent } from '../qms-ckeditor-relation/qmsckeditor-related.component';\r\nimport { LinkAttachmentComponent } from '../qms-ckeditor-link/attachments/link-attachment.component';\r\nimport { QMSCKEditorLinkAnchorDocument } from '../../common/models/qms-ckeditor-link-anchor-document.model';\r\nimport { LinkAnchor } from '../../common/enums/link-anchor.enum';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { invalidURLValidator } from './qms-ckeditor-imagemap.validator';\r\n\r\ninterface ILinkType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface ITarget {\r\n id: TargetTypeName;\r\n name: string;\r\n}\r\n\r\ninterface IProtocol {\r\n id: ProtocolTypeName;\r\n name: string;\r\n}\r\n\r\ninterface IMode {\r\n id: string;\r\n name: string;\r\n icon: string;\r\n}\r\n\r\ninterface IZoomType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface IAnchor {\r\n value: number;\r\n viewValue: string;\r\n anchorValue: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-qmsck-imagemap',\r\n templateUrl: './qms-ckeditor-imagemap.component.html',\r\n styleUrls: ['./qms-ckeditor-imagemap.component.scss']\r\n})\r\nexport class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {\r\n LANG: any;\r\n imageMapFormGroup: FormGroup;\r\n imageMapData: QMSCKEditorImageMap;\r\n linkTypes: ILinkType[] = [];\r\n targets: ITarget[] = [];\r\n protocols: IProtocol[] = [];\r\n modes: IMode[] = [];\r\n zoomTypes: IZoomType[] = [];\r\n url = '';\r\n processedUrl = '';\r\n selectedMode: ImageModeName = ImageModeName.Rectangle;\r\n selectedLinkType: LinkType = LinkType.url;\r\n selectedTarget: TargetTypeName = TargetTypeName.new;\r\n selectedProtocol: ProtocolTypeName | string = ProtocolTypeName.http;\r\n selectedZoom = 1.0;\r\n\r\n protocolRegex: RegExp = /^(http|https|ftp|news):\\/\\/(?=.)/i;\r\n javascriptLinkRegex: RegExp = /javascript\\:/i;\r\n\r\n documentId = 0;\r\n //anchorTitle = '';\r\n anchorText = '';\r\n //anchorByName = '';\r\n advisoryTitle = '';\r\n\r\n isUrlProcessing = false;\r\n naturalImageWidth = 0;\r\n naturalImageHeight = 0;\r\n currentAreaId = -1;\r\n myImageMap: QMSCKEditorImageMapLib;\r\n showImageMapInformation = false;\r\n\r\n anchorDocuments: QMSCKEditorLinkAnchorDocument[] = [];\r\n anchors: IAnchor[];\r\n editorAnchors: IAnchor[];\r\n //documentAnchors: IAnchor[];\r\n\r\n imageListeners: any[] = [];\r\n\r\n @ViewChild('myImage')\r\n myImageRef: ElementRef<HTMLImageElement>;\r\n\r\n @ViewChild('myStatus')\r\n myStatusRef: ElementRef<HTMLElement>;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private cdr: ChangeDetectorRef,\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private linkService: QMSCKEditorLinkService,\r\n public dialogRef: MatDialogRef<QMSCKEditorImageMapComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorImageMap,\r\n iconRegistry: MatIconRegistry,\r\n sanitizer: DomSanitizer\r\n ) {\r\n super();\r\n this.imageMapData = data;\r\n this.naturalImageHeight = this.imageMapData.imageHeight;\r\n this.naturalImageWidth = this.imageMapData.imageWidth;\r\n this.initFormControl();\r\n this.initSvgIcons(iconRegistry, sanitizer);\r\n }\r\n\r\n\r\n initDefaultValues() {\r\n this.selectedLinkType = LinkType.url;\r\n this.selectedTarget = TargetTypeName.new;\r\n this.selectedProtocol = ProtocolTypeName.http;\r\n this.url = '';\r\n this.processedUrl = '';\r\n this.advisoryTitle = '';\r\n this.anchorText = '';\r\n }\r\n\r\n initSvgIcons(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer) {\r\n iconRegistry.addSvgIconLiteral('vector-pointer', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_POINTER));\r\n iconRegistry.addSvgIconLiteral('vector-circle', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_CIRCLE));\r\n iconRegistry.addSvgIconLiteral('vector-rectangle', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_RECTANGLE));\r\n iconRegistry.addSvgIconLiteral('vector-polygon', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_POLYGON));\r\n iconRegistry.addSvgIconLiteral('vector-remove', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_REMOVE));\r\n }\r\n\r\n initFormControl() {\r\n const valiationControls = {\r\n targetList: new FormControl(),\r\n protocolList: new FormControl(),\r\n anchorTextList: new FormControl(),\r\n modeList: new FormControl(),\r\n zoomList: new FormControl(),\r\n linkTypeList: new FormControl()\r\n };\r\n if (this.imageMapData.linkJavaScriptLinksAllowed == true) {\r\n valiationControls['url'] = new FormControl('', [Validators.required]);\r\n } else {\r\n valiationControls['url'] = new FormControl('', [Validators.required, invalidURLValidator(this.javascriptLinkRegex)]);\r\n }\r\n this.imageMapFormGroup = new FormGroup(valiationControls);\r\n }\r\n\r\n initLinkType() {\r\n if (this.linkTypes) {\r\n this.linkTypes.push({ id: LinkType.url, name: this.LANG.QMSCKEDITOR.LINK_URL });\r\n this.linkTypes.push({\r\n id: LinkType.anchorText,\r\n name: this.LANG.QMSCKEDITOR.LINK_ANCHOR_IN_TEXT\r\n });\r\n }\r\n }\r\n\r\n initTarget() {\r\n if (this.targets) {\r\n this.targets.push({ id: TargetTypeName.new, name: this.LANG.QMSCKEDITOR.TARTGET_NEW });\r\n this.targets.push({ id: TargetTypeName.same, name: this.LANG.QMSCKEDITOR.TARGET_SAME });\r\n }\r\n }\r\n\r\n initProtocol() {\r\n if (this.protocols) {\r\n this.protocols.push({ id: ProtocolTypeName.http, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTP });\r\n this.protocols.push({ id: ProtocolTypeName.https, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTPS });\r\n this.protocols.push({ id: ProtocolTypeName.ftp, name: this.LANG.QMSCKEDITOR.PROTOCOL_FTP });\r\n this.protocols.push({ id: ProtocolTypeName.news, name: this.LANG.QMSCKEDITOR.PROTOCOL_NEW });\r\n this.protocols.push({ id: ProtocolTypeName.other, name: this.LANG.QMSCKEDITOR.PROTOCOL_OTHER });\r\n }\r\n }\r\n\r\n initModes() {\r\n if (this.modes) {\r\n this.modes.push({ id: ImageModeName.Pointer, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_POINTER, icon: \"vector-pointer\" });\r\n this.modes.push({ id: ImageModeName.Rectangle, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_RECTANGLE, icon: \"vector-rectangle\" });\r\n this.modes.push({ id: ImageModeName.Circle, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_CIRCLE, icon: \"vector-circle\" });\r\n this.modes.push({ id: ImageModeName.Polygon, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_POLYGON, icon: \"vector-polygon\" });\r\n this.modes.push({ id: ImageModeName.Remove, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_REMOVE, icon: \"vector-remove\" });\r\n }\r\n }\r\n\r\n initZoomTypes() {\r\n if (this.zoomTypes) {\r\n this.zoomTypes.push({ id: 0.25, name: \"25%\" });\r\n this.zoomTypes.push({ id: 0.5, name: \"50%\" });\r\n this.zoomTypes.push({ id: 1.0, name: \"100%\" });\r\n this.zoomTypes.push({ id: 2.0, name: \"200%\" });\r\n this.zoomTypes.push({ id: 3.0, name: \"300%\" });\r\n }\r\n }\r\n\r\n initAnchor() {\r\n this.anchors = [];\r\n this.anchors = [{ value: 0, viewValue: '', anchorValue: LinkAnchor.Blank }];\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.initLinkType();\r\n this.initTarget();\r\n this.initProtocol();\r\n this.initModes();\r\n this.initZoomTypes();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this.imageListeners && this.imageListeners.length > 0) {\r\n this.imageListeners.forEach(listener => {\r\n listener();\r\n });\r\n }\r\n }\r\n\r\n onImageLoad() {\r\n this.naturalImageHeight = this.naturalImageHeight != 0 ? this.naturalImageHeight : this.myImageRef.nativeElement.naturalHeight;\r\n this.naturalImageWidth = this.naturalImageWidth != 0 ? this.naturalImageWidth : this.myImageRef.nativeElement.naturalWidth;\r\n\r\n this.setImageSize();\r\n\r\n this.myImageMap.setMapJson({\r\n name: this.imageMapData.name,\r\n areas: this.imageMapData.areas\r\n });\r\n\r\n if (this.imageMapData.areas && this.imageMapData.areas.length > 0) {\r\n this.myImageMap.blurArea(this.myImageMap.currentid);\r\n this.myImageMap.currentid = 0;\r\n this.myImageMap.selectedId = 0;\r\n this.onSelectArea(this.myImageMap.areas[0]);\r\n this.myImageMap.highlightArea(0);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.myImageRef) {\r\n this.imageListeners.push(this.renderer.listen(this.myImageRef.nativeElement, 'load', () => {\r\n this.onImageLoad();\r\n }));\r\n }\r\n\r\n // Avoid drag&drop of the image\r\n this.myImageMap = new QMSCKEditorImageMapLib({\r\n custom_callbacks: {\r\n \"onAddArea\": this.onAddArea.bind(this),\r\n 'onSelectArea': this.onSelectArea.bind(this),\r\n 'onRemoveArea': this.onRemoveArea.bind(this),\r\n 'onStatusMessage': this.onStatusMessage.bind(this)\r\n },\r\n imageElement: this.myImageRef.nativeElement,\r\n bounding_box: false,\r\n CL_DRAW_SHAPE: '#F00',\r\n CL_NORM_SHAPE: '#AAA',\r\n CL_HIGHLIGHT_SHAPE: '#F00',\r\n strings: {\r\n \"POLYGON_DRAW\": this.LANG.QMSCKEDITOR.POLYGON_DRAW,\r\n \"RECTANGLE_DRAW\": this.LANG.QMSCKEDITOR.RECTANGLE_DRAW,\r\n \"SQUARE_DRAW\": this.LANG.QMSCKEDITOR.SQUARE_DRAW,\r\n 'READY': '',\r\n 'RECTANGLE_MOVE': '',\r\n 'RECTANGLE_RESIZE_TOP': '',\r\n 'RECTANGLE_RESIZE_RIGHT': '',\r\n 'RECTANGLE_RESIZE_BOTTOM': '',\r\n 'RECTANGLE_RESIZE_LEFT': '',\r\n 'SQUARE_MOVE': '',\r\n 'SQUARE_RESIZE_TOP': '',\r\n 'SQUARE_RESIZE_RIGHT': '',\r\n 'SQUARE_RESIZE_BOTTOM': '',\r\n 'SQUARE_RESIZE_LEFT': '',\r\n 'POLYGON_MOVE': ''\r\n }\r\n });\r\n }\r\n\r\n parseLinkUrl(url: string, defaultProtocolName?: ProtocolTypeName) {\r\n const protocol = this.protocolRegex.exec(url);\r\n if (protocol) {\r\n this.processedUrl = url.substr(protocol[0].length);\r\n this.url = this.processedUrl;\r\n this.selectedProtocol = protocol[0].toLowerCase();\r\n } else if (this.javascriptLinkRegex.test(url) && !this.imageMapData.linkJavaScriptLinksAllowed) {\r\n this.selectedProtocol = ProtocolTypeName.http;\r\n this.processedUrl = '';\r\n this.url = this.processedUrl;\r\n } else {\r\n this.processedUrl = url;\r\n this.url = this.processedUrl;\r\n if (!!this.selectedProtocol) {\r\n this.selectedProtocol = defaultProtocolName || ProtocolTypeName.http;\r\n }\r\n }\r\n }\r\n\r\n onSelectArea(area) {\r\n this.currentAreaId = area.aid;\r\n this.showImageMapInformation = true;\r\n\r\n if (this.selectedMode == ImageModeName.Remove) {\r\n this.myImageMap.removeArea(this.currentAreaId);\r\n } else {\r\n if (area.ahref.match(/^#(.*)$/)) {\r\n this.anchorText = area.ahref.slice(1);\r\n this.selectedLinkType = LinkType.anchorText;\r\n } else {\r\n this.selectedLinkType = LinkType.url;\r\n this.parseLinkUrl(area.ahref);\r\n }\r\n this.selectedTarget = area.atarget;\r\n this.advisoryTitle = area.aalt;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n onRemoveArea() {\r\n this.currentAreaId = -1;\r\n this.showImageMapInformation = false;\r\n }\r\n\r\n removeMap() {\r\n this.currentAreaId = -1;\r\n this.showImageMapInformation = false;\r\n this.myImageMap.removeAllAreas();\r\n }\r\n\r\n onStatusMessage(text: string) {\r\n if (this.myStatusRef) {\r\n this.myStatusRef.nativeElement.innerHTML = text || '';\r\n }\r\n }\r\n\r\n onUrlKeyup() {\r\n this.isUrlProcessing = true;\r\n if (this.url != this.processedUrl) {\r\n this.parseLinkUrl(this.url);\r\n this.updateAreaValues();\r\n }\r\n\r\n this.isUrlProcessing = false;\r\n }\r\n\r\n onUrlChange() {\r\n if (!this.isUrlProcessing) {\r\n this.onUrlKeyup();\r\n }\r\n }\r\n\r\n onAnchorTextChange() {\r\n this.updateAreaValues();\r\n }\r\n\r\n onProtocolChange() {\r\n this.updateAreaValues();\r\n }\r\n\r\n onTargetChange() {\r\n this.updateAreaValues();\r\n }\r\n\r\n onAddArea(id: number) {\r\n this.currentAreaId = id;\r\n this.showImageMapInformation = true;\r\n this.initDefaultValues();\r\n this.updateAreaValues();\r\n }\r\n\r\n updateAreaValues() {\r\n if (this.currentAreaId > -1) {\r\n var ahref = this.buildUrlWithProtocol();\r\n if (this.selectedLinkType == LinkType.anchorText) {\r\n this.myImageMap.areas[this.currentAreaId].atarget = TargetTypeName.same;\r\n this.myImageMap.areas[this.currentAreaId].aalt = this.anchorText;\r\n }\r\n else {\r\n this.myImageMap.areas[this.currentAreaId].atarget = this.selectedTarget || TargetTypeName.new;\r\n this.myImageMap.areas[this.currentAreaId].aalt = this.advisoryTitle;\r\n }\r\n this.myImageMap.areas[this.currentAreaId].ahref = ahref;\r\n }\r\n }\r\n\r\n buildUrlWithProtocol() {\r\n if (this.selectedLinkType == LinkType.anchorText) {\r\n return '#' + (this.anchorText || '');\r\n }\r\n if (!!this.processedUrl) {\r\n return this.selectedProtocol + this.processedUrl;\r\n }\r\n return '';\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n onModeChange(e: any) {\r\n this.selectedMode = e.value;\r\n if (this.selectedMode == ImageModeName.Pointer || this.selectedMode == ImageModeName.Remove) {\r\n this.myImageMap.is_drawing = 0;\r\n this.myImageMap.nextShape = '';\r\n this.myImageRef.nativeElement.style.cursor = 'default';\r\n }\r\n else {\r\n this.myImageMap.nextShape = this.selectedMode;\r\n this.myImageRef.nativeElement.style.cursor = 'crosshair';\r\n }\r\n }\r\n\r\n onZoomChange() {\r\n this.setImageSize();\r\n if (this.myImageMap) {\r\n this.myImageMap.scaleAllAreas(this.selectedZoom);\r\n }\r\n }\r\n\r\n onLinkTypeChange() {\r\n if (this.selectedLinkType === LinkType.anchorText) {\r\n this.getEditorAnchor();\r\n }\r\n this.updateAreaValues();\r\n }\r\n\r\n getEditorAnchor() {\r\n this.anchorDocuments = [];\r\n if (this.imageMapData.editorContent) {\r\n this.anchorDocuments.push({\r\n id: 0,\r\n entityId: 0,\r\n documentId: 0,\r\n documentTypeId: 0,\r\n richText: this.imageMapData.editorContent\r\n });\r\n }\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.editorAnchors = this.anchors;\r\n }\r\n\r\n setImageSize() {\r\n if (this.myImageRef) {\r\n const width = this.naturalImageWidth * this.selectedZoom;\r\n const height = this.naturalImageHeight * this.selectedZoom;\r\n this.myImageRef.nativeElement.setAttribute(\"width\", `${width}px;`);\r\n this.myImageRef.nativeElement.setAttribute(\"height\", `${height}px;`);\r\n this.myImageRef.nativeElement.style.width = `${width}px`;\r\n this.myImageRef.nativeElement.style.height = `${height}px`;\r\n this.myImageRef.nativeElement.style.cursor = this.selectedMode == ImageModeName.Pointer || this.selectedMode == ImageModeName.Remove ? 'default' : 'crosshair';\r\n }\r\n }\r\n\r\n eHandbook(isOnlyDocument: boolean, isAnchorDocument: boolean) {\r\n const data = new QMSCKEditorRelation();\r\n data.isOnlyDocument = isOnlyDocument;\r\n data.isEnableFolder = !isOnlyDocument;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorRelatedComponent, {\r\n width: '650px',\r\n height: '650px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n if (isAnchorDocument) {\r\n this.documentId = result.id;\r\n //this.anchorTitle = `${result.title}(${result.id})`;\r\n this.getAnchorDocument(result.id);\r\n } else {\r\n this.parseLinkUrl(result.url);\r\n this.selectedProtocol = ProtocolTypeName.other;\r\n if (!this.advisoryTitle) {\r\n this.advisoryTitle = result.title;\r\n }\r\n }\r\n this.updateAreaValues();\r\n }\r\n });\r\n }\r\n\r\n getAnchorDocument(documentId: number) {\r\n this.linkService\r\n .getAnchorDocumentList(documentId)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((res) => {\r\n if (res) {\r\n this.anchorDocuments = res;\r\n this.setAnchorDocument(this.anchorDocuments);\r\n //this.documentAnchors = this.anchors;\r\n } else {\r\n this.anchorDocuments = [];\r\n this.setAnchorDocument(this.anchorDocuments);\r\n //this.documentAnchors = this.anchors;\r\n }\r\n });\r\n }\r\n\r\n setAnchorDocument(anchorDocument: QMSCKEditorLinkAnchorDocument[]) {\r\n this.initAnchor();\r\n let id = 3;\r\n if (anchorDocument) {\r\n anchorDocument.forEach((e) => {\r\n const div = document.createElement('div');\r\n div.innerHTML = e.richText;\r\n const domContent = div;\r\n const aTags = domContent.getElementsByTagName('a');\r\n if (aTags) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < aTags.length; i++) {\r\n const tag = aTags[i];\r\n if (tag.name) {\r\n const index = this.anchors.findIndex((x) => {\r\n return x.anchorValue === tag.name;\r\n });\r\n if (index < 0) {\r\n this.anchors.push({\r\n value: id,\r\n viewValue: tag.name,\r\n anchorValue: tag.name\r\n });\r\n id += 1;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n // this.anchors.push({\r\n // value: 1,\r\n // viewValue: this.LANG.QMSCKEDITOR.ANCHOR_ATTACHMENT,\r\n // anchorValue: LinkAnchor.Attachment\r\n // });\r\n // this.anchors.push({\r\n // value: 2,\r\n // viewValue: this.LANG.QMSCKEDITOR.ANCHOR_RELATED_DOCUMENT,\r\n // anchorValue: LinkAnchor.Related\r\n // });\r\n }\r\n\r\n\r\n attachment() {\r\n const data = new QMSCKEditorParamter();\r\n data.module = this.imageMapData.module;\r\n data.entityId = this.imageMapData.entityId;\r\n const dialogTemplate = this.dialog.open(LinkAttachmentComponent, {\r\n width: '650px',\r\n height: '650px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.parseLinkUrl(result.url);\r\n this.selectedProtocol = ProtocolTypeName.other;\r\n if (!this.advisoryTitle) {\r\n this.advisoryTitle = result.title;\r\n }\r\n this.updateAreaValues();\r\n }\r\n });\r\n }\r\n\r\n save() {\r\n const data = this.myImageMap.getMapJson();\r\n data.imageHeight = this.naturalImageHeight;\r\n data.imageWidth = this.naturalImageWidth;\r\n this.dialogRef.close(data);\r\n }\r\n\r\n cancel() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export class QMSCKEditorTooltip {\r\n text: string;\r\n content: string;\r\n ckEditor:any;\r\n \r\n constructor() {\r\n this.text = '';\r\n this.content = '';\r\n }\r\n }\r\n ","import { AfterViewChecked, ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators, Validator } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTooltip } from '../../models/qms-ckeditor-tooltip.model';\r\n//import * as customEditor from '../../../../assets/qms-ckeditor-plugin/build/ckEditor';\r\nimport CKEditorCommonFunctions from '../../common/functions/common.function';\r\n\r\ninterface ITooltip {\r\n text: string;\r\n content: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-qmsck-tooltip',\r\n templateUrl: './qms-ckeditor-tooltip.component.html',\r\n styleUrls: ['./qms-ckeditor-tooltip.component.scss']\r\n})\r\nexport class QMSCKEditorTooltipComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {\r\n LANG: any;\r\n tooltipFormGroup: FormGroup = new FormGroup({\r\n title: new FormControl('', [Validators.required]),\r\n content: new FormControl('', [Validators.required])\r\n });\r\n tooltip: ITooltip;\r\n editor: any;\r\n editorConfig: any;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<QMSCKEditorTooltipComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorTooltip\r\n ) {\r\n super();\r\n this.tooltip = { text: data.text, content: data.content };\r\n this.editor = data.ckEditor;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n 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');\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getOutputContent(content: string) {\r\n this.tooltip.content = content;\r\n }\r\n\r\n public onChanged({ editor }) {\r\n this.tooltip.content = editor.getData();\r\n }\r\n\r\n public onBlur({ editor }) {\r\n this.tooltip.content = editor.getData();\r\n }\r\n\r\n public onReady(editor) {\r\n if (this.tooltip.text) {\r\n editor.setData(this.tooltip.text);\r\n }\r\n editor.ui.getEditableElement().parentElement.insertBefore(editor.ui.view.toolbar.element, editor.ui.getEditableElement());\r\n }\r\n\r\n saveTooltip() {\r\n const tooltip = new QMSCKEditorTooltip();\r\n tooltip.content = this.tooltip.content;\r\n tooltip.text = this.tooltip.text;\r\n this.dialogRef.close(tooltip);\r\n }\r\n\r\n cancelTooltip() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, HostListener, Input, OnInit, Output, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { UploadAdapter } from './common/classes/uploadAdapter';\r\nimport { CKEditorEventConst } from './common/constants/ckeditorEvent.constant';\r\nimport CKEditorCommonFunctions from './common/functions/common.function';\r\nimport { QMSCKEditorData } from './common/models/qms-ckeditor-data.model';\r\nimport { QMSCKEditorPlugin } from './common/models/qms-ckeditor-plugin.model';\r\nimport QMSCKEditorLink from './common/models/qms-ckeditor-url.model';\r\nimport { QMSCKEditorBpmnComponent } from './components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component';\r\nimport { QMSCKEditorFullscreenComponent } from './components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component';\r\nimport { QMSCKEditorImageMapComponent } from './components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component';\r\nimport { QMSCKEditorLinkComponent } from './components/qms-ckeditor-link/qms-ckeditor-link.component';\r\nimport { QMSCKEditorLoadTemplateComponent } from './components/qms-ckeditor-load-template/qms-ckeditor-load-template.component';\r\nimport { QMSCKEditorTemplateComponent } from './components/qms-ckeditor-template/qms-ckeditor-template.component';\r\nimport { QMSCKEditorTooltipComponent } from './components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component';\r\nimport { QMSCKEditorImageMap } from './models/qms-ckeditor-imagemap.model';\r\nimport { QMSCKEditorTemplate } from './models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorTooltip } from './models/qms-ckeditor-tooltip.model';\r\nimport { QMSCKEditorBaseComponent } from './qms-ckeditor-base.component';\r\nimport { QMSCKEditorGlobalService } from './services/qms-ckeditor-global.service';\r\n@Component({\r\n selector: 'qms-ckeditor',\r\n templateUrl: './qms-ckeditor.component.html',\r\n styleUrls: ['./qms-ckeditor.component.scss'],\r\n providers: [\r\n QMSCKEditorFullscreenComponent,\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => QMSCKEditorComponent),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => QMSCKEditorComponent),\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class QMSCKEditorComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewInit, Validator {\r\n @Input() qmsckData: QMSCKEditorData;\r\n @Input() qmsckPlugin: QMSCKEditorPlugin;\r\n @Input() qmsckContentInput: string;\r\n @Input('disabled') isDisabled: boolean;\r\n @Input('required') required: boolean = false;\r\n @Output() qmsckContentOutput: EventEmitter<string> = new EventEmitter();\r\n\r\n ckEditor: any;\r\n name: string;\r\n ckeditorConfig: any;\r\n ckEditorEventConst = CKEditorEventConst;\r\n countWord: number;\r\n countChar: number;\r\n editorInstance: any;\r\n\r\n @HostListener('window:message', ['$event'])\r\n onMessage(event) {\r\n switch (event.data.eventName) {\r\n case this.ckEditorEventConst.QMSCK_FULLSCREEN_PLUGIN_MSG:\r\n this.fullscreenEventHandling();\r\n break;\r\n case this.ckEditorEventConst.QMSCK_TEMPLATE_PLUGIN_MSG:\r\n this.templateEventHandling();\r\n break;\r\n case this.ckEditorEventConst.QMSCK_LOAD_TEMPLATE_PLUGIN_MSG:\r\n this.loadTemplateEventHandling();\r\n break;\r\n case this.ckEditorEventConst.QMSCK_LINK_PLUGIN_MSG:\r\n this.linkEventHandling(event.data.value);\r\n break;\r\n case this.ckEditorEventConst.QMSCK_TOOLTIP_PLUGIN_MSG:\r\n this.tooltipEventHandling(event.data.value);\r\n break;\r\n case this.ckEditorEventConst.QMSCK_IMAGEMAP_PLUGIN_MSG:\r\n this.imageMapEventHandling(event.data.value);\r\n break;\r\n case this.ckEditorEventConst.QMSCK_BPMN_PLUGIN_MSG:\r\n this.bpmnEventHandling(event.data.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Constructor\r\n */\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private globalService: QMSCKEditorGlobalService,\r\n private qmsCKEditorFullscreenComponent: QMSCKEditorFullscreenComponent,\r\n private renderer: Renderer2,\r\n private elRef: ElementRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.name = 'CKEditor custom build';\r\n this.ckEditor = this.qmsckPlugin.pluginObject;\r\n this.ckeditorConfig = CKEditorCommonFunctions.getCKEditorConfiguration(this.qmsckPlugin.itemToolbar);\r\n this.globalService.setApiUrl(this.qmsckData.apiUrl);\r\n if (this.isEnabledCustomizingMathtypeService()) {\r\n this.customizeMathTypeService();\r\n }\r\n if (this.isEnabledCustomizingTimestampFormat()) {\r\n this.customizeTimestampFormat();\r\n }\r\n }\r\n\r\n onChange: (content: any) => void;\r\n onTouched: () => void;\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.isDisabled) {\r\n this.renderer.addClass(this.elRef.nativeElement, 'ck-disabled');\r\n }\r\n }\r\n\r\n isEnabledCustomizingTimestampFormat(): boolean {\r\n const pattern = /(timestamp)/gmi;\r\n return !!this.qmsckData.timestampFormat\r\n && this.qmsckData.timestampFormat !== ''\r\n && !!this.qmsckPlugin.itemToolbar\r\n && this.qmsckPlugin.itemToolbar.search(pattern) > -1;\r\n }\r\n\r\n customizeTimestampFormat() {\r\n const timestampConfig = {\r\n timestampConfig: {\r\n datetimeFormat: this.qmsckData.timestampFormat\r\n }\r\n };\r\n this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, timestampConfig);\r\n }\r\n\r\n isEnabledCustomizingMathtypeService(): boolean {\r\n const pattern = /(MathType)|(ChemType)/gmi;\r\n return !!this.qmsckData.mathtypeServiceUrl\r\n && this.qmsckData.mathtypeServiceUrl !== ''\r\n && !!this.qmsckPlugin.itemToolbar\r\n && this.qmsckPlugin.itemToolbar.search(pattern) > -1;\r\n }\r\n\r\n customizeMathTypeService() {\r\n const mathTypeConfig = {\r\n mathTypeParameters: {\r\n serviceProviderProperties: {\r\n URI: this.qmsckData.mathtypeServiceUrl,\r\n server: 'aspx'\r\n }\r\n }\r\n };\r\n this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, mathTypeConfig);\r\n }\r\n\r\n public onChanged({ editor }) {\r\n this.qmsckContentOutput.emit(this.qmsckContentInput);\r\n }\r\n\r\n public onBlur({ editor }) {\r\n this.qmsckContentOutput.emit(this.qmsckContentInput);\r\n }\r\n\r\n validate(c: FormControl) {\r\n if (!this.required) {\r\n return null;\r\n }\r\n return (this.qmsckContentInput && !this.required) ? null : {\r\n type: {\r\n valid: false,\r\n actual: c.value\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * onReady\r\n */\r\n public onReady(editor) {\r\n this.editorInstance = editor;\r\n if (this.qmsckContentInput) {\r\n editor.setData(this.qmsckContentInput);\r\n }\r\n\r\n this.initEditor(editor);\r\n\r\n }\r\n\r\n private initEditor(editor) {\r\n editor.ui\r\n .getEditableElement()\r\n .parentElement.insertBefore(editor.ui.view.toolbar.element, editor.ui.getEditableElement());\r\n\r\n editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {\r\n return new UploadAdapter(loader);\r\n };\r\n\r\n // Apped Wordcount to CKeditor\r\n editor.plugins.get('WordCount').on('update', (evt, stats) => {\r\n // Prints the current content statistics.\r\n const wordsBox = document.querySelector('.wordcount-content');\r\n wordsBox.textContent = `Words: ${stats.words} / Characters: ${stats.characters}`;\r\n });\r\n\r\n }\r\n\r\n /**\r\n * Full screen - Restore down\r\n */\r\n public fullscreenEventHandling() {\r\n const ck = window.document.getElementById('qmsckeditor');\r\n if (ck) {\r\n if (!ck.classList.contains('qmsckeditor__fullscreen')) {\r\n this.qmsCKEditorFullscreenComponent.showFullScreen();\r\n } else {\r\n this.qmsCKEditorFullscreenComponent.hideFullScreen();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Add template - Load template\r\n */\r\n public templateEventHandling() {\r\n const data: QMSCKEditorTemplate = new QMSCKEditorTemplate();\r\n data.id = 0;\r\n data.content = this.qmsckContentInput;\r\n data.edit = false;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorTemplateComponent, {\r\n width: '650px',\r\n height: '520px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n // TDO\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Add template - Load template\r\n */\r\n public loadTemplateEventHandling() {\r\n const dialogTemplate = this.dialog.open(QMSCKEditorLoadTemplateComponent, {\r\n width: '650px',\r\n height: '700px',\r\n data: this.qmsckContentInput,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_LOAD_TEMPLATE_PLUGIN_RESP, {\r\n detail: result\r\n });\r\n window.dispatchEvent(evt);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Anchor - Link - Image mapping\r\n */\r\n public linkEventHandling(link) {\r\n let data = new QMSCKEditorLink();\r\n data = link;\r\n data.editorContent = this.qmsckContentInput;\r\n data.module = this.qmsckData.module;\r\n data.entityId = this.qmsckData.entityId;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorLinkComponent, {\r\n width: '650px',\r\n height: '660px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_LINK_PLUGIN_RESP, {\r\n detail: result\r\n });\r\n window.dispatchEvent(evt);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Tooltip mapping\r\n */\r\n public tooltipEventHandling(value) {\r\n let data = new QMSCKEditorTooltip();\r\n data.text = value.text;\r\n data.content = value.content;\r\n data.ckEditor = this.qmsckPlugin.pluginObject;\r\n\r\n const dialogTemplate = this.dialog.open(QMSCKEditorTooltipComponent, {\r\n width: '650px',\r\n height: '550px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_TOOLTIP_PLUGIN_RESP, {\r\n detail: result\r\n });\r\n window.dispatchEvent(evt);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * ImageMap mapping\r\n */\r\n public imageMapEventHandling(value) {\r\n let data = new QMSCKEditorImageMap();\r\n data.name = value.name;\r\n data.areas = value.areas;\r\n data.imageUrl = value.imageUrl;\r\n data.imageWidth = value.imageWidth;\r\n data.imageHeight = value.imageHeight;\r\n data.module = this.qmsckData.module;\r\n data.entityId = this.qmsckData.entityId;\r\n data.editorContent = this.qmsckContentInput;\r\n data.linkJavaScriptLinksAllowed = this.qmsckData.linkJavaScriptLinksAllowed;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorImageMapComponent, {\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_IMAGEMAP_PLUGIN_RESP, {\r\n detail: result\r\n });\r\n window.dispatchEvent(evt);\r\n }\r\n });\r\n }\r\n\r\n /*\r\n Business Process Model and Notation\r\n */\r\n public bpmnEventHandling(id: string) {\r\n const dialogTemplate = this.dialog.open(QMSCKEditorBpmnComponent, {\r\n width: '89vw',\r\n maxWidth: '100vw',\r\n height: '700px',\r\n maxHeight: '100vw',\r\n data: id,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_BPMN_PLUGIN_RESP, {\r\n detail: result\r\n });\r\n window.dispatchEvent(evt);\r\n }\r\n });\r\n }\r\n}\r\n\r\n","import { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { Injector, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\r\nimport { QMSCKEditorConfirmComponent } from './common/module/confirm/qms-ckeditor-confirm.component';\r\nimport { QMSCKEditorTreeComponent } from './common/module/tree/qms-ckeditor-tree.component';\r\nimport { QMSCKEditorFullscreenComponent } from './components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component';\r\nimport { LinkAttachmentComponent } from './components/qms-ckeditor-link/attachments/link-attachment.component';\r\nimport { QMSCKEditorLinkComponent } from './components/qms-ckeditor-link/qms-ckeditor-link.component';\r\nimport { QMSCKEditorLoadTemplateComponent } from './components/qms-ckeditor-load-template/qms-ckeditor-load-template.component';\r\nimport { QMSCKEditorRelatedComponent } from './components/qms-ckeditor-relation/qmsckeditor-related.component';\r\nimport { QMSCKEditorTemplateComponent } from './components/qms-ckeditor-template/qms-ckeditor-template.component';\r\nimport { QMSCKEditorComponent } from './qms-ckeditor.component';\r\nimport { QMSCKEditorInjector } from './services/qms-ckeditor-injector.service';\r\nimport { SharedModule } from '../shared.module';\r\nimport { QMSCKEditorTooltipComponent } from './components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component';\r\nimport { QMSCKEditorImageMapComponent } from './components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QMSCKEditorBpmnComponent } from './components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component';\r\nimport { SaveTemplateComponent } from './components/qms-ckeditor-bpmn/save-template/save-template.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n QMSCKEditorFullscreenComponent,\r\n QMSCKEditorComponent,\r\n QMSCKEditorTemplateComponent,\r\n QMSCKEditorLoadTemplateComponent,\r\n QMSCKEditorConfirmComponent,\r\n QMSCKEditorLinkComponent,\r\n QMSCKEditorTreeComponent,\r\n QMSCKEditorRelatedComponent,\r\n LinkAttachmentComponent,\r\n QMSCKEditorTooltipComponent,\r\n QMSCKEditorImageMapComponent,\r\n QMSCKEditorBpmnComponent,\r\n SaveTemplateComponent\r\n ],\r\n imports: [\r\n CKEditorModule,\r\n CommonModule,\r\n MatCommonModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n MatExpansionModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n MatCardModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatProgressSpinnerModule,\r\n MatTooltipModule,\r\n MatRadioModule,\r\n MatTreeModule,\r\n MatAutocompleteModule,\r\n ScrollingModule,\r\n HttpClientModule,\r\n SharedModule\r\n ],\r\n providers: [],\r\n exports: [QMSCKEditorComponent],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class QMSCKEditorModule {\r\n constructor(private injectors: Injector) {\r\n QMSCKEditorInjector.setInjector(this.injectors);\r\n }\r\n}\r\n","export class QMSCKEditorData {\r\n apiUrl?: string;\r\n module?: number;\r\n entityId?: string;\r\n documentId?: number;\r\n mathtypeServiceUrl?: string;\r\n timestampFormat?: string;\r\n linkJavaScriptLinksAllowed?: boolean;\r\n}\r\n","export class QMSCKEdtiorInputData {\r\n apiUrl?: string;\r\n module?: number;\r\n entityId?: string;\r\n documentId?: number;\r\n mathtypeServiceUrl?: string;\r\n timestampFormat?: string;\r\n linkJavaScriptLinksAllowed?: boolean;\r\n}\r\n","export class QMSCKEditorLinkAnchorDocument {\r\n id: number;\r\n entityId: number;\r\n documentId: number;\r\n documentTypeId: number;\r\n richText: string;\r\n\r\n constructor() {\r\n this.id = 0;\r\n this.entityId = 0;\r\n this.documentId = 0;\r\n this.documentTypeId = 0;\r\n this.richText = '';\r\n }\r\n}\r\n","export default class QMSCKEditorLinkAttachment {\r\n itemId: string;\r\n fileName: string;\r\n placementId: number;\r\n processrelationTypeId: number;\r\n extension: string;\r\n description: string;\r\n sort: number;\r\n extraId: string;\r\n}\r\n","export default class QMSCKEditorTree {\r\n rootId: string;\r\n parentId: string;\r\n rootName: string;\r\n subName: string;\r\n childId: string;\r\n childName: string;\r\n statusId: number;\r\n displayId: number;\r\n}\r\n","export class QMSCKEditorPlugin {\r\n pluginObject: any;\r\n itemToolbar: string;\r\n\r\n constructor() {\r\n this.pluginObject = null;\r\n this.itemToolbar = '';\r\n }\r\n}\r\n","export enum RelatedItemType {\r\n document = 1,\r\n process = 2,\r\n area = 3,\r\n handbook = 4,\r\n deviation = 5,\r\n checklist = 6,\r\n risk = 7\r\n}\r\n","export class QMSCKEditorBpmnTemplate {\r\n index: number;\r\n id: string;\r\n templateName: string;\r\n jsonContent: string;\r\n\r\n constructor() {\r\n this.index = 0;\r\n this.id = '';\r\n this.templateName = '';\r\n this.jsonContent = '';\r\n }\r\n}\r\n","import { ViewChild } from '@angular/core';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { IconModel } from './qms-app-bar.model';\r\n\r\n@Component({\r\n selector: 'app-qms-app-bar',\r\n templateUrl: './qms-app-bar.component.html',\r\n styleUrls: ['./qms-app-bar.component.scss']\r\n})\r\nexport class QmsAppBarComponent implements OnInit {\r\n @ViewChild('menu', { static: true }) menu: MatButton;\r\n\r\n // nomal style\r\n @Input() isNomalType = false;\r\n @Input() leftFirstIcon = 'keyboard_backspace';\r\n @Input() title: string;\r\n @Input() cancelTitle: string;\r\n @Input() confirmTitle: string;\r\n @Input() disabledConfirmAction: boolean;\r\n @Output() onClickLeftFirstIconEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() onCancelEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() onConfirmEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n // modern style\r\n @Input() hideMenuDropdown: boolean;\r\n @Input() logoSvgPath: string;\r\n @Input() imgSvgPath: string;\r\n @Input() isImgSvgTransparent: boolean;\r\n @Input() rightIcons: IconModel[] = [];\r\n @Input() notifications = 0;\r\n @Output() onMenuClickedEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() onRightIconClickedEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor() { }\r\n \r\n ngOnInit(): void {\r\n }\r\n\r\n onCancel() {\r\n this.onCancelEvent.emit();\r\n }\r\n\r\n onClickLeftFirstIcon() {\r\n this.onClickLeftFirstIconEvent.emit();\r\n }\r\n\r\n onConfirm() {\r\n this.onConfirmEvent.emit();\r\n }\r\n\r\n onMenuClicked() {\r\n this.onMenuClickedEvent.emit();\r\n }\r\n\r\n onRightIconClicked(icon: string) {\r\n this.onRightIconClickedEvent.emit(icon);\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QmsAppBarComponent } from './qms-app-bar.component';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { QMSButtonModule } from '../button/button.module';\r\n\r\n@NgModule(\r\n {\r\n declarations: [\r\n QmsAppBarComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatToolbarModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatBadgeModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n QmsAppBarComponent\r\n ]\r\n }\r\n)\r\n\r\nexport class QmsAppBarModule {\r\n}\r\n","export class IconModel {\r\n icon: string;\r\n tooltip: string;\r\n cssClass: string;\r\n svg: boolean;\r\n isShow: boolean;\r\n constructor(icon: string, tooltip: string, cssClass = '', svg = false, isShow = true) {\r\n this.icon = icon;\r\n this.tooltip = tooltip;\r\n this.svg = svg;\r\n this.cssClass = cssClass;\r\n this.isShow = isShow;\r\n }\r\n}","import { MatDialogConfig } from \"@angular/material/dialog\";\r\n\r\nexport class ConfirmDialog {\r\n title: string;\r\n body: string;\r\n normalTitle: string;\r\n closeButton: boolean;\r\n buttonType: string;\r\n actionText: string;\r\n cancelText: string;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.body = '';\r\n this.normalTitle = '';\r\n this.buttonType = 'normal';\r\n this.closeButton = false;\r\n this.actionText = 'Confirm';\r\n this.cancelText = 'Cancel';\r\n }\r\n}\r\n\r\n\r\n\r\nexport class QMSDialogConfig extends MatDialogConfig {\r\n constructor(data: ConfirmDialog, width: string = '', minHeight: string = '', panelClass: string = '') {\r\n super();\r\n this.data = data;\r\n this.width = width;\r\n this.disableClose = false;\r\n this.panelClass = ['qms-dialog'];\r\n this.panelClass.push(panelClass);\r\n this.autoFocus = false;\r\n this.restoreFocus = false;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { QMSToolTipComponent } from './tooltip';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n CommonModule\r\n ],\r\n exports: [\r\n QMSToolTipComponent,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n \r\n ],\r\n declarations: [\r\n QMSToolTipComponent\r\n ],\r\n})\r\nexport class QMSTooltipModule { }","export class QmsBannerContent {\r\n text: string;\r\n tooltip?: string;\r\n bold?: boolean;\r\n}\r\n\r\nexport enum BannerType {\r\n primary = 'primary',\r\n warning = 'warning',\r\n success = 'success',\r\n error = 'error',\r\n light = 'light',\r\n none = 'none',\r\n}\r\n\r\nexport class QmsBannerConfirmButton {\r\n id: string | number;\r\n text: string;\r\n}\r\n\r\nexport class QmsBannerConfirmButtonClick {\r\n button: QmsBannerConfirmButton;\r\n event: PointerEvent;\r\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BannerType, QmsBannerContent } from '../models/qms-banner.model';\r\n\r\n@Component({\r\n selector: 'qms-banner',\r\n templateUrl: './qms-banner.component.html',\r\n styleUrls: ['./qms-banner.component.scss']\r\n})\r\nexport class QmsBannerComponent {\r\n @Input() type = BannerType.primary;\r\n @Input() contents: QmsBannerContent[] = [];\r\n @Input() icon: string;\r\n @Input() buttonText: string;\r\n @Input() buttonMinWidth: number;\r\n\r\n @Output() buttonClick = new EventEmitter<PointerEvent>();\r\n\r\n public onClickButton(event: PointerEvent) {\r\n this.buttonClick.emit(event);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QmsBannerComponent } from './qms-banner.component';\r\nimport { QMSButtonModule } from '../../button/button.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsBannerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n QmsBannerComponent\r\n ]\r\n})\r\nexport class QmsBannerModule { }\r\n","import { Component, Input } from '@angular/core';\r\nimport { BannerType } from '../models/qms-banner.model';\r\n\r\n@Component({\r\n selector: 'qms-banner-loading',\r\n templateUrl: './qms-banner-loading.component.html',\r\n styleUrls: ['./qms-banner-loading.component.scss']\r\n})\r\nexport class QmsBannerLoadingComponent {\r\n @Input() type = BannerType.primary;\r\n @Input() title: string;\r\n @Input() percent: number;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { QmsBannerLoadingComponent } from './qms-banner-loading.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsBannerLoadingComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatProgressSpinnerModule\r\n ],\r\n exports: [\r\n QmsBannerLoadingComponent\r\n ]\r\n})\r\nexport class QmsBannerLoadingModule { }\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BannerType, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerContent } from '../models/qms-banner.model';\r\n\r\n@Component({\r\n selector: 'qms-banner-confirm',\r\n templateUrl: './qms-banner-confirm.component.html',\r\n styleUrls: ['./qms-banner-confirm.component.scss']\r\n})\r\nexport class QmsBannerConfirmComponent {\r\n @Input() type = BannerType.primary;\r\n @Input() contents: QmsBannerContent[] = [];\r\n @Input() icon: string;\r\n @Input() title: string;\r\n @Input() buttons: QmsBannerConfirmButton[];\r\n\r\n @Output() buttonClick = new EventEmitter<QmsBannerConfirmButtonClick>();\r\n\r\n public onClickButton(event: PointerEvent, button: QmsBannerConfirmButton) {\r\n this.buttonClick.emit({\r\n event: event,\r\n button: button\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QmsBannerConfirmComponent } from './qms-banner-confirm.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { QMSButtonModule } from '../../button/button.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsBannerConfirmComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n QmsBannerConfirmComponent\r\n ]\r\n})\r\nexport class QmsBannerConfirmModule { }\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit, ChangeDetectionStrategy, Component,\r\n ContentChildren, Directive, ElementRef, HostListener, Input, OnInit,\r\n QueryList, Renderer2, ViewEncapsulation\r\n} from \"@angular/core\";\r\n\r\n\r\n@Component({\r\n selector: 'qms-table-action',\r\n templateUrl: 'table-action.html',\r\n styleUrls: ['table.scss'],\r\n host: { 'class': 'qms-table-action' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSTableAction implements OnInit {\r\n\r\n constructor(private elRef: ElementRef) { }\r\n ngOnInit() { }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-table-action-block',\r\n templateUrl: 'table-action-block.html',\r\n styleUrls: ['table.scss'],\r\n host: {\r\n 'class': 'qms-table-action-block',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSTableActionBlock implements AfterViewInit {\r\n\r\n constructor(private elRef: ElementRef<HTMLElement>, private renderer: Renderer2) { }\r\n\r\n ngAfterViewInit() {\r\n }\r\n}\r\n\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nimport { QMSTableAction, QMSTableActionBlock } from './table-action';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n QMSTableAction,\r\n QMSTableActionBlock,\r\n ],\r\n declarations: [\r\n QMSTableAction,\r\n QMSTableActionBlock,\r\n ],\r\n providers: []\r\n})\r\nexport class QMSTableModule { }\r\n","import { ItemIconType } from \"../../related/common/item-icon-type.enum\";\r\n\r\nexport class BreadcrumbNode {\r\n icon: string;\r\n iconColor: string;\r\n itemIcon: string;\r\n itemIconSvg: string;\r\n itemIconPath: string;\r\n itemIconBase64: string;\r\n name: string;\r\n isOverflow?: boolean;\r\n isShow?: boolean;\r\n displayType?: ItemIconType;\r\n}\r\n ","export class StepModel {\r\n id: string;\r\n name: string;\r\n disabled: boolean;\r\n selected: boolean;\r\n constructor(id: string, name: string, disabled: boolean, selected: boolean) {\r\n this.id = id;\r\n this.disabled = disabled;\r\n this.name = name;\r\n this.selected = selected;\r\n }\r\n}","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\r\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { StepModel } from './qms-stepper.model';\r\n\r\n@Component({\r\n selector: 'app-qms-stepper',\r\n templateUrl: './qms-stepper.component.html',\r\n styleUrls: ['./qms-stepper.component.scss']\r\n})\r\nexport class QmsStepperComponent implements OnInit {\r\n @ViewChild('stepper', { static: false }) stepper;\r\n @Input() steps: StepModel[] = [];\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() isHorizontal = false;\r\n @Input() currentStep = 0;\r\n @Input() labelPosition = 'end';\r\n @Output() selectionChangeEvent: EventEmitter<number> = new EventEmitter();\r\n constructor(private changeDetector: ChangeDetectorRef) {\r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n changeStep(selectedIndex: number): void {\r\n this.currentStep = selectedIndex;\r\n this.selectionChangeEvent.emit(selectedIndex);\r\n }\r\n}\r\n","import { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { QmsStepperComponent } from './qms-stepper.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n@NgModule(\r\n {\r\n declarations: [\r\n QmsStepperComponent\r\n ],\r\n imports: [\r\n MatStepperModule,\r\n CommonModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n QmsStepperComponent\r\n ],\r\n entryComponents: [\r\n QmsStepperComponent\r\n ],\r\n providers: [{\r\n provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false }\r\n }]\r\n }\r\n)\r\n\r\nexport class QmsStepperModule {\r\n}","import { MatSnackBarConfig, MatSnackBarHorizontalPosition } from \"@angular/material/snack-bar\";\r\n\r\nexport class QMSSnackbarConfig extends MatSnackBarConfig {\r\n constructor(duration: number = 3000, horizontalPosition: MatSnackBarHorizontalPosition = 'right', panelClass: string | string[] = ['c-snackbar-qms']) {\r\n super();\r\n this.duration = duration;\r\n this.horizontalPosition = horizontalPosition;\r\n this.panelClass = panelClass;\r\n }\r\n}\r\n","/*\r\n * Public API Surface of qms-angular\r\n */\r\n\r\nimport { from } from 'rxjs';\r\n\r\nexport * from './lib/qms-angular.service';\r\nexport * from './lib/qms-angular.component';\r\nexport * from './lib/qms-angular.module';\r\n\r\n// directives\r\n// export * from './lib/directives/directive.module';\r\nexport * from './lib/directives/margin.directive';\r\nexport * from './lib/directives/form.directive';\r\n\r\n// //components\r\nexport * from './lib/components/test-only/test-only.component';\r\n\r\nexport * from './lib/components/button/button.module';\r\nexport * from './lib/components/button/button';\r\nexport * from './lib/components/button/color';\r\n\r\nexport * from './lib/components/comment/comment';\r\n\r\n\r\nexport * from './lib/directives/search-field.directive';\r\nexport * from './lib/directives/range-slider/range-slider.directive';\r\nexport * from './lib/directives/range-slider/range-slider-lockup.directive';\r\nexport * from './lib/components/list/list.module';\r\nexport * from './lib/components/list/list';\r\nexport * from './lib/components/suffix-field/suffix-field.directive';\r\n\r\nexport * from './lib/services/translation-registry.service';\r\nexport * from './lib/shared.module';\r\nexport * from './lib/model/en';\r\nexport * from './lib/model/no';\r\n\r\nexport * from './lib/components/rich-text/rich-text.module';\r\nexport * from './lib/components/rich-text/rich-text';\r\n\r\n\r\n\r\nexport * from './lib/directives/chips/chip.directive';\r\nexport * from './lib/directives/chips/chip-body.directive';\r\nexport * from './lib/components/edit-file-name-dialog/edit-file-name-dialog.module';\r\nexport * from './lib/components/edit-file-name-dialog/edit-file-name-dialog';\r\nexport * from './lib/components/upload-file-error-dialog/upload-file-error-dialog.module';\r\nexport * from './lib/components/upload-file-error-dialog/upload-file-error-dialog';\r\n\r\nexport * from './lib/directives/file-upload/file-upload.directive';\r\nexport * from './lib/directives/file-upload/file-upload-attachment-list.directive';\r\nexport * from './lib/directives/file-upload/file-upload-selector.directive';\r\nexport * from './lib/directives/file-upload/file-upload-display.directive';\r\nexport * from './lib/directives/file-upload/file-upload-scrollable-attachment-list.directive';\r\nexport * from './lib/directives/file-upload/file-upload-multiple.directive';\r\nexport * from './lib/directives/file-upload/file-upload-multiple-selector.directive';\r\nexport * from './lib/directives/file-upload/file-upload-multiple-display.directive';\r\nexport * from './lib/directives/file-upload/qms-file-upload-attachment.model';\r\n\r\n\r\nexport * from './lib/directives/dropdown-menu/dropdown-item.directive';\r\n\r\nexport * from './lib/directives/scrollbar/scrollbar.directive';\r\nexport * from './lib/directives/scroll-selected/scroll-to-selected.directive';\r\n\r\n// export * from './lib/components/substance-conflict/substance-conflict.module';\r\n// export * from './lib/components/substance-conflict/substaince-conflict.base';\r\n// export * from './lib/components/substance-conflict/substance-conflict.component';\r\n\r\nexport * from './lib/components/related/related.module';\r\nexport * from './lib/components/related/tree/tree.component';\r\nexport * from './lib/components/related/common/tree.function';\r\nexport * from './lib/components/related/model/tree-node.model';\r\nexport * from './lib/components/related/model/tree.model';\r\nexport * from './lib/components/related/popup/related-popup.component';\r\nexport * from './lib/components/related/model/popup-data.model';\r\nexport * from './lib/components/related/content/related-content.component';\r\nexport * from './lib/components/related/sidenav/sidenav.component';\r\nexport * from './lib/components/related/model/sidenav.model';\r\nexport * from './lib/components/related/risk/analysis/analysis.component';\r\nexport * from './lib/components/related/model/risk-analysis.model';\r\nexport * from './lib/components/related/model/tree-config.model';\r\nexport * from './lib/components/related/model/risk-danger.model';\r\nexport * from './lib/components/related/risk/result/result.component';\r\nexport * from './lib/components/related/model/risk-result.model';\r\nexport * from './lib/components/related/risk/list/list.component';\r\nexport * from './lib/components/related/list-other-related/list-related.component'\r\nexport * from './lib/components/related/service/related-global.service';\r\nexport * from './lib/components/related/common/qms-icon.const';\r\n/* qms-ckeditor */\r\nexport * from './lib/qms-ckeditor-components/qms-ckeditor.module';\r\nexport * from './lib/qms-ckeditor-components/qms-ckeditor-base.component';\r\nexport * from './lib/qms-ckeditor-components/qms-ckeditor.component';\r\n\r\nexport * from './lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant';\r\nexport * from './lib/qms-ckeditor-components/common/enums/document-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/link-anchor.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/link-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/protocol-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/target-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/module.enum';\r\nexport * from './lib/qms-ckeditor-components/common/functions/common.function';\r\nexport * from './lib/qms-ckeditor-components/common/functions/tree.function';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-dialog.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-link-anchor-document.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-link-attachment.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-relation.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-tree.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-url.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-plugin.model';\r\nexport * from './lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component';\r\nexport * from './lib/qms-ckeditor-components/common/module/tree/qms-ckeditor-tree.component';\r\nexport * from './lib/qms-ckeditor-components/common/toast/qms-ckeditor-toast.service';\r\n\r\nexport * from './lib/qms-ckeditor-components/models/qms-ckeditor-template.model';\r\n\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component';\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component';\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component';\r\n// export * from './lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component';\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component';\r\n\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-global.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-injector.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-base.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckedtior-template.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckedtior-template.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-link.service';\r\n/* Business Process Model and Notation */\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service';\r\nexport * from './lib/qms-ckeditor-components/common/bpmn/inspector.function';\r\nexport * from './lib/qms-ckeditor-components/common/bpmn/toolbar.function';\r\nexport * from './lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const';\r\nexport * from './lib/qms-ckeditor-components/common/enums/flowchart-view-mode.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/related-to-item-type';\r\nexport * from './lib/qms-ckeditor-components/common/helper/guidHelper';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn.model';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-bpmn-api.service';\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn-template.model';\r\n\r\nexport * from './lib/directives/text-block/text-block.directive';\r\nexport * from './lib/directives/text-block/text-block-line.directive';\r\nexport * from './lib/components/qms-app-bar/qms-app-bar.module';\r\nexport * from './lib/components/qms-app-bar/qms-app-bar.model';\r\nexport * from './lib/components/qms-app-bar/qms-app-bar.component';\r\n\r\nexport * from './lib/components/dialog/constant';\r\nexport * from './lib/components/dialog/dialog';\r\n\r\nexport * from './lib/directives/side-sheet/drawer.directive';\r\nexport * from './lib/directives/side-sheet/drawer-header.directive';\r\nexport * from './lib/directives/side-sheet/drawer-content.directive';\r\nexport * from './lib/directives/side-sheet/drawer-header-action.directive';\r\nexport * from './lib/directives/tooltip/tooltip-renderer.directive';\r\nexport * from './lib/directives/tooltip/tooltip-image.directive';\r\nexport * from './lib/components/tooltip/tooltip';\r\nexport * from './lib/components/tooltip/tooltip.module';\r\n\r\nexport * from './lib/directives/tab/tab-label.directive';\r\nexport * from './lib/directives/tab/tab-group.directive';\r\nexport * from './lib/directives/tab/tab-group-advanced.directive';\r\n\r\nexport * from './lib/components/banner/qms-banner/qms-banner.module';\r\nexport * from './lib/components/banner/qms-banner/qms-banner.component';\r\nexport * from './lib/components/banner/qms-banner-loading/qms-banner-loading.module';\r\nexport * from './lib/components/banner/qms-banner-loading/qms-banner-loading.component';\r\nexport * from './lib/components/banner/qms-banner-confirm/qms-banner-confirm.module';\r\nexport * from './lib/components/banner/qms-banner-confirm/qms-banner-confirm.component';\r\nexport * from './lib/components/banner/models/qms-banner.model';\r\n\r\nexport * from './lib/components/button/button-toggle';\r\nexport * from './lib/pipe/dateFormat.pipe';\r\n\r\nexport * from './lib/directives/chip-input/chip-input-field.directive';\r\nexport * from './lib/directives/chip-input/chip-input-select-field.directive';\r\nexport * from './lib/directives/chip-input/chip-input-select-trigger.directive';\r\nexport * from './lib/directives/chip-input/chip-input-select-dropdown.directive';\r\nexport * from './lib/directives/chip-input/chip-input-chip-list.directive';\r\nexport * from './lib/components/table/table.module';\r\nexport * from './lib/components/table/table-action';\r\n\r\n\r\nexport * from './lib/components/breadcrumb/breadcrumb';\r\nexport * from './lib/components/breadcrumb/breadcrumb.module';\r\nexport * from './lib/components/breadcrumb/breadcrumb-item.directive';\r\nexport * from './lib/components/breadcrumb/breadcrumb-direction-icon.directive';\r\nexport * from './lib/components/breadcrumb/model/breadcrumb-node.model';\r\n\r\nexport * from './lib/common/qms-icon.const';\r\n\r\nexport * from './lib/components/qms-stepper/qms-stepper.model';\r\nexport * from './lib/components/qms-stepper/qms-stepper.module';\r\nexport * from './lib/components/qms-stepper/qms-stepper.component';\r\nexport * from './lib/components/snackbar/snackbar';\r\n\r\nexport * from './lib/directives/scroll-selected/scroll-to-selected.directive';\r\n\r\nexport * from './lib/components/app-icon/icon-registry.service';\r\nexport * from './lib/components/app-icon/app-icon.module';\r\n\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {SharedMaterialModule as ɵa} from './lib/material-module';\nexport {QMSCKEditorImageMapComponent as ɵg} from './lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component';\nexport {LinkAttachmentComponent as ɵd} from './lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component';\nexport {QMSCKEditorTemplateComponent as ɵb} from './lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component';\nexport {QMSCKEditorTooltipComponent as ɵe} from './lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component';\nexport {QMSCKEditorImageMap as ɵh} from './lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model';\nexport {QMSCKEditorTooltip as ɵf} from './lib/qms-ckeditor-components/models/qms-ckeditor-tooltip.model';\nexport {QMSCKEditorTreeService as ɵc} from './lib/qms-ckeditor-components/services/qms-ckeditor-tree.service';"],"names":["Injectable","BehaviorSubject","Component","EventEmitter","ChangeDetectionStrategy","Input","Output","FormBuilder","ElementRef","MatDialogRef","Inject","MAT_DIALOG_DATA","ViewChild","HostListener","Directive","ContentChild","MatAutocompleteTrigger","NgControl","Optional","FileErrorType","MatDialog","Renderer2","ViewEncapsulation","ComponentPortal","Overlay","OverlayPositionBuilder","InjectionToken","NG_VALUE_ACCESSOR","forwardRef","coerceBooleanProperty","SelectionModel","ChangeDetectorRef","ContentChildren","mixinDisableRipple","FocusMonitor","Attribute","mixinDisabled","ANIMATION_MODULE_TYPE","NgModule","MatCommonModule","MatIconModule","MatProgressSpinnerModule","MatInputModule","MatCardModule","MatDialogModule","CUSTOM_ELEMENTS_SCHEMA","moment","Pipe","CommonModule","FormsModule","ReactiveFormsModule","MAT_FORM_FIELD_DEFAULT_OPTIONS","MAT_RADIO_DEFAULT_OPTIONS","setLines","MatListModule","MatExpansionModule","MAT_EXPANSION_PANEL_DEFAULT_OPTIONS","NO_ERRORS_SCHEMA","NG_VALIDATORS","MatButtonModule","MatFormFieldModule","MatIconRegistry","DomSanitizer","ViewChildren","MatMenuModule","objData","buildArrayTree","TreeNode","buildObjectTree","findParent","findChild","FlatTreeControl","MatTreeFlattener","MatTreeFlatDataSource","Subject","FormControl","takeUntil","debounceTime","MatTreeModule","MatCheckboxModule","MatAutocompleteModule","ScrollingModule","MatSidenavModule","HttpHeaders","HttpClient","CKEditorModule","LinkAnchor","LinkType","ProtocolType","ProtocolTypeName","TargetType","TargetTypeName","QMSCKEditorDocumentType","forkJoin","FormGroup","Validators","MatSnackBarConfig","MatSnackBar","FlowchartViewMode","_","$","MatSnackBarModule","MatSelectModule","MatButtonToggleModule","MatTooltipModule","MatRadioModule","HttpClientModule","Injector","RelatedItemType","MatToolbarModule","MatBadgeModule","MatDialogConfig","BannerType","MatStepperModule","STEPPER_GLOBAL_OPTIONS"],"mappings":"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"}