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.
- package/README.md +21 -2
- package/bundles/qms-angular.umd.js +2269 -551
- package/bundles/qms-angular.umd.js.map +1 -1
- package/esm2015/lib/components/badges/qms-badges.component.js +5 -4
- package/esm2015/lib/components/banner/index.js +2 -0
- package/esm2015/lib/components/banner/public_api.js +8 -0
- package/esm2015/lib/components/banner/qms-banner/qms-banner.component.js +2 -2
- package/esm2015/lib/components/button/button.js +6 -6
- package/esm2015/lib/components/comment/comment-log.model.js +2 -0
- package/esm2015/lib/components/comment/comment.js +6 -2
- package/esm2015/lib/components/qms-app-bar/index.js +2 -0
- package/esm2015/lib/components/qms-app-bar/models/qms-app-bar.model.js +10 -0
- package/esm2015/lib/components/qms-app-bar/public_api.js +3 -0
- package/esm2015/lib/components/qms-app-bar/qms-app-bar.component.js +2 -2
- package/esm2015/lib/components/qms-navigation-drawer/index.js +2 -0
- package/esm2015/lib/components/qms-navigation-drawer/models/qms-navigation-drawer.model.js +3 -0
- package/esm2015/lib/components/qms-navigation-drawer/public_api.js +3 -0
- package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.js +350 -0
- package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.module.js +33 -0
- package/esm2015/lib/components/qms-paginator/index.js +2 -0
- package/esm2015/lib/components/qms-paginator/public_api.js +3 -0
- package/esm2015/lib/components/qms-paginator/qms-paginator.component.js +173 -0
- package/esm2015/lib/components/qms-paginator/qms-paginator.module.js +34 -0
- package/esm2015/lib/components/qms-status-dropdown/index.js +4 -0
- package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.component.js +33 -0
- package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.model.js +10 -0
- package/esm2015/lib/components/qms-status-dropdown/qms-status-dropdown.module.js +28 -0
- package/esm2015/lib/components/qms-stepper/index.js +2 -0
- package/esm2015/lib/components/qms-stepper/models/qms-stepper.model.js +9 -0
- package/esm2015/lib/components/qms-stepper/public_api.js +3 -0
- package/esm2015/lib/components/qms-stepper/qms-stepper.component.js +3 -3
- package/esm2015/lib/components/range-slider/directives/range-slider-lockup.directive.js +20 -0
- package/esm2015/lib/components/range-slider/directives/range-slider.directive.js +34 -0
- package/esm2015/lib/components/range-slider/index.js +2 -0
- package/esm2015/lib/components/range-slider/public-api.js +4 -0
- package/esm2015/lib/components/range-slider/range-slider.module.js +22 -0
- package/esm2015/lib/components/related/popup/related-popup.component.js +2 -2
- package/esm2015/lib/components/select-include-children/model/select-popup-data.model.js +2 -1
- package/esm2015/lib/components/select-include-children/select-include-children.component.js +45 -45
- package/esm2015/lib/components/select-one/select-one.component.js +50 -3
- package/esm2015/lib/components/tab/directive/tab-group-advanced.directive.js +30 -0
- package/esm2015/lib/components/tab/directive/tab-group.directive.js +20 -0
- package/esm2015/lib/components/tab/directive/tab-label.directive.js +20 -0
- package/esm2015/lib/components/tab/index.js +2 -0
- package/esm2015/lib/components/tab/public-api.js +5 -0
- package/esm2015/lib/components/tab/tab.module.js +25 -0
- package/esm2015/lib/components/tree/tree.component.js +13 -10
- package/esm2015/lib/components/treeNew/tree.component.js +6 -3
- package/esm2015/lib/directives/table/table.directive.js +201 -0
- package/esm2015/lib/model/en.js +21 -3
- package/esm2015/lib/model/no.js +20 -2
- package/esm2015/lib/qms-angular.module.js +17 -20
- package/esm2015/lib/qms-ckeditor-components/common/bpmn/inspector.function.js +68 -16
- package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.js +5 -1
- package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.js +10 -1
- package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorLink.constant.js +7 -0
- package/esm2015/lib/qms-ckeditor-components/common/enums/document-type.enum.js +2 -1
- package/esm2015/lib/qms-ckeditor-components/common/enums/shape-flow-chart-connection-type.js +8 -0
- package/esm2015/lib/qms-ckeditor-components/common/functions/common.function.js +2 -2
- package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart-template.model.js +9 -0
- package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart.model.js +9 -0
- package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-save-as-template.model.js +3 -0
- package/esm2015/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.js +545 -34
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.js +46 -18
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component.js +1 -46
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-bpmn-data.model.js +8 -0
- package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +26 -20
- package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +4 -2
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.js +58 -20
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-flowchart.service.js +26 -0
- package/esm2015/public-api.js +17 -20
- package/esm2015/qms-angular.js +2 -1
- package/fesm2015/qms-angular.js +1987 -415
- package/fesm2015/qms-angular.js.map +1 -1
- package/lib/components/badges/qms-badges.component.d.ts +1 -1
- package/lib/components/banner/index.d.ts +1 -0
- package/lib/components/banner/public_api.d.ts +7 -0
- package/lib/components/banner/qms-banner/qms-banner.component.d.ts +2 -2
- package/lib/components/button/button.d.ts +1 -1
- package/lib/components/comment/comment-log.model.d.ts +10 -0
- package/lib/components/comment/comment.d.ts +5 -11
- package/lib/components/qms-app-bar/index.d.ts +1 -0
- package/lib/components/qms-app-bar/{qms-app-bar.model.d.ts → models/qms-app-bar.model.d.ts} +0 -0
- package/lib/components/qms-app-bar/public_api.d.ts +2 -0
- package/lib/components/qms-app-bar/qms-app-bar.component.d.ts +1 -1
- package/lib/components/qms-navigation-drawer/index.d.ts +1 -0
- package/lib/components/qms-navigation-drawer/models/qms-navigation-drawer.model.d.ts +19 -0
- package/lib/components/qms-navigation-drawer/public_api.d.ts +2 -0
- package/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.d.ts +106 -0
- package/lib/components/qms-navigation-drawer/qms-navigation-drawer.module.d.ts +2 -0
- package/lib/components/qms-paginator/index.d.ts +1 -0
- package/lib/components/qms-paginator/public_api.d.ts +2 -0
- package/lib/components/qms-paginator/qms-paginator.component.d.ts +51 -0
- package/lib/components/qms-paginator/qms-paginator.module.d.ts +2 -0
- package/lib/components/qms-status-dropdown/index.d.ts +3 -0
- package/lib/components/qms-status-dropdown/qms-status-dropdown.component.d.ts +10 -0
- package/lib/components/qms-status-dropdown/qms-status-dropdown.model.d.ts +10 -0
- package/lib/components/qms-status-dropdown/qms-status-dropdown.module.d.ts +2 -0
- package/lib/components/qms-stepper/index.d.ts +1 -0
- package/lib/components/qms-stepper/{qms-stepper.model.d.ts → models/qms-stepper.model.d.ts} +0 -0
- package/lib/components/qms-stepper/public_api.d.ts +2 -0
- package/lib/components/qms-stepper/qms-stepper.component.d.ts +1 -1
- package/lib/{directives/range-slider → components/range-slider/directives}/range-slider-lockup.directive.d.ts +0 -0
- package/lib/{directives/range-slider → components/range-slider/directives}/range-slider.directive.d.ts +0 -0
- package/lib/components/range-slider/index.d.ts +1 -0
- package/lib/components/range-slider/public-api.d.ts +3 -0
- package/lib/components/range-slider/range-slider.module.d.ts +2 -0
- package/lib/components/select-include-children/model/select-popup-data.model.d.ts +1 -0
- package/lib/components/select-include-children/select-include-children.component.d.ts +3 -2
- package/lib/components/select-one/select-one.component.d.ts +4 -0
- package/lib/{directives/tab → components/tab/directive}/tab-group-advanced.directive.d.ts +0 -0
- package/lib/{directives/tab → components/tab/directive}/tab-group.directive.d.ts +0 -0
- package/lib/{directives/tab → components/tab/directive}/tab-label.directive.d.ts +0 -0
- package/lib/components/tab/index.d.ts +1 -0
- package/lib/components/tab/public-api.d.ts +4 -0
- package/lib/components/tab/tab.module.d.ts +2 -0
- package/lib/directives/table/table.directive.d.ts +50 -0
- package/lib/model/en.d.ts +18 -0
- package/lib/model/no.d.ts +18 -0
- package/lib/qms-ckeditor-components/common/bpmn/inspector.function.d.ts +28 -0
- package/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.d.ts +4 -0
- package/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.d.ts +9 -0
- package/lib/qms-ckeditor-components/common/constants/ckeditorLink.constant.d.ts +6 -0
- package/lib/qms-ckeditor-components/common/enums/document-type.enum.d.ts +1 -0
- package/lib/qms-ckeditor-components/common/enums/shape-flow-chart-connection-type.d.ts +6 -0
- package/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.d.ts +1 -0
- package/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart-template.model.d.ts +7 -0
- package/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart.model.d.ts +7 -0
- package/lib/qms-ckeditor-components/common/models/qms-ckeditor-save-as-template.model.d.ts +5 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.d.ts +85 -4
- package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.d.ts +8 -2
- package/lib/qms-ckeditor-components/models/qms-ckeditor-bpmn-data.model.d.ts +7 -0
- package/lib/qms-ckeditor-components/qms-ckeditor.component.d.ts +2 -4
- package/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.d.ts +1 -0
- package/lib/qms-ckeditor-components/services/qms-ckeditor-flowchart.service.d.ts +10 -0
- package/lib.theme.scss +2 -0
- package/package.json +4 -2
- package/public-api.d.ts +13 -19
- package/qms-angular.d.ts +1 -0
- package/qms-angular.metadata.json +1 -1
- package/src/assets/fonts/icomoon.eot +0 -0
- package/src/assets/fonts/icomoon.svg +203 -0
- package/src/assets/fonts/icomoon.ttf +0 -0
- package/src/assets/fonts/icomoon.woff +0 -0
- package/src/assets/jointjs/js/rappid.js +55919 -55836
- package/src/assets/jointjs/scss/bpmn.scss +2 -1
- package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +2 -2
- package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ar.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/az.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/bg.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/cs.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/da.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/de-ch.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/de.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/en-au.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/en-gb.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/es.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/et.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/fa.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/fi.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/fr.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/gl.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/hi.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/hr.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/hu.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/id.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/it.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ja.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ko.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ku.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/lt.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/lv.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/nb.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ne.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/nl.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/no.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/pl.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/pt-br.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ro.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ru.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/sk.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/sq.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/sr-latn.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/sr.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/sv.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/th.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/tk.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/tr.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ug.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/uk.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/vi.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/zh-cn.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/zh.js +1 -1
- package/src/assets/qms-ckeditor-plugin/package-lock.json +38 -12178
- package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +6 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/bpmn/qmsCKEditorBpmnPlugin.js +31 -6
- package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorConstant.js +7 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorUtil.js +29 -7
- package/src/assets/qms-ckeditor-plugin/src/plugins/fullscreen/qmsCKEditorFullscreenPlugin.js +23 -12
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/converters.js +93 -92
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemap.js +4 -4
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapcommand.js +92 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapdialogcommand.js +59 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapediting.js +92 -87
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapui.js +13 -14
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/resizeimagemapcommand.js +25 -24
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/utils.js +40 -49
- package/src/assets/qms-ckeditor-plugin/src/themes/icons/fullscreen_exit.svg +1 -0
- package/src/assets/svg-icons/acutely-toxic.svg +19 -0
- package/src/assets/svg-icons/add-column.svg +4 -0
- package/src/assets/svg-icons/add-tooltip.svg +6 -0
- package/src/assets/svg-icons/admin.svg +3 -0
- package/src/assets/svg-icons/annual-cycle.svg +10 -0
- package/src/assets/svg-icons/assignment-repete.svg +4 -0
- package/src/assets/svg-icons/barrier-add.svg +7 -0
- package/src/assets/svg-icons/barrier-edit.svg +7 -0
- package/src/assets/svg-icons/barrier-view.svg +3 -0
- package/src/assets/svg-icons/button-group.svg +5 -0
- package/src/assets/svg-icons/checklist.svg +8 -0
- package/src/assets/svg-icons/chemical-manager.svg +5 -0
- package/src/assets/svg-icons/chronic-health-hazard.svg +17 -0
- package/src/assets/svg-icons/contingency.svg +3 -0
- package/src/assets/svg-icons/corrosive.svg +23 -0
- package/src/assets/svg-icons/dashboard.svg +3 -0
- package/src/assets/svg-icons/database-sds.svg +4 -0
- package/src/assets/svg-icons/department-document.svg +4 -0
- package/src/assets/svg-icons/department-folder-closed.svg +4 -0
- package/src/assets/svg-icons/department-folder-open.svg +4 -0
- package/src/assets/svg-icons/description-add.svg +6 -0
- package/src/assets/svg-icons/description-edit.svg +6 -0
- package/src/assets/svg-icons/description-view.svg +3 -0
- package/src/assets/svg-icons/deviation.svg +3 -0
- package/src/assets/svg-icons/document-read.svg +5 -0
- package/src/assets/svg-icons/draft.svg +7 -0
- package/src/assets/svg-icons/dropdown-folder.svg +4 -0
- package/src/assets/svg-icons/enterprise-document.svg +4 -0
- package/src/assets/svg-icons/enterprise-folder-closed.svg +4 -0
- package/src/assets/svg-icons/enterprise-folder-open.svg +4 -0
- package/src/assets/svg-icons/expired-off.svg +3 -0
- package/src/assets/svg-icons/expired-on.svg +5 -0
- package/src/assets/svg-icons/explosive.svg +48 -0
- package/src/assets/svg-icons/file-excel.svg +3 -0
- package/src/assets/svg-icons/file-pdf-verified.svg +5 -0
- package/src/assets/svg-icons/file-pdf.svg +3 -0
- package/src/assets/svg-icons/file-word.svg +3 -0
- package/src/assets/svg-icons/filter-alt.svg +3 -0
- package/src/assets/svg-icons/flammable.svg +5 -0
- package/src/assets/svg-icons/flowchart-BPMN.svg +9 -0
- package/src/assets/svg-icons/folder-closed.svg +3 -0
- package/src/assets/svg-icons/folder-open.svg +3 -0
- package/src/assets/svg-icons/gas-under-pressure.svg +4 -0
- package/src/assets/svg-icons/health-hazard.svg +4 -0
- package/src/assets/svg-icons/keyboard_arrow_down.svg +1 -0
- package/src/assets/svg-icons/keyboard_arrow_up.svg +1 -0
- package/src/assets/svg-icons/line-break.svg +7 -0
- package/src/assets/svg-icons/local-document.svg +4 -0
- package/src/assets/svg-icons/local-folder-closed.svg +4 -0
- package/src/assets/svg-icons/local-folder-open.svg +4 -0
- package/src/assets/svg-icons/location.svg +3 -0
- package/src/assets/svg-icons/measure-add.svg +5 -0
- package/src/assets/svg-icons/measure-edit.svg +5 -0
- package/src/assets/svg-icons/measure-view.svg +3 -0
- package/src/assets/svg-icons/messages.svg +3 -0
- package/src/assets/svg-icons/monitoring.svg +5 -0
- package/src/assets/svg-icons/move.svg +3 -0
- package/src/assets/svg-icons/oxidizing.svg +6 -0
- package/src/assets/svg-icons/process-area-closed.svg +4 -0
- package/src/assets/svg-icons/process-area-open.svg +4 -0
- package/src/assets/svg-icons/process-linked.svg +4 -0
- package/src/assets/svg-icons/process.svg +3 -0
- package/src/assets/svg-icons/regional-document.svg +4 -0
- package/src/assets/svg-icons/regional-folder-closed.svg +4 -0
- package/src/assets/svg-icons/regional-folder-open.svg +4 -0
- package/src/assets/svg-icons/risk.svg +3 -0
- package/src/assets/svg-icons/search-in-file.svg +4 -0
- package/src/assets/svg-icons/sort-ascending.svg +3 -0
- package/src/assets/svg-icons/sort-descending.svg +3 -0
- package/src/assets/svg-icons/subscript.svg +4 -0
- package/src/assets/svg-icons/superscript.svg +4 -0
- package/src/assets/svg-icons/syncronice-favorites.svg +5 -0
- package/src/assets/svg-icons/system-settings.svg +3 -0
- package/src/assets/svg-icons/view-three-outlined.svg +5 -0
- package/src/assets/svg-icons/wiris.svg +9 -0
- package/src/assets/svg-icons/workplace-safety.svg +5 -0
- package/src/lib/components/badges/_qms-badges-base.scss +8 -7
- package/src/lib/components/badges/qms-badges.component.scss +1 -1
- package/src/lib/components/button/button-icon.scss +5 -1
- package/src/lib/components/qms-app-bar/qms-app-bar.component.scss +10 -0
- package/src/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.scss +182 -0
- package/src/lib/components/qms-paginator/qms-paginator.component.scss +128 -0
- package/src/lib/components/qms-status-dropdown/qms-status-dropdown.component.scss +152 -0
- package/src/lib/components/tree/tree.component.scss +3 -1
- package/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.scss +69 -17
- package/src/lib/qms-ckeditor-components/qms-ckeditor.component.scss +24 -0
- package/src/lib/qms-ckeditor-components/styles/_modules.scss +9 -1
- package/src/themes/_qms-icon-font.scss +894 -0
- package/src/themes/core/_colors.scss +1 -0
- package/src/themes/core/_qms-label.scss +32 -0
- package/src/themes/core/_range-slider.scss +60 -35
- package/src/themes/core/_tab.scss +42 -1
- package/src/themes/core/_table.scss +55 -0
- package/esm2015/lib/components/qms-app-bar/qms-app-bar.model.js +0 -10
- package/esm2015/lib/components/qms-stepper/qms-stepper.model.js +0 -9
- package/esm2015/lib/components/test-only/test-only.component.js +0 -17
- package/esm2015/lib/directives/range-slider/range-slider-lockup.directive.js +0 -20
- package/esm2015/lib/directives/range-slider/range-slider.directive.js +0 -36
- package/esm2015/lib/directives/tab/tab-group-advanced.directive.js +0 -30
- package/esm2015/lib/directives/tab/tab-group.directive.js +0 -20
- package/esm2015/lib/directives/tab/tab-label.directive.js +0 -20
- package/lib/components/test-only/test-only.component.d.ts +0 -3
- package/src/assets/jointjs/scss/dist/bpmn.css +0 -854
- package/src/assets/qms-ckeditor-plugin/src/dist/ckeditor.dev.js +0 -173
- package/src/assets/qms-ckeditor-plugin/src/plugins/fullscreen/dist/qmsCKEditorFullscreenPlugin.dev.js +0 -87
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/insertimagemapcommand.js +0 -128
- 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
|
3
|
-
import ResizeImageMapCommand from './resizeimagemapcommand';
|
4
|
-
import
|
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(
|
31
|
-
allowAttributes: [
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
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(
|
41
|
+
schema.register(IMAGEMAP_ELEMENTS.MAP, {
|
40
42
|
isObject: true,
|
41
43
|
allowWhere: '$block',
|
42
|
-
allowAttributes: [
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
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(
|
73
|
+
editor.execute(IMAGEMAP_COMMANDS.RESIZE_IMAGEMAP);
|
72
74
|
}, 100));
|
73
75
|
|
74
|
-
|
75
|
-
|
76
|
-
|
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
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
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 ===
|
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 ===
|
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(
|
122
|
-
let mapname = nodeAfter.getAttribute(
|
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
|
-
|
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(
|
148
|
-
&& domEvent.target.getAttribute(
|
149
|
-
&& !domEvent.target.hasAttribute(
|
150
|
-
|
151
|
-
const originalSrc = domEvent.target.getAttribute(
|
152
|
-
const mapName = trimStart(domEvent.target.getAttribute(
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
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 {
|
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(
|
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(
|
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 {
|
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(
|
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(
|
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(
|
33
|
-
const width = parsePixelToFloat(existingMapElement.getAttribute(
|
34
|
-
const height = parsePixelToFloat(existingMapElement.getAttribute(
|
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(
|
57
|
-
if(!imageElement.hasAttribute(
|
58
|
-
writer.setAttribute(
|
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(
|
62
|
+
originalImageSrc = imageElement.getAttribute(IMAGEMAP_ATTRIBUTES.IMAGE_SAVED_SRC);
|
62
63
|
}
|
63
64
|
|
64
|
-
writer.setAttribute(
|
65
|
-
writer.setAttribute(
|
66
|
-
writer.setAttribute(
|
67
|
-
writer.setAttribute(
|
68
|
-
writer.setAttribute(
|
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(
|
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
|
-
|