qms-angular 1.0.68 → 1.0.72

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 (325) hide show
  1. package/README.md +21 -2
  2. package/bundles/qms-angular.umd.js +2269 -551
  3. package/bundles/qms-angular.umd.js.map +1 -1
  4. package/esm2015/lib/components/badges/qms-badges.component.js +5 -4
  5. package/esm2015/lib/components/banner/index.js +2 -0
  6. package/esm2015/lib/components/banner/public_api.js +8 -0
  7. package/esm2015/lib/components/banner/qms-banner/qms-banner.component.js +2 -2
  8. package/esm2015/lib/components/button/button.js +6 -6
  9. package/esm2015/lib/components/comment/comment-log.model.js +2 -0
  10. package/esm2015/lib/components/comment/comment.js +6 -2
  11. package/esm2015/lib/components/qms-app-bar/index.js +2 -0
  12. package/esm2015/lib/components/qms-app-bar/models/qms-app-bar.model.js +10 -0
  13. package/esm2015/lib/components/qms-app-bar/public_api.js +3 -0
  14. package/esm2015/lib/components/qms-app-bar/qms-app-bar.component.js +2 -2
  15. package/esm2015/lib/components/qms-navigation-drawer/index.js +2 -0
  16. package/esm2015/lib/components/qms-navigation-drawer/models/qms-navigation-drawer.model.js +3 -0
  17. package/esm2015/lib/components/qms-navigation-drawer/public_api.js +3 -0
  18. package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.js +350 -0
  19. package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.module.js +33 -0
  20. package/esm2015/lib/components/qms-paginator/index.js +2 -0
  21. package/esm2015/lib/components/qms-paginator/public_api.js +3 -0
  22. package/esm2015/lib/components/qms-paginator/qms-paginator.component.js +173 -0
  23. package/esm2015/lib/components/qms-paginator/qms-paginator.module.js +34 -0
  24. package/esm2015/lib/components/qms-status-dropdown/index.js +4 -0
  25. package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.component.js +33 -0
  26. package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.model.js +10 -0
  27. package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.module.js +28 -0
  28. package/esm2015/lib/components/qms-stepper/index.js +2 -0
  29. package/esm2015/lib/components/qms-stepper/models/qms-stepper.model.js +9 -0
  30. package/esm2015/lib/components/qms-stepper/public_api.js +3 -0
  31. package/esm2015/lib/components/qms-stepper/qms-stepper.component.js +3 -3
  32. package/esm2015/lib/components/range-slider/directives/range-slider-lockup.directive.js +20 -0
  33. package/esm2015/lib/components/range-slider/directives/range-slider.directive.js +34 -0
  34. package/esm2015/lib/components/range-slider/index.js +2 -0
  35. package/esm2015/lib/components/range-slider/public-api.js +4 -0
  36. package/esm2015/lib/components/range-slider/range-slider.module.js +22 -0
  37. package/esm2015/lib/components/related/popup/related-popup.component.js +2 -2
  38. package/esm2015/lib/components/select-include-children/model/select-popup-data.model.js +2 -1
  39. package/esm2015/lib/components/select-include-children/select-include-children.component.js +45 -45
  40. package/esm2015/lib/components/select-one/select-one.component.js +50 -3
  41. package/esm2015/lib/components/tab/directive/tab-group-advanced.directive.js +30 -0
  42. package/esm2015/lib/components/tab/directive/tab-group.directive.js +20 -0
  43. package/esm2015/lib/components/tab/directive/tab-label.directive.js +20 -0
  44. package/esm2015/lib/components/tab/index.js +2 -0
  45. package/esm2015/lib/components/tab/public-api.js +5 -0
  46. package/esm2015/lib/components/tab/tab.module.js +25 -0
  47. package/esm2015/lib/components/tree/tree.component.js +13 -10
  48. package/esm2015/lib/components/treeNew/tree.component.js +6 -3
  49. package/esm2015/lib/directives/table/table.directive.js +201 -0
  50. package/esm2015/lib/model/en.js +21 -3
  51. package/esm2015/lib/model/no.js +20 -2
  52. package/esm2015/lib/qms-angular.module.js +17 -20
  53. package/esm2015/lib/qms-ckeditor-components/common/bpmn/inspector.function.js +68 -16
  54. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.js +5 -1
  55. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.js +10 -1
  56. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorLink.constant.js +7 -0
  57. package/esm2015/lib/qms-ckeditor-components/common/enums/document-type.enum.js +2 -1
  58. package/esm2015/lib/qms-ckeditor-components/common/enums/shape-flow-chart-connection-type.js +8 -0
  59. package/esm2015/lib/qms-ckeditor-components/common/functions/common.function.js +2 -2
  60. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.js +1 -1
  61. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart-template.model.js +9 -0
  62. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart.model.js +9 -0
  63. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-save-as-template.model.js +3 -0
  64. package/esm2015/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.js +1 -1
  65. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.js +545 -34
  66. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.js +46 -18
  67. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component.js +1 -46
  68. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +1 -1
  69. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.js +1 -1
  70. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +1 -1
  71. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.js +1 -1
  72. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.js +1 -1
  73. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.js +1 -1
  74. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.js +1 -1
  75. package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-bpmn-data.model.js +8 -0
  76. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +26 -20
  77. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +4 -2
  78. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.js +58 -20
  79. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-flowchart.service.js +26 -0
  80. package/esm2015/public-api.js +17 -20
  81. package/esm2015/qms-angular.js +2 -1
  82. package/fesm2015/qms-angular.js +1987 -415
  83. package/fesm2015/qms-angular.js.map +1 -1
  84. package/lib/components/badges/qms-badges.component.d.ts +1 -1
  85. package/lib/components/banner/index.d.ts +1 -0
  86. package/lib/components/banner/public_api.d.ts +7 -0
  87. package/lib/components/banner/qms-banner/qms-banner.component.d.ts +2 -2
  88. package/lib/components/button/button.d.ts +1 -1
  89. package/lib/components/comment/comment-log.model.d.ts +10 -0
  90. package/lib/components/comment/comment.d.ts +5 -11
  91. package/lib/components/qms-app-bar/index.d.ts +1 -0
  92. package/lib/components/qms-app-bar/{qms-app-bar.model.d.ts → models/qms-app-bar.model.d.ts} +0 -0
  93. package/lib/components/qms-app-bar/public_api.d.ts +2 -0
  94. package/lib/components/qms-app-bar/qms-app-bar.component.d.ts +1 -1
  95. package/lib/components/qms-navigation-drawer/index.d.ts +1 -0
  96. package/lib/components/qms-navigation-drawer/models/qms-navigation-drawer.model.d.ts +19 -0
  97. package/lib/components/qms-navigation-drawer/public_api.d.ts +2 -0
  98. package/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.d.ts +106 -0
  99. package/lib/components/qms-navigation-drawer/qms-navigation-drawer.module.d.ts +2 -0
  100. package/lib/components/qms-paginator/index.d.ts +1 -0
  101. package/lib/components/qms-paginator/public_api.d.ts +2 -0
  102. package/lib/components/qms-paginator/qms-paginator.component.d.ts +51 -0
  103. package/lib/components/qms-paginator/qms-paginator.module.d.ts +2 -0
  104. package/lib/components/qms-status-dropdown/index.d.ts +3 -0
  105. package/lib/components/qms-status-dropdown/qms-status-dropdown.component.d.ts +10 -0
  106. package/lib/components/qms-status-dropdown/qms-status-dropdown.model.d.ts +10 -0
  107. package/lib/components/qms-status-dropdown/qms-status-dropdown.module.d.ts +2 -0
  108. package/lib/components/qms-stepper/index.d.ts +1 -0
  109. package/lib/components/qms-stepper/{qms-stepper.model.d.ts → models/qms-stepper.model.d.ts} +0 -0
  110. package/lib/components/qms-stepper/public_api.d.ts +2 -0
  111. package/lib/components/qms-stepper/qms-stepper.component.d.ts +1 -1
  112. package/lib/{directives/range-slider → components/range-slider/directives}/range-slider-lockup.directive.d.ts +0 -0
  113. package/lib/{directives/range-slider → components/range-slider/directives}/range-slider.directive.d.ts +0 -0
  114. package/lib/components/range-slider/index.d.ts +1 -0
  115. package/lib/components/range-slider/public-api.d.ts +3 -0
  116. package/lib/components/range-slider/range-slider.module.d.ts +2 -0
  117. package/lib/components/select-include-children/model/select-popup-data.model.d.ts +1 -0
  118. package/lib/components/select-include-children/select-include-children.component.d.ts +3 -2
  119. package/lib/components/select-one/select-one.component.d.ts +4 -0
  120. package/lib/{directives/tab → components/tab/directive}/tab-group-advanced.directive.d.ts +0 -0
  121. package/lib/{directives/tab → components/tab/directive}/tab-group.directive.d.ts +0 -0
  122. package/lib/{directives/tab → components/tab/directive}/tab-label.directive.d.ts +0 -0
  123. package/lib/components/tab/index.d.ts +1 -0
  124. package/lib/components/tab/public-api.d.ts +4 -0
  125. package/lib/components/tab/tab.module.d.ts +2 -0
  126. package/lib/directives/table/table.directive.d.ts +50 -0
  127. package/lib/model/en.d.ts +18 -0
  128. package/lib/model/no.d.ts +18 -0
  129. package/lib/qms-ckeditor-components/common/bpmn/inspector.function.d.ts +28 -0
  130. package/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.d.ts +4 -0
  131. package/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.d.ts +9 -0
  132. package/lib/qms-ckeditor-components/common/constants/ckeditorLink.constant.d.ts +6 -0
  133. package/lib/qms-ckeditor-components/common/enums/document-type.enum.d.ts +1 -0
  134. package/lib/qms-ckeditor-components/common/enums/shape-flow-chart-connection-type.d.ts +6 -0
  135. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.d.ts +1 -0
  136. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart-template.model.d.ts +7 -0
  137. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart.model.d.ts +7 -0
  138. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-save-as-template.model.d.ts +5 -0
  139. package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.d.ts +85 -4
  140. package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.d.ts +8 -2
  141. package/lib/qms-ckeditor-components/models/qms-ckeditor-bpmn-data.model.d.ts +7 -0
  142. package/lib/qms-ckeditor-components/qms-ckeditor.component.d.ts +2 -4
  143. package/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.d.ts +1 -0
  144. package/lib/qms-ckeditor-components/services/qms-ckeditor-flowchart.service.d.ts +10 -0
  145. package/lib.theme.scss +2 -0
  146. package/package.json +4 -2
  147. package/public-api.d.ts +13 -19
  148. package/qms-angular.d.ts +1 -0
  149. package/qms-angular.metadata.json +1 -1
  150. package/src/assets/fonts/icomoon.eot +0 -0
  151. package/src/assets/fonts/icomoon.svg +203 -0
  152. package/src/assets/fonts/icomoon.ttf +0 -0
  153. package/src/assets/fonts/icomoon.woff +0 -0
  154. package/src/assets/jointjs/js/rappid.js +55919 -55836
  155. package/src/assets/jointjs/scss/bpmn.scss +2 -1
  156. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +2 -2
  157. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
  158. package/src/assets/qms-ckeditor-plugin/build/translations/ar.js +1 -1
  159. package/src/assets/qms-ckeditor-plugin/build/translations/az.js +1 -1
  160. package/src/assets/qms-ckeditor-plugin/build/translations/bg.js +1 -1
  161. package/src/assets/qms-ckeditor-plugin/build/translations/cs.js +1 -1
  162. package/src/assets/qms-ckeditor-plugin/build/translations/da.js +1 -1
  163. package/src/assets/qms-ckeditor-plugin/build/translations/de-ch.js +1 -1
  164. package/src/assets/qms-ckeditor-plugin/build/translations/de.js +1 -1
  165. package/src/assets/qms-ckeditor-plugin/build/translations/en-au.js +1 -1
  166. package/src/assets/qms-ckeditor-plugin/build/translations/en-gb.js +1 -1
  167. package/src/assets/qms-ckeditor-plugin/build/translations/es.js +1 -1
  168. package/src/assets/qms-ckeditor-plugin/build/translations/et.js +1 -1
  169. package/src/assets/qms-ckeditor-plugin/build/translations/fa.js +1 -1
  170. package/src/assets/qms-ckeditor-plugin/build/translations/fi.js +1 -1
  171. package/src/assets/qms-ckeditor-plugin/build/translations/fr.js +1 -1
  172. package/src/assets/qms-ckeditor-plugin/build/translations/gl.js +1 -1
  173. package/src/assets/qms-ckeditor-plugin/build/translations/hi.js +1 -1
  174. package/src/assets/qms-ckeditor-plugin/build/translations/hr.js +1 -1
  175. package/src/assets/qms-ckeditor-plugin/build/translations/hu.js +1 -1
  176. package/src/assets/qms-ckeditor-plugin/build/translations/id.js +1 -1
  177. package/src/assets/qms-ckeditor-plugin/build/translations/it.js +1 -1
  178. package/src/assets/qms-ckeditor-plugin/build/translations/ja.js +1 -1
  179. package/src/assets/qms-ckeditor-plugin/build/translations/ko.js +1 -1
  180. package/src/assets/qms-ckeditor-plugin/build/translations/ku.js +1 -1
  181. package/src/assets/qms-ckeditor-plugin/build/translations/lt.js +1 -1
  182. package/src/assets/qms-ckeditor-plugin/build/translations/lv.js +1 -1
  183. package/src/assets/qms-ckeditor-plugin/build/translations/nb.js +1 -1
  184. package/src/assets/qms-ckeditor-plugin/build/translations/ne.js +1 -1
  185. package/src/assets/qms-ckeditor-plugin/build/translations/nl.js +1 -1
  186. package/src/assets/qms-ckeditor-plugin/build/translations/no.js +1 -1
  187. package/src/assets/qms-ckeditor-plugin/build/translations/pl.js +1 -1
  188. package/src/assets/qms-ckeditor-plugin/build/translations/pt-br.js +1 -1
  189. package/src/assets/qms-ckeditor-plugin/build/translations/ro.js +1 -1
  190. package/src/assets/qms-ckeditor-plugin/build/translations/ru.js +1 -1
  191. package/src/assets/qms-ckeditor-plugin/build/translations/sk.js +1 -1
  192. package/src/assets/qms-ckeditor-plugin/build/translations/sq.js +1 -1
  193. package/src/assets/qms-ckeditor-plugin/build/translations/sr-latn.js +1 -1
  194. package/src/assets/qms-ckeditor-plugin/build/translations/sr.js +1 -1
  195. package/src/assets/qms-ckeditor-plugin/build/translations/sv.js +1 -1
  196. package/src/assets/qms-ckeditor-plugin/build/translations/th.js +1 -1
  197. package/src/assets/qms-ckeditor-plugin/build/translations/tk.js +1 -1
  198. package/src/assets/qms-ckeditor-plugin/build/translations/tr.js +1 -1
  199. package/src/assets/qms-ckeditor-plugin/build/translations/ug.js +1 -1
  200. package/src/assets/qms-ckeditor-plugin/build/translations/uk.js +1 -1
  201. package/src/assets/qms-ckeditor-plugin/build/translations/vi.js +1 -1
  202. package/src/assets/qms-ckeditor-plugin/build/translations/zh-cn.js +1 -1
  203. package/src/assets/qms-ckeditor-plugin/build/translations/zh.js +1 -1
  204. package/src/assets/qms-ckeditor-plugin/package-lock.json +38 -12178
  205. package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +6 -0
  206. package/src/assets/qms-ckeditor-plugin/src/plugins/bpmn/qmsCKEditorBpmnPlugin.js +31 -6
  207. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorConstant.js +7 -1
  208. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorUtil.js +29 -7
  209. package/src/assets/qms-ckeditor-plugin/src/plugins/fullscreen/qmsCKEditorFullscreenPlugin.js +23 -12
  210. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/converters.js +93 -92
  211. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemap.js +4 -4
  212. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapcommand.js +92 -0
  213. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapdialogcommand.js +59 -0
  214. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapediting.js +92 -87
  215. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapui.js +13 -14
  216. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/resizeimagemapcommand.js +25 -24
  217. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/utils.js +40 -49
  218. package/src/assets/qms-ckeditor-plugin/src/themes/icons/fullscreen_exit.svg +1 -0
  219. package/src/assets/svg-icons/acutely-toxic.svg +19 -0
  220. package/src/assets/svg-icons/add-column.svg +4 -0
  221. package/src/assets/svg-icons/add-tooltip.svg +6 -0
  222. package/src/assets/svg-icons/admin.svg +3 -0
  223. package/src/assets/svg-icons/annual-cycle.svg +10 -0
  224. package/src/assets/svg-icons/assignment-repete.svg +4 -0
  225. package/src/assets/svg-icons/barrier-add.svg +7 -0
  226. package/src/assets/svg-icons/barrier-edit.svg +7 -0
  227. package/src/assets/svg-icons/barrier-view.svg +3 -0
  228. package/src/assets/svg-icons/button-group.svg +5 -0
  229. package/src/assets/svg-icons/checklist.svg +8 -0
  230. package/src/assets/svg-icons/chemical-manager.svg +5 -0
  231. package/src/assets/svg-icons/chronic-health-hazard.svg +17 -0
  232. package/src/assets/svg-icons/contingency.svg +3 -0
  233. package/src/assets/svg-icons/corrosive.svg +23 -0
  234. package/src/assets/svg-icons/dashboard.svg +3 -0
  235. package/src/assets/svg-icons/database-sds.svg +4 -0
  236. package/src/assets/svg-icons/department-document.svg +4 -0
  237. package/src/assets/svg-icons/department-folder-closed.svg +4 -0
  238. package/src/assets/svg-icons/department-folder-open.svg +4 -0
  239. package/src/assets/svg-icons/description-add.svg +6 -0
  240. package/src/assets/svg-icons/description-edit.svg +6 -0
  241. package/src/assets/svg-icons/description-view.svg +3 -0
  242. package/src/assets/svg-icons/deviation.svg +3 -0
  243. package/src/assets/svg-icons/document-read.svg +5 -0
  244. package/src/assets/svg-icons/draft.svg +7 -0
  245. package/src/assets/svg-icons/dropdown-folder.svg +4 -0
  246. package/src/assets/svg-icons/enterprise-document.svg +4 -0
  247. package/src/assets/svg-icons/enterprise-folder-closed.svg +4 -0
  248. package/src/assets/svg-icons/enterprise-folder-open.svg +4 -0
  249. package/src/assets/svg-icons/expired-off.svg +3 -0
  250. package/src/assets/svg-icons/expired-on.svg +5 -0
  251. package/src/assets/svg-icons/explosive.svg +48 -0
  252. package/src/assets/svg-icons/file-excel.svg +3 -0
  253. package/src/assets/svg-icons/file-pdf-verified.svg +5 -0
  254. package/src/assets/svg-icons/file-pdf.svg +3 -0
  255. package/src/assets/svg-icons/file-word.svg +3 -0
  256. package/src/assets/svg-icons/filter-alt.svg +3 -0
  257. package/src/assets/svg-icons/flammable.svg +5 -0
  258. package/src/assets/svg-icons/flowchart-BPMN.svg +9 -0
  259. package/src/assets/svg-icons/folder-closed.svg +3 -0
  260. package/src/assets/svg-icons/folder-open.svg +3 -0
  261. package/src/assets/svg-icons/gas-under-pressure.svg +4 -0
  262. package/src/assets/svg-icons/health-hazard.svg +4 -0
  263. package/src/assets/svg-icons/keyboard_arrow_down.svg +1 -0
  264. package/src/assets/svg-icons/keyboard_arrow_up.svg +1 -0
  265. package/src/assets/svg-icons/line-break.svg +7 -0
  266. package/src/assets/svg-icons/local-document.svg +4 -0
  267. package/src/assets/svg-icons/local-folder-closed.svg +4 -0
  268. package/src/assets/svg-icons/local-folder-open.svg +4 -0
  269. package/src/assets/svg-icons/location.svg +3 -0
  270. package/src/assets/svg-icons/measure-add.svg +5 -0
  271. package/src/assets/svg-icons/measure-edit.svg +5 -0
  272. package/src/assets/svg-icons/measure-view.svg +3 -0
  273. package/src/assets/svg-icons/messages.svg +3 -0
  274. package/src/assets/svg-icons/monitoring.svg +5 -0
  275. package/src/assets/svg-icons/move.svg +3 -0
  276. package/src/assets/svg-icons/oxidizing.svg +6 -0
  277. package/src/assets/svg-icons/process-area-closed.svg +4 -0
  278. package/src/assets/svg-icons/process-area-open.svg +4 -0
  279. package/src/assets/svg-icons/process-linked.svg +4 -0
  280. package/src/assets/svg-icons/process.svg +3 -0
  281. package/src/assets/svg-icons/regional-document.svg +4 -0
  282. package/src/assets/svg-icons/regional-folder-closed.svg +4 -0
  283. package/src/assets/svg-icons/regional-folder-open.svg +4 -0
  284. package/src/assets/svg-icons/risk.svg +3 -0
  285. package/src/assets/svg-icons/search-in-file.svg +4 -0
  286. package/src/assets/svg-icons/sort-ascending.svg +3 -0
  287. package/src/assets/svg-icons/sort-descending.svg +3 -0
  288. package/src/assets/svg-icons/subscript.svg +4 -0
  289. package/src/assets/svg-icons/superscript.svg +4 -0
  290. package/src/assets/svg-icons/syncronice-favorites.svg +5 -0
  291. package/src/assets/svg-icons/system-settings.svg +3 -0
  292. package/src/assets/svg-icons/view-three-outlined.svg +5 -0
  293. package/src/assets/svg-icons/wiris.svg +9 -0
  294. package/src/assets/svg-icons/workplace-safety.svg +5 -0
  295. package/src/lib/components/badges/_qms-badges-base.scss +8 -7
  296. package/src/lib/components/badges/qms-badges.component.scss +1 -1
  297. package/src/lib/components/button/button-icon.scss +5 -1
  298. package/src/lib/components/qms-app-bar/qms-app-bar.component.scss +10 -0
  299. package/src/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.scss +182 -0
  300. package/src/lib/components/qms-paginator/qms-paginator.component.scss +128 -0
  301. package/src/lib/components/qms-status-dropdown/qms-status-dropdown.component.scss +152 -0
  302. package/src/lib/components/tree/tree.component.scss +3 -1
  303. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.scss +69 -17
  304. package/src/lib/qms-ckeditor-components/qms-ckeditor.component.scss +24 -0
  305. package/src/lib/qms-ckeditor-components/styles/_modules.scss +9 -1
  306. package/src/themes/_qms-icon-font.scss +894 -0
  307. package/src/themes/core/_colors.scss +1 -0
  308. package/src/themes/core/_qms-label.scss +32 -0
  309. package/src/themes/core/_range-slider.scss +60 -35
  310. package/src/themes/core/_tab.scss +42 -1
  311. package/src/themes/core/_table.scss +55 -0
  312. package/esm2015/lib/components/qms-app-bar/qms-app-bar.model.js +0 -10
  313. package/esm2015/lib/components/qms-stepper/qms-stepper.model.js +0 -9
  314. package/esm2015/lib/components/test-only/test-only.component.js +0 -17
  315. package/esm2015/lib/directives/range-slider/range-slider-lockup.directive.js +0 -20
  316. package/esm2015/lib/directives/range-slider/range-slider.directive.js +0 -36
  317. package/esm2015/lib/directives/tab/tab-group-advanced.directive.js +0 -30
  318. package/esm2015/lib/directives/tab/tab-group.directive.js +0 -20
  319. package/esm2015/lib/directives/tab/tab-label.directive.js +0 -20
  320. package/lib/components/test-only/test-only.component.d.ts +0 -3
  321. package/src/assets/jointjs/scss/dist/bpmn.css +0 -854
  322. package/src/assets/qms-ckeditor-plugin/src/dist/ckeditor.dev.js +0 -173
  323. package/src/assets/qms-ckeditor-plugin/src/plugins/fullscreen/dist/qmsCKEditorFullscreenPlugin.dev.js +0 -87
  324. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/insertimagemapcommand.js +0 -128
  325. package/src/lib/components/test-only/test-only.component.scss +0 -10
@@ -0,0 +1,92 @@
1
+
2
+ import { Command } from '@ckeditor/ckeditor5-core';
3
+ import { isImage } from '@ckeditor/ckeditor5-image/src/image/utils';
4
+ import { IMAGEMAP_ATTRIBUTES, IMAGEMAP_ELEMENTS, findMapNodes, drawMap, createInsertedEvent, createRemovedEvent } from './utils';
5
+ import { trimStart } from '../common/qmsCKEditorUtil';
6
+
7
+ export default class ImageMapCommand extends Command {
8
+ // refresh() {
9
+ // const element = this.editor.model.document.selection.getSelectedElement();
10
+ // this.isEnabled = isImage(element);
11
+ // }
12
+
13
+ execute(options) {
14
+ const editor = this.editor;
15
+ const model = editor.model;
16
+ model.change(writer => {
17
+ var newName = trimStart(options.name, '#');
18
+ const areas = options.areas;
19
+ const width = options.imageWidth;
20
+ const height = options.imageHeight;
21
+ const imageElement = model.document.selection.getSelectedElement();
22
+ if(!imageElement | !isImage(imageElement)){
23
+ return;
24
+ }
25
+ const oldName = imageElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_USE_MAP) || options.oldName;
26
+
27
+ if(!!oldName){
28
+ const range = model.createRangeIn(model.document.getRoot());
29
+ const existingMapElements = findMapNodes([trimStart(oldName, '#')], range);
30
+ if(existingMapElements && existingMapElements.length > 0){
31
+ existingMapElements.forEach(element => {
32
+ writer.remove(element);
33
+ });
34
+ }
35
+ }
36
+
37
+ if(!!areas && areas.length > 0)
38
+ {
39
+ writer.setAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_USE_MAP, '#' + newName, imageElement);
40
+ writer.setAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_WIDTH, width, imageElement);
41
+ writer.setAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_HEIGHT, height, imageElement);
42
+
43
+ let originalImageSrc = imageElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SRC);
44
+ if(!imageElement.hasAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC) || !imageElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC)){
45
+ writer.setAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC, originalImageSrc, imageElement);
46
+ }
47
+ else{
48
+ originalImageSrc = imageElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC);
49
+ }
50
+
51
+ let attrs = {};
52
+ attrs[IMAGEMAP_ATTRIBUTES.MAP_NAME] = newName;
53
+ attrs[IMAGEMAP_ATTRIBUTES.MAP_AREAS] = JSON.stringify(areas);
54
+ attrs[IMAGEMAP_ATTRIBUTES.MAP_WIDTH] = width;
55
+ attrs[IMAGEMAP_ATTRIBUTES.MAP_HEIGHT] = height;
56
+ const mapElement = writer.createElement(IMAGEMAP_ELEMENTS.MAP, attrs);
57
+
58
+ writer.insert(mapElement, writer.createPositionAt(imageElement, "after"));
59
+
60
+ drawMap(originalImageSrc, width, height, areas, (oldsrc, newsrc) =>{
61
+ model.enqueueChange(writer.batch, writer => {
62
+ writer.setAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SRC, newsrc, imageElement);
63
+ this.fire(createInsertedEvent(newName));
64
+ });
65
+ });
66
+ }
67
+ else {
68
+ if(imageElement.hasAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_USE_MAP)){
69
+ writer.removeAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_USE_MAP, imageElement);
70
+ }
71
+
72
+ if(imageElement.hasAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC)){
73
+
74
+ let src = imageElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC);
75
+ if(!!src){
76
+ writer.setAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SRC, src, imageElement);
77
+ }
78
+ writer.removeAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC, imageElement);
79
+ }
80
+
81
+ if(imageElement.hasAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_HEIGHT)){
82
+ writer.removeAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_HEIGHT, imageElement);
83
+ }
84
+
85
+ if(imageElement.hasAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_WIDTH)){
86
+ writer.removeAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_WIDTH, imageElement);
87
+ }
88
+ this.fire(createRemovedEvent(newName));
89
+ }
90
+ },{ once: true });
91
+ }
92
+ }
@@ -0,0 +1,59 @@
1
+
2
+ import { Command } from '@ckeditor/ckeditor5-core';
3
+ import { isImage } from '@ckeditor/ckeditor5-image/src/image/utils';
4
+ import * as QMSCKEditorConstant from '../common/qmsCKEditorConstant';
5
+ import * as QMSCKEditorService from '../common/qmsCKEditorService';
6
+ import { IMAGEMAP_ATTRIBUTES, IMAGEMAP_COMMANDS, parsePixelToFloat, findFirstMapNode } from './utils';
7
+ import { getSelectedImageWidget } from '@ckeditor/ckeditor5-image/src/image/utils';
8
+ import { trimStart } from '../common/qmsCKEditorUtil';
9
+
10
+ export default class ImageMapDialogCommand extends Command {
11
+
12
+ refresh() {
13
+ const element = this.editor.model.document.selection.getSelectedElement();
14
+ this.isEnabled = isImage(element);
15
+ }
16
+
17
+ execute() {
18
+ const editor = this.editor;
19
+ const model = editor.model;
20
+ const view = editor.editing.view;
21
+ const selectedElement = model.document.selection.getSelectedElement();
22
+
23
+ const mapName = selectedElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_USE_MAP);
24
+ let originalImageSrc = selectedElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SRC);
25
+ if(selectedElement.hasAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC) && selectedElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC)){
26
+ originalImageSrc = selectedElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC);
27
+ }
28
+
29
+ const data = {'imageUrl': originalImageSrc, 'areas': [], imageWidth: null, imageHeight: null};
30
+ const imageWidget = getSelectedImageWidget( view.document.selection);
31
+ const widgetResizePlugin = editor.plugins.get('WidgetResize');
32
+ const resizer = widgetResizePlugin.getResizerByViewElement( imageWidget );
33
+
34
+ if(resizer){
35
+ const resizerWrapper = resizer._viewResizerWrapper;
36
+ data.imageWidth = parsePixelToFloat(resizerWrapper.getStyle('width', 0));
37
+ data.imageHeight = parsePixelToFloat(resizerWrapper.getStyle('height', 0));
38
+ }
39
+
40
+ if(!!mapName){
41
+ const range = model.createRangeIn(model.document.getRoot());
42
+ const existingMapElement = findFirstMapNode(trimStart(mapName, '#'), range);
43
+ if(existingMapElement){
44
+ data.areas = JSON.parse(existingMapElement.getAttribute(IMAGEMAP_ATTRIBUTES.MAP_AREAS) || []);
45
+ }
46
+ }
47
+
48
+ QMSCKEditorService.imageMapNotify(data);
49
+ window[QMSCKEditorConstant.QMSCK_IMAGEMAP_IS_PROCESSING] = false;
50
+ window.addEventListener(QMSCKEditorConstant.QMSCK_IMAGEMAP_PLUGIN_RESP, (evt) => {
51
+ if (window[QMSCKEditorConstant.QMSCK_IMAGEMAP_IS_PROCESSING]) {
52
+ return;
53
+ }
54
+ window[QMSCKEditorConstant.QMSCK_IMAGEMAP_IS_PROCESSING] = true;
55
+ const options = evt.detail;
56
+ editor.commands.get(IMAGEMAP_COMMANDS.IMAGEMAP).execute(options);
57
+ }, { once: true});
58
+ }
59
+ }
@@ -1,13 +1,15 @@
1
1
  import { Plugin } from '@ckeditor/ckeditor5-core';
2
- import InsertImageMapCommand from './insertimagemapcommand';
3
- import ResizeImageMapCommand from './resizeimagemapcommand';
4
- import { ImageMapAttributes, ImageMapElements, debounced, trimStart, drawMap, ImageMapCommands, HtmlAttributes, HtmlElements, findMapNodes } from './utils';
2
+ import ImageMapCommand from './imagemapcommand';
3
+ import ResizeImageMapCommand from './resizeimagemapcommand';
4
+ import ImageMapDialogCommand from './imagemapdialogcommand';
5
+ import { IMAGEMAP_ATTRIBUTES, IMAGEMAP_ELEMENTS, drawMap, IMAGEMAP_COMMANDS, HTML_ATTRIBUTES, HTML_ELEMENTS, findMapNodes } from './utils';
5
6
  import ImageLoadObserver from '@ckeditor/ckeditor5-image/src/image/imageloadobserver';
6
- import { downcastImageWidthAttribute, downcastImageHeightAttribute, downcastImageSavedSrcAttribute, downcastImageMapAttribute,
7
- upcastImageSavedSrcAttribute, upcastMapElement, dowcastMapNameAttribute, dowcastMapWidthAttribute, dowcastMapHeightAttribute,
7
+ import { downcastImageWidthAttribute, downcastImageHeightAttribute, downcastImageSavedSrcAttribute, downcastImageMapAttribute,
8
+ upcastImageSavedSrcAttribute, upcastMapElement, dowcastMapNameAttribute, dowcastMapWidthAttribute, dowcastMapHeightAttribute,
8
9
  dowcastMapAreaAttribute, upcastImageMapAttribute, upcastImageHeightAttribute, upcastImageWidthAttribute, downcastMapElement
9
10
  } from './converters';
10
11
  import { isWidget } from '@ckeditor/ckeditor5-widget/src/utils';
12
+ import { trimStart, debounced } from '../common/qmsCKEditorUtil';
11
13
 
12
14
  export default class ImageMapEditing extends Plugin {
13
15
  static get requires() {
@@ -17,33 +19,33 @@ import { isWidget } from '@ckeditor/ckeditor5-widget/src/utils';
17
19
  static get pluginName() {
18
20
  return 'ImageMapEditing';
19
21
  }
20
-
22
+
21
23
  init() {
22
24
  const editor = this.editor;
23
25
  const model = editor.model;
24
26
  const schema = model.schema;
25
27
  const conversion = editor.conversion;
26
28
  const editingView = editor.editing.view;
27
-
29
+
28
30
  editingView.addObserver(ImageLoadObserver);
29
31
 
30
- schema.extend(ImageMapElements.IMAGE, {
31
- allowAttributes: [
32
- ImageMapAttributes.IMAGE_USE_MAP,
33
- ImageMapAttributes.IMAGE_WIDTH,
34
- ImageMapAttributes.IMAGE_HEIGHT,
35
- ImageMapAttributes.IMAGE_SAVED_SRC
36
- ]
32
+ schema.extend(IMAGEMAP_ELEMENTS.IMAGE, {
33
+ allowAttributes: [
34
+ IMAGEMAP_ATTRIBUTES.IMAGE_USE_MAP,
35
+ IMAGEMAP_ATTRIBUTES.IMAGE_WIDTH,
36
+ IMAGEMAP_ATTRIBUTES.IMAGE_HEIGHT,
37
+ IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC
38
+ ]
37
39
  });
38
40
 
39
- schema.register(ImageMapElements.MAP, {
41
+ schema.register(IMAGEMAP_ELEMENTS.MAP, {
40
42
  isObject: true,
41
43
  allowWhere: '$block',
42
- allowAttributes: [
43
- ImageMapAttributes.MAP_NAME,
44
- ImageMapAttributes.MAP_AREAS,
45
- ImageMapAttributes.MAP_WIDTH,
46
- ImageMapAttributes.MAP_HEIGHT
44
+ allowAttributes: [
45
+ IMAGEMAP_ATTRIBUTES.MAP_NAME,
46
+ IMAGEMAP_ATTRIBUTES.MAP_AREAS,
47
+ IMAGEMAP_ATTRIBUTES.MAP_WIDTH,
48
+ IMAGEMAP_ATTRIBUTES.MAP_HEIGHT
47
49
  ]
48
50
  });
49
51
 
@@ -51,48 +53,52 @@ import { isWidget } from '@ckeditor/ckeditor5-widget/src/utils';
51
53
  conversion.for('dataDowncast').add(downcastImageHeightAttribute());
52
54
  conversion.for('dataDowncast').add(downcastImageSavedSrcAttribute(true));
53
55
  conversion.for('editingDowncast').add(downcastImageSavedSrcAttribute(false));
54
-
56
+
55
57
  conversion.for('downcast').add(downcastImageMapAttribute());
56
58
  conversion.for('downcast').add(downcastMapElement());
57
-
59
+
58
60
  conversion.for('downcast')
59
61
  .add(dowcastMapNameAttribute())
60
62
  .add(dowcastMapWidthAttribute())
61
63
  .add(dowcastMapHeightAttribute())
62
64
  .add(dowcastMapAreaAttribute());
63
-
65
+
64
66
  conversion.for('upcast').add(upcastImageMapAttribute());
65
67
  conversion.for('upcast').add(upcastImageHeightAttribute());
66
68
  conversion.for('upcast').add(upcastImageWidthAttribute());
67
69
  conversion.for('upcast').add(upcastImageSavedSrcAttribute());
68
70
  conversion.for('upcast').add(upcastMapElement());
69
-
71
+
70
72
  editor.commands.get('resizeImage').on('execute', debounced(() => {
71
- editor.execute(ImageMapCommands.RESIZE);
73
+ editor.execute(IMAGEMAP_COMMANDS.RESIZE_IMAGEMAP);
72
74
  }, 100));
73
75
 
74
- // this.listenTo(editingView.document, 'delete', ( evt, data ) => {
75
- // this.allowDeleteMap = true;
76
- // }, { context: [isWidget] });
77
-
78
- // this.listenTo(model.document, 'change:data', (event) => {
79
- // if(this.allowDeleteMap == true){
80
- // this.allowDeleteMap == false;
81
- // OnImageDeleted(model, event);
82
- // }
83
- // });
84
-
76
+ this.listenTo(editingView.document, 'delete', ( evt, data ) => {
77
+ this.allowDeleteMap = true;
78
+ }, { context: [isWidget] });
79
+
85
80
  this.listenTo(editingView.document, 'imageLoaded', (evt, domEvent) => {
86
81
  onImageLoaded(domEvent);
87
82
  });
88
-
89
- editor.commands.add(ImageMapCommands.INSERT, new InsertImageMapCommand(editor));
90
- editor.commands.add(ImageMapCommands.RESIZE, new ResizeImageMapCommand(editor));
91
- }
92
- }
93
-
94
- function OnImageDeleted(model, event){
95
- const differ = event.source.differ;
83
+
84
+ model.document.on('change:data', (evt, batch) => {
85
+ if(this.allowDeleteMap == true){
86
+ this.allowDeleteMap = false;
87
+ OnImageDeleted(model, batch);
88
+ }
89
+ } );
90
+
91
+ editor.commands.add(IMAGEMAP_COMMANDS.IMAGEMAP_DIALOG, new ImageMapDialogCommand(editor));
92
+ editor.commands.add(IMAGEMAP_COMMANDS.IMAGEMAP, new ImageMapCommand(editor));
93
+ editor.commands.add(IMAGEMAP_COMMANDS.RESIZE_IMAGEMAP, new ResizeImageMapCommand(editor));
94
+ }
95
+ }
96
+
97
+ function OnImageDeleted(model, batch){
98
+ if( batch.type == 'transparent'){
99
+ return;
100
+ }
101
+ const differ = model.document.differ;
96
102
  // if no difference
97
103
  if (differ.isEmpty) { return; }
98
104
  const changes = differ.getChanges({ includeChangesInGraveyard: true });
@@ -103,24 +109,24 @@ function OnImageDeleted(model, event){
103
109
  for (let i = 0; i < changes.length; i++){
104
110
  const change = changes[i]
105
111
  // if image remove exists
106
- if (change && change.type === 'remove' && change.name === 'image') {
112
+ if (change && change.type === 'remove' && change.name === IMAGEMAP_ELEMENTS.IMAGE) {
107
113
  hasNoImageRemoved = false
108
114
  break
109
115
  }
110
116
  }
111
-
117
+
112
118
  // if not image remove stop execution
113
119
  if (hasNoImageRemoved) { return; }
114
120
  // get removed nodes
115
- const removedNodes = changes.filter(change => (change.type === 'insert' && change.name === 'image'))
116
-
121
+ const removedNodes = changes.filter(change => (change.type === 'insert' && change.name === IMAGEMAP_ELEMENTS.IMAGE))
122
+
117
123
  // removed image nodes
118
124
  const removedMapNames = []
119
125
  removedNodes.forEach(node => {
120
126
  let nodeAfter = node.position.nodeAfter;
121
- if(nodeAfter && nodeAfter.hasAttribute(ImageMapAttributes.IMAGE_USE_MAP)){
122
- let mapname = nodeAfter.getAttribute(ImageMapAttributes.IMAGE_USE_MAP) || '';
123
- removedMapNames.push(trimStart(mapname, '#'));
127
+ if(nodeAfter && nodeAfter.hasAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_USE_MAP)){
128
+ let mapname = nodeAfter.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_USE_MAP) || '';
129
+ removedMapNames.push(trimStart(mapname, '#'));
124
130
  }
125
131
  });
126
132
 
@@ -129,8 +135,7 @@ function OnImageDeleted(model, event){
129
135
  const existingMapElements = findMapNodes(removedMapNames, range);
130
136
 
131
137
  if(existingMapElements && existingMapElements.length > 0){
132
- const redoingBatch = model.createBatch( 'transparent' );
133
- model.enqueueChange(redoingBatch, writer => {
138
+ model.enqueueChange(batch, writer => {
134
139
  existingMapElements.forEach(element => {
135
140
  writer.remove(element);
136
141
  });
@@ -144,40 +149,40 @@ function onImageLoaded(domEvent){
144
149
  if (!domEvent.target.matches('figure.image.ck-widget > img, figure.image.ck-widget > a > img')) {
145
150
  return;
146
151
  }
147
- if(domEvent.target.hasAttribute(HtmlAttributes.USE_MAP)
148
- && domEvent.target.getAttribute(HtmlAttributes.USE_MAP)
149
- && !domEvent.target.hasAttribute(HtmlAttributes.SAVED_SRC)){
150
-
151
- const originalSrc = domEvent.target.getAttribute(HtmlAttributes.SRC);
152
- const mapName = trimStart(domEvent.target.getAttribute(HtmlAttributes.USE_MAP), '#');
153
- const selector = `${HtmlElements.MAP}[${HtmlAttributes.NAME}='${mapName}']`;
154
- const map = document.querySelector(selector);
155
- if(map && map.childNodes){
156
- const areas = [];
157
- map.childNodes.forEach((child) =>{
158
- if(child.nodeName && child.nodeName.toLowerCase() === HtmlElements.AREA){
159
- let area = {};
160
- area[HtmlAttributes.COORDS] = child.getAttribute(HtmlAttributes.COORDS);
161
- area[HtmlAttributes.SHAPE] = child.getAttribute(HtmlAttributes.SHAPE) || '';
162
- areas.push(area);
163
- }
164
- });
165
- if(areas.length > 0){
166
- const width = map.getAttribute(HtmlAttributes.WIDTH) || domEvent.target.width;
167
- const height = map.getAttribute(HtmlAttributes.HEIGHT) || domEvent.target.height;
168
- const target = domEvent.target;
169
- drawMap(originalSrc, width, height, areas, (oldsrc, newsrc) => {
170
- if(target){
171
- target.setAttribute(HtmlAttributes.SRC, newsrc);
172
- target.setAttribute(HtmlAttributes.SAVED_SRC, oldsrc);
173
- }
174
-
175
- if(map){
176
- map.setAttribute(HtmlAttributes.WIDTH, width);
177
- map.setAttribute(HtmlAttributes.HEIGHT, height);
178
- }
179
- })
152
+ if(domEvent.target.hasAttribute(HTML_ATTRIBUTES.USE_MAP)
153
+ && domEvent.target.getAttribute(HTML_ATTRIBUTES.USE_MAP)
154
+ && !domEvent.target.hasAttribute(HTML_ATTRIBUTES.SAVED_SRC)){
155
+
156
+ const originalSrc = domEvent.target.getAttribute(HTML_ATTRIBUTES.SRC);
157
+ const mapName = trimStart(domEvent.target.getAttribute(HTML_ATTRIBUTES.USE_MAP), '#');
158
+ const selector = `${HTML_ELEMENTS.MAP}[${HTML_ATTRIBUTES.NAME}='${mapName}']`;
159
+ const map = document.querySelector(selector);
160
+ if(map && map.childNodes){
161
+ const areas = [];
162
+ map.childNodes.forEach((child) =>{
163
+ if(child.nodeName && child.nodeName.toLowerCase() === HTML_ELEMENTS.AREA){
164
+ let area = {};
165
+ area[HTML_ATTRIBUTES.COORDS] = child.getAttribute(HTML_ATTRIBUTES.COORDS);
166
+ area[HTML_ATTRIBUTES.SHAPE] = child.getAttribute(HTML_ATTRIBUTES.SHAPE) || '';
167
+ areas.push(area);
180
168
  }
169
+ });
170
+ if(areas.length > 0){
171
+ const width = map.getAttribute(HTML_ATTRIBUTES.WIDTH) || domEvent.target.width;
172
+ const height = map.getAttribute(HTML_ATTRIBUTES.HEIGHT) || domEvent.target.height;
173
+ const target = domEvent.target;
174
+ drawMap(originalSrc, width, height, areas, (oldsrc, newsrc) => {
175
+ if(target){
176
+ target.setAttribute(HTML_ATTRIBUTES.SRC, newsrc);
177
+ target.setAttribute(HTML_ATTRIBUTES.SAVED_SRC, oldsrc);
178
+ }
179
+
180
+ if(map){
181
+ map.setAttribute(HTML_ATTRIBUTES.WIDTH, width);
182
+ map.setAttribute(HTML_ATTRIBUTES.HEIGHT, height);
183
+ }
184
+ })
181
185
  }
186
+ }
182
187
  }
183
- }
188
+ }
@@ -1,49 +1,48 @@
1
1
  import { Plugin } from '@ckeditor/ckeditor5-core';
2
2
  import { ButtonView, ContextualBalloon } from '@ckeditor/ckeditor5-ui';
3
3
  import imageMapIcon from '../../themes/icons/imagemap.svg';
4
- import { ImageMapCommands } from './utils';
4
+ import { IMAGEMAP_COMMANDS } from './utils';
5
5
 
6
6
  export default class ImageMapUI extends Plugin {
7
-
7
+
8
8
  static get requires() {
9
9
  return [ ContextualBalloon];
10
10
  }
11
-
11
+
12
12
  static get pluginName() {
13
13
  return 'ImageMapUI';
14
14
  }
15
-
15
+
16
16
  init() {
17
17
  this._createButton();
18
18
 
19
19
  }
20
-
20
+
21
21
  destroy() {
22
22
  super.destroy();
23
23
  }
24
-
24
+
25
25
  _createButton() {
26
26
  const editor = this.editor;
27
27
  const t = editor.t;
28
-
28
+
29
29
  editor.ui.componentFactory.add('imageMap', locale => {
30
- const command = editor.commands.get(ImageMapCommands.INSERT);
30
+ const command = editor.commands.get(IMAGEMAP_COMMANDS.IMAGEMAP_DIALOG);
31
31
  const view = new ButtonView(locale);
32
-
32
+
33
33
  view.set({
34
34
  label: t('Image Map'),
35
35
  icon: imageMapIcon,
36
36
  tooltip: true
37
37
  });
38
-
38
+
39
39
  view.bind('isEnabled').to(command, 'isEnabled');
40
-
40
+
41
41
  this.listenTo(view, 'execute', () => {
42
- editor.execute(ImageMapCommands.INSERT, {});
42
+ editor.execute(IMAGEMAP_COMMANDS.IMAGEMAP_DIALOG);
43
43
  });
44
-
44
+
45
45
  return view;
46
46
  });
47
47
  }
48
48
  }
49
-
@@ -1,22 +1,23 @@
1
1
 
2
2
  import { Command } from '@ckeditor/ckeditor5-core';
3
3
  import { isImage } from '@ckeditor/ckeditor5-image/src/image/utils';
4
- import { ImageMapAttributes, trimStart, parsePixelToFloat, findFirstMapNode, drawMap, resizeAreaWidth, resizeAreaHeight } from './utils';
4
+ import { IMAGEMAP_ATTRIBUTES, parsePixelToFloat, findFirstMapNode, drawMap, resizeAreaWidth, resizeAreaHeight, createResizedEvent } from './utils';
5
5
  import { getSelectedImageWidget} from '@ckeditor/ckeditor5-image/src/image/utils';
6
+ import { trimStart } from '../common/qmsCKEditorUtil';
6
7
 
7
8
  export default class ResizeImageMapCommand extends Command {
8
-
9
+
9
10
  refresh() {
10
11
  const element = this.editor.model.document.selection.getSelectedElement();
11
- this.isEnabled = isImage(element) && element.hasAttribute(ImageMapAttributes.IMAGE_USE_MAP);
12
+ this.isEnabled = isImage(element) && element.hasAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_USE_MAP);
12
13
  }
13
-
14
- execute() {
14
+
15
+ execute( options = {}) {
15
16
  const editor = this.editor;
16
17
  const model = editor.model;
17
18
  const view = this.editor.editing.view;
18
19
  const imageElement = model.document.selection.getSelectedElement();
19
- const mapName = imageElement.getAttribute(ImageMapAttributes.IMAGE_USE_MAP);
20
+ const mapName = imageElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_USE_MAP);
20
21
  if(mapName){
21
22
  const imageWidget = getSelectedImageWidget( view.document.selection);
22
23
  const widgetResizePlugin = editor.plugins.get('WidgetResize');
@@ -25,14 +26,14 @@ export default class ResizeImageMapCommand extends Command {
25
26
  const resizerWrapper = resizer._viewResizerWrapper;
26
27
  const newWidth = parsePixelToFloat(resizerWrapper.getStyle('width', 0));
27
28
  const newHeight = parsePixelToFloat(resizerWrapper.getStyle('height', 0));
28
-
29
+
29
30
  const range = model.createRangeIn(model.document.getRoot());
30
31
  const existingMapElement = findFirstMapNode(trimStart(mapName, '#'), range);
31
32
  if(existingMapElement){
32
- const areas = JSON.parse(existingMapElement.getAttribute(ImageMapAttributes.MAP_AREAS) || []);
33
- const width = parsePixelToFloat(existingMapElement.getAttribute(ImageMapAttributes.MAP_WIDTH, 0));
34
- const height = parsePixelToFloat(existingMapElement.getAttribute(ImageMapAttributes.MAP_HEIGHT, 0));
35
-
33
+ const areas = JSON.parse(existingMapElement.getAttribute(IMAGEMAP_ATTRIBUTES.MAP_AREAS) || []);
34
+ const width = parsePixelToFloat(existingMapElement.getAttribute(IMAGEMAP_ATTRIBUTES.MAP_WIDTH, 0));
35
+ const height = parsePixelToFloat(existingMapElement.getAttribute(IMAGEMAP_ATTRIBUTES.MAP_HEIGHT, 0));
36
+
36
37
  const widthChanged = newWidth != width && width != 0 ;
37
38
  const heightChanged = newHeight != height && height != 0 ;
38
39
 
@@ -53,23 +54,24 @@ export default class ResizeImageMapCommand extends Command {
53
54
 
54
55
  const areasAsString = JSON.stringify(areas);
55
56
  model.change(writer => {
56
- let originalImageSrc = imageElement.getAttribute(ImageMapAttributes.IMAGE_SRC);
57
- if(!imageElement.hasAttribute(ImageMapAttributes.IMAGE_SAVED_SRC) || !imageElement.getAttribute(ImageMapAttributes.IMAGE_SAVED_SRC)){
58
- writer.setAttribute(ImageMapAttributes.IMAGE_SAVED_SRC, originalImageSrc, imageElement);
57
+ let originalImageSrc = imageElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SRC);
58
+ if(!imageElement.hasAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC) || !imageElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC)){
59
+ writer.setAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC, originalImageSrc, imageElement);
59
60
  }
60
61
  else{
61
- originalImageSrc = imageElement.getAttribute(ImageMapAttributes.IMAGE_SAVED_SRC);
62
+ originalImageSrc = imageElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC);
62
63
  }
63
64
 
64
- writer.setAttribute(ImageMapAttributes.MAP_AREAS, areasAsString, existingMapElement);
65
- writer.setAttribute(ImageMapAttributes.MAP_WIDTH, newWidth, existingMapElement);
66
- writer.setAttribute(ImageMapAttributes.MAP_HEIGHT, newHeight, existingMapElement);
67
- writer.setAttribute(ImageMapAttributes.IMAGE_WIDTH, newWidth, imageElement);
68
- writer.setAttribute(ImageMapAttributes.IMAGE_HEIGHT, newHeight, imageElement);
65
+ writer.setAttribute(IMAGEMAP_ATTRIBUTES.MAP_AREAS, areasAsString, existingMapElement);
66
+ writer.setAttribute(IMAGEMAP_ATTRIBUTES.MAP_WIDTH, newWidth, existingMapElement);
67
+ writer.setAttribute(IMAGEMAP_ATTRIBUTES.MAP_HEIGHT, newHeight, existingMapElement);
68
+ writer.setAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_WIDTH, newWidth, imageElement);
69
+ writer.setAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_HEIGHT, newHeight, imageElement);
69
70
 
70
71
  drawMap(originalImageSrc, newWidth, newHeight, areas, (oldsrc, newsrc) =>{
71
- model.enqueueChange(writer => {
72
- writer.setAttribute(ImageMapAttributes.IMAGE_SRC, newsrc, imageElement);
72
+ model.enqueueChange(writer.batch, writer => {
73
+ writer.setAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SRC, newsrc, imageElement);
74
+ this.fire(createResizedEvent(mapName));
73
75
  });
74
76
  });
75
77
  });
@@ -77,6 +79,5 @@ export default class ResizeImageMapCommand extends Command {
77
79
  }
78
80
  }
79
81
  }
80
- }
82
+ }
81
83
  }
82
-