qms-angular 1.0.50 → 1.0.54
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/bundles/qms-angular.umd.js +19558 -11339
- package/bundles/qms-angular.umd.js.map +1 -1
- package/esm2015/lib/components/app-icon/app-icon.module.js +29 -16
- package/esm2015/lib/components/app-icon/icon-registry.service.js +9 -7
- package/esm2015/lib/components/badges/index.js +2 -0
- package/esm2015/lib/components/badges/models/qms-badges.model.js +13 -0
- package/esm2015/lib/components/badges/public_api.js +3 -0
- package/esm2015/lib/components/badges/qms-badges.component.js +38 -0
- package/esm2015/lib/components/badges/qms-badges.module.js +41 -0
- package/esm2015/lib/components/banner/qms-banner/qms-banner.component.js +28 -16
- package/esm2015/lib/components/banner/qms-banner/qms-banner.module.js +36 -19
- package/esm2015/lib/components/banner/qms-banner-confirm/qms-banner-confirm.component.js +28 -16
- package/esm2015/lib/components/banner/qms-banner-confirm/qms-banner-confirm.module.js +36 -19
- package/esm2015/lib/components/banner/qms-banner-loading/qms-banner-loading.component.js +19 -13
- package/esm2015/lib/components/banner/qms-banner-loading/qms-banner-loading.module.js +30 -17
- package/esm2015/lib/components/breadcrumb/breadcrumb-direction-icon.directive.js +11 -10
- package/esm2015/lib/components/breadcrumb/breadcrumb-item.directive.js +20 -17
- package/esm2015/lib/components/breadcrumb/breadcrumb.js +40 -28
- package/esm2015/lib/components/breadcrumb/breadcrumb.module.js +50 -26
- package/esm2015/lib/components/button/button-toggle.js +120 -85
- package/esm2015/lib/components/button/button.js +86 -78
- package/esm2015/lib/components/button/button.module.js +51 -27
- package/esm2015/lib/components/comment/comment.js +29 -18
- package/esm2015/lib/components/dialog/dialog.js +38 -28
- package/esm2015/lib/components/edit-file-name-dialog/edit-file-name-dialog.js +24 -16
- package/esm2015/lib/components/edit-file-name-dialog/edit-file-name-dialog.module.js +71 -31
- package/esm2015/lib/components/list/list.js +101 -89
- package/esm2015/lib/components/list/list.module.js +94 -50
- package/esm2015/lib/components/qms-app-bar/qms-app-bar.component.js +55 -29
- package/esm2015/lib/components/qms-app-bar/qms-app-bar.module.js +39 -20
- package/esm2015/lib/components/qms-stepper/qms-stepper.component.js +32 -22
- package/esm2015/lib/components/qms-stepper/qms-stepper.module.js +35 -25
- package/esm2015/lib/components/related/content/related-content.component.js +19 -12
- package/esm2015/lib/components/related/list-other-related/list-related.component.js +29 -25
- package/esm2015/lib/components/related/popup/related-popup.component.js +50 -33
- package/esm2015/lib/components/related/related.module.js +97 -44
- package/esm2015/lib/components/related/risk/analysis/analysis.component.js +23 -17
- package/esm2015/lib/components/related/risk/list/list.component.js +22 -18
- package/esm2015/lib/components/related/risk/result/result.component.js +23 -16
- package/esm2015/lib/components/related/service/related-global.service.js +7 -6
- package/esm2015/lib/components/related/sidenav/sidenav.component.js +21 -12
- package/esm2015/lib/components/related/tree/tree.component.js +54 -41
- package/esm2015/lib/components/reports/qms-report-content-portrait/qms-report-content-portrait.component.js +22 -18
- package/esm2015/lib/components/reports/qms-report-cover-portrait/qms-report-cover-portrait.component.js +22 -18
- package/esm2015/lib/components/reports/qms-reports.module.js +29 -20
- package/esm2015/lib/components/rich-text/rich-text.js +47 -32
- package/esm2015/lib/components/rich-text/rich-text.module.js +35 -21
- package/esm2015/lib/components/select-dialog/select-dialog.js +31 -16
- package/esm2015/lib/components/suffix-field/suffix-field.directive.js +22 -21
- package/esm2015/lib/components/table/table-action.js +31 -31
- package/esm2015/lib/components/table/table.module.js +37 -21
- package/esm2015/lib/components/test-only/test-only.component.js +14 -11
- package/esm2015/lib/components/tooltip/tooltip.js +24 -19
- package/esm2015/lib/components/tooltip/tooltip.module.js +38 -20
- package/esm2015/lib/components/upload-file-error-dialog/upload-file-error-dialog.js +22 -16
- package/esm2015/lib/components/upload-file-error-dialog/upload-file-error-dialog.module.js +71 -31
- package/esm2015/lib/directives/chip-input/chip-input-chip-list.directive.js +13 -13
- package/esm2015/lib/directives/chip-input/chip-input-field.directive.js +11 -10
- package/esm2015/lib/directives/chip-input/chip-input-select-dropdown.directive.js +11 -10
- package/esm2015/lib/directives/chip-input/chip-input-select-field.directive.js +17 -14
- package/esm2015/lib/directives/chip-input/chip-input-select-trigger.directive.js +14 -13
- package/esm2015/lib/directives/chips/chip-body.directive.js +11 -10
- package/esm2015/lib/directives/chips/chip.directive.js +13 -13
- package/esm2015/lib/directives/dropdown-menu/dropdown-item.directive.js +16 -14
- package/esm2015/lib/directives/file-upload/file-upload-attachment-list.directive.js +11 -10
- package/esm2015/lib/directives/file-upload/file-upload-display.directive.js +19 -16
- package/esm2015/lib/directives/file-upload/file-upload-multiple-display.directive.js +16 -14
- package/esm2015/lib/directives/file-upload/file-upload-multiple-selector.directive.js +26 -20
- package/esm2015/lib/directives/file-upload/file-upload-multiple.directive.js +19 -15
- package/esm2015/lib/directives/file-upload/file-upload-scrollable-attachment-list.directive.js +11 -10
- package/esm2015/lib/directives/file-upload/file-upload-selector.directive.js +25 -18
- package/esm2015/lib/directives/file-upload/file-upload.directive.js +24 -20
- package/esm2015/lib/directives/form.directive.js +48 -51
- package/esm2015/lib/directives/margin.directive.js +15 -14
- package/esm2015/lib/directives/range-slider/range-slider-lockup.directive.js +11 -10
- package/esm2015/lib/directives/range-slider/range-slider.directive.js +17 -14
- package/esm2015/lib/directives/scroll-selected/scroll-to-selected.directive.js +16 -15
- package/esm2015/lib/directives/scrollbar/scrollbar.directive.js +13 -13
- package/esm2015/lib/directives/search-field.directive.js +21 -22
- package/esm2015/lib/directives/side-sheet/drawer-content.directive.js +11 -10
- package/esm2015/lib/directives/side-sheet/drawer-header-action.directive.js +11 -10
- package/esm2015/lib/directives/side-sheet/drawer-header.directive.js +11 -10
- package/esm2015/lib/directives/side-sheet/drawer.directive.js +11 -10
- package/esm2015/lib/directives/tab/tab-group-advanced.directive.js +15 -14
- package/esm2015/lib/directives/tab/tab-group.directive.js +11 -10
- package/esm2015/lib/directives/tab/tab-label.directive.js +11 -10
- package/esm2015/lib/directives/text-block/text-block-line.directive.js +20 -16
- package/esm2015/lib/directives/text-block/text-block.directive.js +17 -14
- package/esm2015/lib/directives/tooltip/tooltip-image.directive.js +14 -13
- package/esm2015/lib/directives/tooltip/tooltip-renderer.directive.js +35 -22
- package/esm2015/lib/material-module.js +35 -16
- package/esm2015/lib/model/en.js +35 -4
- package/esm2015/lib/model/no.js +34 -3
- package/esm2015/lib/pipe/dateFormat.pipe.js +11 -10
- package/esm2015/lib/qms-angular.component.js +13 -11
- package/esm2015/lib/qms-angular.module.js +232 -121
- package/esm2015/lib/qms-angular.service.js +9 -8
- package/esm2015/lib/qms-ckeditor-components/common/bpmn/toolbar.function.js +32 -12
- 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/flowchart/sample/sample-graphs.js +16 -0
- package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/halo-service.js +105 -0
- package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/inspector-service.js +3762 -0
- package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/keyboard-service.js +68 -0
- package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/kitchensink-service.js +372 -0
- package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/stencil-service.js +1041 -0
- package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/toolbar-service.js +326 -0
- package/esm2015/lib/qms-ckeditor-components/common/flowchart/shapes/app-shapes.js +318 -0
- package/esm2015/lib/qms-ckeditor-components/common/flowchart/themes/theme-picker.js +80 -0
- package/esm2015/lib/qms-ckeditor-components/common/functions/common.function.js +2 -2
- 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 +23 -16
- package/esm2015/lib/qms-ckeditor-components/common/module/tree/qms-ckeditor-tree.component.js +34 -19
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.js +43 -0
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.js +577 -53
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.js +69 -35
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-flowchart/qms-ckeditor-flowchart.component.js +322 -0
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component.js +12 -8
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +39 -30
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.js +22 -18
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +29 -20
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.js +22 -18
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.js +35 -23
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.js +30 -20
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.js +27 -18
- package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-bpmn-data.model.js +8 -0
- package/esm2015/lib/qms-ckeditor-components/qms-ckeditor-base.component.js +7 -4
- package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +118 -44
- package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +131 -55
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-base.service.js +10 -10
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn-api.service.js +9 -9
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.js +66 -26
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-flowchart.service.js +26 -0
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-global.service.js +9 -8
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-link.service.js +9 -9
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.js +9 -9
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckedtior-template.service.js +9 -9
- package/esm2015/lib/services/translation-registry.service.js +9 -8
- package/esm2015/lib/shared.module.js +9 -4
- package/esm2015/public-api.js +17 -1
- package/esm2015/qms-angular.js +1 -9
- package/fesm2015/qms-angular.js +10820 -2740
- package/fesm2015/qms-angular.js.map +1 -1
- package/lib/components/app-icon/app-icon.module.d.ts +7 -0
- package/lib/components/app-icon/icon-registry.service.d.ts +3 -0
- package/lib/components/badges/index.d.ts +1 -0
- package/lib/components/badges/models/qms-badges.model.d.ts +10 -0
- package/lib/components/badges/public_api.d.ts +2 -0
- package/lib/components/badges/qms-badges.component.d.ts +15 -0
- package/lib/components/badges/qms-badges.module.d.ts +11 -0
- package/lib/components/banner/qms-banner/qms-banner.component.d.ts +3 -0
- package/lib/components/banner/qms-banner/qms-banner.module.d.ts +10 -0
- package/lib/components/banner/qms-banner-confirm/qms-banner-confirm.component.d.ts +3 -0
- package/lib/components/banner/qms-banner-confirm/qms-banner-confirm.module.d.ts +10 -0
- package/lib/components/banner/qms-banner-loading/qms-banner-loading.component.d.ts +3 -0
- package/lib/components/banner/qms-banner-loading/qms-banner-loading.module.d.ts +8 -0
- package/lib/components/breadcrumb/breadcrumb-direction-icon.directive.d.ts +3 -0
- package/lib/components/breadcrumb/breadcrumb-item.directive.d.ts +3 -0
- package/lib/components/breadcrumb/breadcrumb.d.ts +3 -0
- package/lib/components/breadcrumb/breadcrumb.module.d.ts +13 -0
- package/lib/components/button/button-toggle.d.ts +5 -0
- package/lib/components/button/button.d.ts +7 -0
- package/lib/components/button/button.module.d.ts +9 -0
- package/lib/components/comment/comment.d.ts +3 -0
- package/lib/components/dialog/dialog.d.ts +5 -0
- package/lib/components/edit-file-name-dialog/edit-file-name-dialog.d.ts +3 -0
- package/lib/components/edit-file-name-dialog/edit-file-name-dialog.module.d.ts +16 -0
- package/lib/components/list/list.d.ts +15 -0
- package/lib/components/list/list.module.d.ts +11 -0
- package/lib/components/qms-app-bar/qms-app-bar.component.d.ts +3 -0
- package/lib/components/qms-app-bar/qms-app-bar.module.d.ts +12 -0
- package/lib/components/qms-stepper/qms-stepper.component.d.ts +3 -0
- package/lib/components/qms-stepper/qms-stepper.module.d.ts +8 -0
- package/lib/components/related/content/related-content.component.d.ts +3 -0
- package/lib/components/related/list-other-related/list-related.component.d.ts +3 -0
- package/lib/components/related/popup/related-popup.component.d.ts +3 -0
- package/lib/components/related/related.module.d.ts +29 -0
- package/lib/components/related/risk/analysis/analysis.component.d.ts +3 -0
- package/lib/components/related/risk/list/list.component.d.ts +3 -0
- package/lib/components/related/risk/result/result.component.d.ts +3 -0
- package/lib/components/related/service/related-global.service.d.ts +3 -0
- package/lib/components/related/sidenav/sidenav.component.d.ts +3 -0
- package/lib/components/related/tree/tree.component.d.ts +3 -0
- package/lib/components/reports/qms-report-content-portrait/qms-report-content-portrait.component.d.ts +3 -0
- package/lib/components/reports/qms-report-cover-portrait/qms-report-cover-portrait.component.d.ts +3 -0
- package/lib/components/reports/qms-reports.module.d.ts +7 -0
- package/lib/components/rich-text/rich-text.d.ts +3 -0
- package/lib/components/rich-text/rich-text.module.d.ts +8 -0
- package/lib/components/select-dialog/select-dialog.d.ts +3 -0
- package/lib/components/suffix-field/suffix-field.directive.d.ts +5 -0
- package/lib/components/table/table-action.d.ts +5 -0
- package/lib/components/table/table.module.d.ts +8 -0
- package/lib/components/test-only/test-only.component.d.ts +3 -0
- package/lib/components/tooltip/tooltip.d.ts +3 -0
- package/lib/components/tooltip/tooltip.module.d.ts +9 -0
- package/lib/components/upload-file-error-dialog/upload-file-error-dialog.d.ts +3 -0
- package/lib/components/upload-file-error-dialog/upload-file-error-dialog.module.d.ts +16 -0
- package/lib/directives/chip-input/chip-input-chip-list.directive.d.ts +3 -0
- package/lib/directives/chip-input/chip-input-field.directive.d.ts +3 -0
- package/lib/directives/chip-input/chip-input-select-dropdown.directive.d.ts +3 -0
- package/lib/directives/chip-input/chip-input-select-field.directive.d.ts +3 -0
- package/lib/directives/chip-input/chip-input-select-trigger.directive.d.ts +3 -0
- package/lib/directives/chips/chip-body.directive.d.ts +3 -0
- package/lib/directives/chips/chip.directive.d.ts +3 -0
- package/lib/directives/dropdown-menu/dropdown-item.directive.d.ts +3 -0
- package/lib/directives/file-upload/file-upload-attachment-list.directive.d.ts +3 -0
- package/lib/directives/file-upload/file-upload-display.directive.d.ts +3 -0
- package/lib/directives/file-upload/file-upload-multiple-display.directive.d.ts +3 -0
- package/lib/directives/file-upload/file-upload-multiple-selector.directive.d.ts +3 -0
- package/lib/directives/file-upload/file-upload-multiple.directive.d.ts +3 -0
- package/lib/directives/file-upload/file-upload-scrollable-attachment-list.directive.d.ts +3 -0
- package/lib/directives/file-upload/file-upload-selector.directive.d.ts +3 -0
- package/lib/directives/file-upload/file-upload.directive.d.ts +5 -0
- package/lib/directives/form.directive.d.ts +11 -0
- package/lib/directives/margin.directive.d.ts +3 -0
- package/lib/directives/range-slider/range-slider-lockup.directive.d.ts +3 -0
- package/lib/directives/range-slider/range-slider.directive.d.ts +3 -0
- package/lib/directives/scroll-selected/scroll-to-selected.directive.d.ts +3 -0
- package/lib/directives/scrollbar/scrollbar.directive.d.ts +3 -0
- package/lib/directives/search-field.directive.d.ts +5 -0
- package/lib/directives/side-sheet/drawer-content.directive.d.ts +3 -0
- package/lib/directives/side-sheet/drawer-header-action.directive.d.ts +3 -0
- package/lib/directives/side-sheet/drawer-header.directive.d.ts +3 -0
- package/lib/directives/side-sheet/drawer.directive.d.ts +3 -0
- package/lib/directives/tab/tab-group-advanced.directive.d.ts +3 -0
- package/lib/directives/tab/tab-group.directive.d.ts +3 -0
- package/lib/directives/tab/tab-label.directive.d.ts +3 -0
- package/lib/directives/text-block/text-block-line.directive.d.ts +3 -0
- package/lib/directives/text-block/text-block.directive.d.ts +3 -0
- package/lib/directives/tooltip/tooltip-image.directive.d.ts +3 -0
- package/lib/directives/tooltip/tooltip-renderer.directive.d.ts +3 -0
- package/lib/material-module.d.ts +12 -0
- package/lib/model/en.d.ts +31 -0
- package/lib/model/no.d.ts +31 -0
- package/lib/pipe/dateFormat.pipe.d.ts +3 -0
- package/lib/qms-angular.component.d.ts +3 -0
- package/lib/qms-angular.module.d.ts +49 -0
- package/lib/qms-angular.service.d.ts +3 -0
- package/lib/qms-ckeditor-components/common/bpmn/toolbar.function.d.ts +2 -2
- 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/flowchart/sample/sample-graphs.d.ts +14 -0
- package/lib/qms-ckeditor-components/common/flowchart/service/halo-service.d.ts +48 -0
- package/lib/qms-ckeditor-components/common/flowchart/service/inspector-service.d.ts +18 -0
- package/lib/qms-ckeditor-components/common/flowchart/service/keyboard-service.d.ts +17 -0
- package/lib/qms-ckeditor-components/common/flowchart/service/kitchensink-service.d.ts +62 -0
- package/lib/qms-ckeditor-components/common/flowchart/service/stencil-service.d.ts +1183 -0
- package/lib/qms-ckeditor-components/common/flowchart/service/toolbar-service.d.ts +216 -0
- package/lib/qms-ckeditor-components/common/flowchart/shapes/app-shapes.d.ts +61 -0
- package/lib/qms-ckeditor-components/common/flowchart/themes/theme-picker.d.ts +36 -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 +7 -0
- package/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.d.ts +3 -0
- package/lib/qms-ckeditor-components/common/module/tree/qms-ckeditor-tree.component.d.ts +3 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.d.ts +18 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.d.ts +88 -4
- package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.d.ts +11 -2
- package/lib/qms-ckeditor-components/components/qms-ckeditor-flowchart/qms-ckeditor-flowchart.component.d.ts +44 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component.d.ts +3 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.d.ts +3 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.d.ts +3 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.d.ts +3 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.d.ts +3 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.d.ts +4 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.d.ts +3 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.d.ts +3 -0
- package/lib/qms-ckeditor-components/models/qms-ckeditor-bpmn-data.model.d.ts +7 -0
- package/lib/qms-ckeditor-components/qms-ckeditor-base.component.d.ts +3 -0
- package/lib/qms-ckeditor-components/qms-ckeditor.component.d.ts +8 -0
- package/lib/qms-ckeditor-components/qms-ckeditor.module.d.ts +44 -0
- package/lib/qms-ckeditor-components/services/qms-ckeditor-base.service.d.ts +3 -0
- package/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn-api.service.d.ts +3 -0
- package/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.d.ts +4 -0
- package/lib/qms-ckeditor-components/services/qms-ckeditor-flowchart.service.d.ts +13 -0
- package/lib/qms-ckeditor-components/services/qms-ckeditor-global.service.d.ts +3 -0
- package/lib/qms-ckeditor-components/services/qms-ckeditor-link.service.d.ts +3 -0
- package/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.d.ts +3 -0
- package/lib/qms-ckeditor-components/services/qms-ckedtior-template.service.d.ts +3 -0
- package/lib/services/translation-registry.service.d.ts +3 -0
- package/lib/shared.module.d.ts +4 -0
- package/lib.theme.scss +8 -0
- package/package.json +1 -2
- package/public-api.d.ts +15 -0
- package/qms-angular.d.ts +1 -8
- package/src/assets/images/ckeditor5.svg +1 -0
- package/src/assets/jointjs/fonts/Alegreya_Sans/AlegreyaSans-Bold.ttf +0 -0
- package/src/assets/jointjs/fonts/Alegreya_Sans/AlegreyaSans-Light.ttf +0 -0
- package/src/assets/jointjs/fonts/Alegreya_Sans/AlegreyaSans-Regular.ttf +0 -0
- package/src/assets/jointjs/fonts/Alegreya_Sans/OFL.txt +92 -0
- package/src/assets/jointjs/fonts/Averia_Libre/AveriaLibre-Bold.ttf +0 -0
- package/src/assets/jointjs/fonts/Averia_Libre/AveriaLibre-Light.ttf +0 -0
- package/src/assets/jointjs/fonts/Averia_Libre/AveriaLibre-Regular.ttf +0 -0
- package/src/assets/jointjs/fonts/Averia_Libre/OFL.txt +93 -0
- package/src/assets/jointjs/fonts/Roboto_Condensed/LICENSE.txt +202 -0
- package/src/assets/jointjs/fonts/Roboto_Condensed/RobotoCondensed-Bold.ttf +0 -0
- package/src/assets/jointjs/fonts/Roboto_Condensed/RobotoCondensed-Light.ttf +0 -0
- package/src/assets/jointjs/fonts/Roboto_Condensed/RobotoCondensed-Regular.ttf +0 -0
- package/src/assets/jointjs/images/delete-icon-modern.png +0 -0
- package/src/assets/jointjs/images/image-icon1.svg +1 -0
- package/src/assets/jointjs/images/image-icon2.svg +6 -0
- package/src/assets/jointjs/images/image-icon3.svg +11 -0
- package/src/assets/jointjs/images/image-icon4.svg +8 -0
- package/src/assets/jointjs/images/member-female.png +0 -0
- package/src/assets/jointjs/images/member-male.png +0 -0
- package/src/assets/jointjs/images/no-color-icon.svg +72 -0
- package/src/assets/jointjs/images/reset-icon-modern.png +0 -0
- package/src/assets/jointjs/images/save-icon-modern.png +0 -0
- package/src/assets/jointjs/images/to-front-icon-modern.png +0 -0
- package/src/assets/jointjs/images/toback-icon-modern.png +0 -0
- package/src/assets/jointjs/images/toolbar-icons-dark.woff +0 -0
- package/src/assets/jointjs/images/toolbar-icons-material.png +0 -0
- package/src/assets/jointjs/images/toolbar-icons-modern.png +0 -0
- package/src/assets/jointjs/images/transparent-icon.svg +50 -0
- package/src/assets/jointjs/scss/bpmn.scss +36 -35
- package/src/assets/jointjs/scss/style.dark.scss +233 -0
- package/src/assets/jointjs/scss/style.material.scss +234 -0
- package/src/assets/jointjs/scss/style.modern.scss +225 -0
- package/src/assets/jointjs/scss/style.scss +216 -0
- package/src/assets/jointjs/scss/theme-picker.scss +21 -0
- package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +1 -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/he.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/sl.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 +12198 -9
- package/src/assets/qms-ckeditor-plugin/package.json +1 -0
- package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +22 -5
- package/src/assets/qms-ckeditor-plugin/src/dist/ckeditor.dev.js +173 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/aboutckeditor/aboutckeditor.js +28 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/bpmn/qmsCKEditorBpmnPlugin.js +24 -5
- package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorConstant.js +7 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorService.js +20 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/flowchart/qmsCKEditorFlowchartPlugin.js +63 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/fullscreen/dist/qmsCKEditorFullscreenPlugin.dev.js +87 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapediting.js +47 -43
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapui.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/insertimagemapcommand.js +72 -108
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/openimagemapcommand.js +58 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/resizeimagemapcommand.js +4 -3
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/utils.js +13 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/timestamp/timestamp.js +8 -8
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipui.js +23 -24
- package/src/assets/qms-ckeditor-plugin/src/themes/icons/flowchart.svg +507 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/icons/information.svg +1 -50
- package/src/assets/qms-ckeditor-plugin/src/themes/icons/timestamp.svg +1 -1
- package/src/assets/qms-ckeditor-plugin/src/themes/icons/tooltip.svg +1 -0
- package/src/lib/components/badges/_qms-badges-base.scss +122 -0
- package/src/lib/components/badges/qms-badges.component.scss +89 -0
- package/src/lib/components/list/_list-base.scss +1 -0
- package/src/lib/components/list/list.scss +2 -2
- package/src/lib/components/related/popup/related-popup.component.scss +1 -1
- package/src/lib/components/related/tree/tree.component.scss +1 -1
- package/src/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.scss +16 -0
- package/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.scss +15 -1
- package/src/lib/qms-ckeditor-components/components/qms-ckeditor-flowchart/qms-ckeditor-flowchart.component.scss +5 -0
- package/src/lib/qms-ckeditor-components/styles/_layout.scss +24 -0
- package/src/lib/qms-ckeditor-components/styles/_modules.scss +8 -0
- package/src/themes/_color.scss +1 -1
- package/src/themes/_scrollbar.scss +5 -5
- package/qms-angular.metadata.json +0 -1
@@ -1,27 +1,44 @@
|
|
1
1
|
import { Component, Inject } from "@angular/core";
|
2
2
|
import { FormControl, FormGroup, Validators } from "@angular/forms";
|
3
|
-
import {
|
3
|
+
import { MAT_DIALOG_DATA } from "@angular/material/dialog";
|
4
4
|
import { takeUntil } from "rxjs/operators";
|
5
|
-
import {
|
5
|
+
import { CKEditorEventConst } from "../../../common/constants/ckeditorEvent.constant";
|
6
6
|
import { QMSCKEditorBpmn } from "../../../common/models/qms-ckeditor-bpmn.model";
|
7
|
+
import { QMSCKEditorFlowchart } from "../../../common/models/qms-ckeditor-flowchart.model";
|
7
8
|
import { QMSCKEditorToastService } from "../../../common/toast/qms-ckeditor-toast.service";
|
8
9
|
import { QMSCKEditorBaseComponent } from "../../../qms-ckeditor-base.component";
|
9
|
-
import
|
10
|
-
import
|
10
|
+
import * as i0 from "@angular/core";
|
11
|
+
import * as i1 from "../../../../services/translation-registry.service";
|
12
|
+
import * as i2 from "../../../services/qms-ckeditor-bpmn.service";
|
13
|
+
import * as i3 from "../../../services/qms-ckeditor-bpmn-api.service";
|
14
|
+
import * as i4 from "../../../services/qms-ckeditor-flowchart.service";
|
15
|
+
import * as i5 from "@angular/material/dialog";
|
16
|
+
import * as i6 from "@angular/material/icon";
|
17
|
+
import * as i7 from "@angular/material/form-field";
|
18
|
+
import * as i8 from "@angular/material/button";
|
19
|
+
import * as i9 from "@angular/forms";
|
20
|
+
import * as i10 from "@angular/material/input";
|
21
|
+
import * as i11 from "@angular/common";
|
22
|
+
import * as i12 from "../../../common/models/qms-ckeditor-save-as-template.model";
|
11
23
|
export class SaveTemplateComponent extends QMSCKEditorBaseComponent {
|
12
|
-
constructor(translate, bmpnService, bpmnApiService, dialogRef, data) {
|
24
|
+
constructor(translate, bmpnService, bpmnApiService, flowchartService, dialogRef, data) {
|
13
25
|
super();
|
14
26
|
this.translate = translate;
|
15
27
|
this.bmpnService = bmpnService;
|
16
28
|
this.bpmnApiService = bpmnApiService;
|
29
|
+
this.flowchartService = flowchartService;
|
17
30
|
this.dialogRef = dialogRef;
|
18
31
|
this.data = data;
|
19
32
|
this.saveFormGroup = new FormGroup({
|
20
33
|
templateName: new FormControl('', [Validators.required])
|
21
34
|
});
|
35
|
+
this.templateType = '';
|
22
36
|
this.templateName = '';
|
23
37
|
this.bpmn = new QMSCKEditorBpmn();
|
24
|
-
this.
|
38
|
+
this.flowchart = new QMSCKEditorFlowchart();
|
39
|
+
this.templateType = data.templateType;
|
40
|
+
this.bpmn = data.bpmn;
|
41
|
+
this.flowchart = data.flowchart;
|
25
42
|
}
|
26
43
|
ngOnInit() {
|
27
44
|
this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {
|
@@ -31,37 +48,54 @@ export class SaveTemplateComponent extends QMSCKEditorBaseComponent {
|
|
31
48
|
});
|
32
49
|
}
|
33
50
|
saveTemplate() {
|
34
|
-
this.
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
51
|
+
if (this.templateType === CKEditorEventConst.QMSCK_BPMN) {
|
52
|
+
this.bpmn.templateName = this.templateName;
|
53
|
+
this.bpmnApiService
|
54
|
+
.bpmnModifying(this.bpmn)
|
55
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
56
|
+
.subscribe((result) => {
|
57
|
+
if (result) {
|
58
|
+
this.bmpnService.addItemTemplate(result, this.bpmn);
|
59
|
+
QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);
|
60
|
+
this.onCloseDialog();
|
61
|
+
}
|
62
|
+
else {
|
63
|
+
QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);
|
64
|
+
}
|
65
|
+
});
|
66
|
+
}
|
67
|
+
else if (this.templateType === CKEditorEventConst.QMSCK_FLOWCHART) {
|
68
|
+
this.flowchart.templateName = this.templateName;
|
69
|
+
this.flowchartService
|
70
|
+
.flowchartModifying(this.flowchart)
|
71
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
72
|
+
.subscribe((result) => {
|
73
|
+
if (result) {
|
74
|
+
QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);
|
75
|
+
this.flowchart.id = result;
|
76
|
+
this.dialogRef.close(this.flowchart);
|
77
|
+
}
|
78
|
+
else {
|
79
|
+
QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);
|
80
|
+
}
|
81
|
+
});
|
82
|
+
}
|
48
83
|
}
|
49
84
|
onCloseDialog() {
|
50
85
|
this.dialogRef.close();
|
51
86
|
}
|
52
87
|
}
|
53
|
-
SaveTemplateComponent
|
54
|
-
{ type:
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
];
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWJwbW4vc2F2ZS10ZW1wbGF0ZS9zYXZlLXRlbXBsYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBUTFFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx3QkFBd0I7SUFRakUsWUFDVSxTQUFrQyxFQUNsQyxXQUF3QixFQUN4QixjQUF5QyxFQUMxQyxTQUE4QyxFQUNyQixJQUFxQjtRQUVyRCxLQUFLLEVBQUUsQ0FBQztRQU5BLGNBQVMsR0FBVCxTQUFTLENBQXlCO1FBQ2xDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUEyQjtRQUMxQyxjQUFTLEdBQVQsU0FBUyxDQUFxQztRQUNyQixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQVh2RCxrQkFBYSxHQUFjLElBQUksU0FBUyxDQUFDO1lBQ3ZDLFlBQVksRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekQsQ0FBQyxDQUFDO1FBQ0gsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBVTVDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3RGLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDL0M7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUMzQyxJQUFJLENBQUMsY0FBYzthQUNoQixhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNsQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwRCx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzdELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUN0QjtpQkFBTTtnQkFDTCx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDbEU7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs7WUFuREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6Qix1OEVBQTZDOzthQUU5Qzs7O1lBWFEsdUJBQXVCO1lBS3ZCLFdBQVc7WUFEWCx5QkFBeUI7WUFOekIsWUFBWTtZQUdaLGVBQWUsdUJBeUJuQixNQUFNLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb24tcmVnaXN0cnkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckJwbW4gfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItYnBtbi5tb2RlbFwiO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclRvYXN0U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vdG9hc3QvcW1zLWNrZWRpdG9yLXRvYXN0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JCYXNlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uLy4uL3Ftcy1ja2VkaXRvci1iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckJwbW5BcGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3Ftcy1ja2VkaXRvci1icG1uLWFwaS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEJwbW5TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3Ftcy1ja2VkaXRvci1icG1uLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2F2ZS10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NhdmUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NhdmUtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVUZW1wbGF0ZUNvbXBvbmVudCBleHRlbmRzIFFNU0NLRWRpdG9yQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgTEFORzogYW55O1xyXG4gIHNhdmVGb3JtR3JvdXA6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgdGVtcGxhdGVOYW1lOiBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcclxuICB9KTtcclxuICB0ZW1wbGF0ZU5hbWUgPSAnJztcclxuICBicG1uOiBRTVNDS0VkaXRvckJwbW4gPSBuZXcgUU1TQ0tFZGl0b3JCcG1uKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBibXBuU2VydmljZTogQnBtblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGJwbW5BcGlTZXJ2aWNlOiBRTVNDS0VkaXRvckJwbW5BcGlTZXJ2aWNlLFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNhdmVUZW1wbGF0ZUNvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IFFNU0NLRWRpdG9yQnBtblxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuYnBtbiA9IGRhdGE7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRlLmdldExhbmd1YWdlU3ViamVjdCQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5MQU5HID0gdGhpcy50cmFuc2xhdGUuZ2V0T2JqZWN0TGFuZyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNhdmVUZW1wbGF0ZSgpIHtcclxuICAgIHRoaXMuYnBtbi50ZW1wbGF0ZU5hbWUgPSB0aGlzLnRlbXBsYXRlTmFtZTtcclxuICAgIHRoaXMuYnBtbkFwaVNlcnZpY2VcclxuICAgICAgLmJwbW5Nb2RpZnlpbmcodGhpcy5icG1uKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICB0aGlzLmJtcG5TZXJ2aWNlLmFkZEl0ZW1UZW1wbGF0ZShyZXN1bHQsIHRoaXMuYnBtbik7XHJcbiAgICAgICAgICBRTVNDS0VkaXRvclRvYXN0U2VydmljZS5zdWNjZXNzKHRoaXMuTEFORy5RTVNDS0VESVRPUi5TQVZFRCk7XHJcbiAgICAgICAgICB0aGlzLm9uQ2xvc2VEaWFsb2coKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgUU1TQ0tFZGl0b3JUb2FzdFNlcnZpY2UuZXJyb3IodGhpcy5MQU5HLlFNU0NLRURJVE9SLlNBVkVfRkFJTEVEKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25DbG9zZURpYWxvZygpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
88
|
+
SaveTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SaveTemplateComponent, deps: [{ token: i1.TranslateLibraryService }, { token: i2.BpmnService }, { token: i3.QMSCKEditorBpmnApiService }, { token: i4.QMSCKEditorFlowchartService }, { token: i5.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
89
|
+
SaveTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: SaveTemplateComponent, selector: "save-template", usesInheritance: true, ngImport: i0, template: "<div\r\n id=\"qmsckeditor-bpmn\"\r\n class=\"qmsckeditor qmsckeditor__savetemplate__container\"\r\n>\r\n <div id=\"qmsckeditor-load-template-header\">\r\n <span\r\n id=\"qmsckeditor-bpmn-header_001\"\r\n mat-icon-button\r\n class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseDialog()\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor-load-template-header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor-template_002_001\">Save as template</h2>\r\n </div>\r\n\r\n <form [formGroup]=\"saveFormGroup\">\r\n <div\r\n id=\"qmsckeditor-save-as-content\"\r\n class=\"qmsckeditor save__as__template height\"\r\n >\r\n <div id=\"qmsckeditor-save-as-content_001\" class=\"col-12 mt-1 pl-2 pr-2\">\r\n <div id=\"qmsckeditor-save-as-panel_001\">\r\n <div id=\"qmsckeditor-save-as-panel_001_001\">\r\n <mat-form-field class=\"col-12 pl-0 pr-0\" appearance=\"fill\">\r\n <mat-label>{{ LANG.BPMN.TEMPLATE_NAME }}</mat-label>\r\n <input\r\n matInput\r\n formControlName=\"templateName\"\r\n [(ngModel)]=\"templateName\"\r\n />\r\n <mat-error\r\n *ngIf=\"saveFormGroup.get('templateName').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div\r\n id=\"qmsckeditor-save-as-panel_001_003\"\r\n class=\"qmsckeditor button__groups row mr-0 ml-0\"\r\n >\r\n <div class=\"col-6 pr-0\">\r\n <button\r\n class=\"save\"\r\n mat-flat-button\r\n (click)=\"saveTemplate()\"\r\n [disabled]=\"saveFormGroup.invalid\"\r\n >\r\n {{ LANG.QMSCKEDITOR.SAVE }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pl-0\">\r\n <button\r\n class=\"cancel\"\r\n mat-flat-button\r\n (click)=\"onCloseDialog()\"\r\n >\r\n {{ LANG.QMSCKEDITOR.CANCEL }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n", styles: [""], components: [{ type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i5.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.MatLabel, selector: "mat-label" }, { type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.MatError, selector: "mat-error", inputs: ["id"] }] });
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SaveTemplateComponent, decorators: [{
|
91
|
+
type: Component,
|
92
|
+
args: [{
|
93
|
+
selector: 'save-template',
|
94
|
+
templateUrl: './save-template.component.html',
|
95
|
+
styleUrls: ['./save-template.component.scss']
|
96
|
+
}]
|
97
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateLibraryService }, { type: i2.BpmnService }, { type: i3.QMSCKEditorBpmnApiService }, { type: i4.QMSCKEditorFlowchartService }, { type: i5.MatDialogRef }, { type: i12.QMSCKEditorSaveAsTemplate, decorators: [{
|
98
|
+
type: Inject,
|
99
|
+
args: [MAT_DIALOG_DATA]
|
100
|
+
}] }]; } });
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWJwbW4vc2F2ZS10ZW1wbGF0ZS9zYXZlLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItYnBtbi9zYXZlLXRlbXBsYXRlL3NhdmUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUUzRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFXaEYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHdCQUF3QjtJQVVqRSxZQUNVLFNBQWtDLEVBQ2xDLFdBQXdC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LFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDO29CQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ3RDO3FCQUFNO29CQUNMLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDbEU7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7O2tIQW5FVSxxQkFBcUIsb01BZ0J0QixlQUFlO3NHQWhCZCxxQkFBcUIsNEVDckJsQyw2N0VBcUVBOzJGRGhEYSxxQkFBcUI7a0JBTmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2lCQUM5Qzs7MEJBa0JJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXJlZ2lzdHJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ0tFZGl0b3JFdmVudENvbnN0IH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMvY2tlZGl0b3JFdmVudC5jb25zdGFudFwiO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckJwbW4gfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItYnBtbi5tb2RlbFwiO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckZsb3djaGFydCB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1mbG93Y2hhcnQubW9kZWxcIjtcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JTYXZlQXNUZW1wbGF0ZSB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1zYXZlLWFzLXRlbXBsYXRlLm1vZGVsXCI7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yVG9hc3RTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi90b2FzdC9xbXMtY2tlZGl0b3ItdG9hc3Quc2VydmljZVwiO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vcW1zLWNrZWRpdG9yLWJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yQnBtbkFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvcW1zLWNrZWRpdG9yLWJwbW4tYXBpLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQnBtblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvcW1zLWNrZWRpdG9yLWJwbW4uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckZsb3djaGFydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvcW1zLWNrZWRpdG9yLWZsb3djaGFydC5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhdmUtdGVtcGxhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zYXZlLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zYXZlLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlVGVtcGxhdGVDb21wb25lbnQgZXh0ZW5kcyBRTVNDS0VkaXRvckJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIExBTkc6IGFueTtcclxuICBzYXZlRm9ybUdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgIHRlbXBsYXRlTmFtZTogbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXHJcbiAgfSk7XHJcbiAgdGVtcGxhdGVUeXBlID0gJyc7XHJcbiAgdGVtcGxhdGVOYW1lID0gJyc7XHJcbiAgYnBtbjogUU1TQ0tFZGl0b3JCcG1uID0gbmV3IFFNU0NLRWRpdG9yQnBtbigpO1xyXG4gIGZsb3djaGFydDogUU1TQ0tFZGl0b3JGbG93Y2hhcnQgPSBuZXcgUU1TQ0tFZGl0b3JGbG93Y2hhcnQoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGJtcG5TZXJ2aWNlOiBCcG1uU2VydmljZSxcclxuICAgIHByaXZhdGUgYnBtbkFwaVNlcnZpY2U6IFFNU0NLRWRpdG9yQnBtbkFwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZsb3djaGFydFNlcnZpY2U6IFFNU0NLRWRpdG9yRmxvd2NoYXJ0U2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxTYXZlVGVtcGxhdGVDb21wb25lbnQ+LFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBRTVNDS0VkaXRvclNhdmVBc1RlbXBsYXRlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy50ZW1wbGF0ZVR5cGUgPSBkYXRhLnRlbXBsYXRlVHlwZTtcclxuICAgIHRoaXMuYnBtbiA9IGRhdGEuYnBtbjtcclxuICAgIHRoaXMuZmxvd2NoYXJ0ID0gZGF0YS5mbG93Y2hhcnQ7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRlLmdldExhbmd1YWdlU3ViamVjdCQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5MQU5HID0gdGhpcy50cmFuc2xhdGUuZ2V0T2JqZWN0TGFuZyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNhdmVUZW1wbGF0ZSgpIHtcclxuICAgIGlmICh0aGlzLnRlbXBsYXRlVHlwZSA9PT0gQ0tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0JQTU4pIHtcclxuICAgICAgdGhpcy5icG1uLnRlbXBsYXRlTmFtZSA9IHRoaXMudGVtcGxhdGVOYW1lO1xyXG4gICAgICB0aGlzLmJwbW5BcGlTZXJ2aWNlXHJcbiAgICAgICAgLmJwbW5Nb2RpZnlpbmcodGhpcy5icG1uKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuYm1wblNlcnZpY2UuYWRkSXRlbVRlbXBsYXRlKHJlc3VsdCwgdGhpcy5icG1uKTtcclxuICAgICAgICAgICAgUU1TQ0tFZGl0b3JUb2FzdFNlcnZpY2Uuc3VjY2Vzcyh0aGlzLkxBTkcuUU1TQ0tFRElUT1IuU0FWRUQpO1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2xvc2VEaWFsb2coKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIFFNU0NLRWRpdG9yVG9hc3RTZXJ2aWNlLmVycm9yKHRoaXMuTEFORy5RTVNDS0VESVRPUi5TQVZFX0ZBSUxFRCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLnRlbXBsYXRlVHlwZSA9PT0gQ0tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0ZMT1dDSEFSVCkge1xyXG4gICAgICB0aGlzLmZsb3djaGFydC50ZW1wbGF0ZU5hbWUgPSB0aGlzLnRlbXBsYXRlTmFtZTtcclxuICAgICAgdGhpcy5mbG93Y2hhcnRTZXJ2aWNlXHJcbiAgICAgICAgLmZsb3djaGFydE1vZGlmeWluZyh0aGlzLmZsb3djaGFydClcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICBRTVNDS0VkaXRvclRvYXN0U2VydmljZS5zdWNjZXNzKHRoaXMuTEFORy5RTVNDS0VESVRPUi5TQVZFRCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmxvd2NoYXJ0LmlkID0gcmVzdWx0O1xyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0aGlzLmZsb3djaGFydCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBRTVNDS0VkaXRvclRvYXN0U2VydmljZS5lcnJvcih0aGlzLkxBTkcuUU1TQ0tFRElUT1IuU0FWRV9GQUlMRUQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DbG9zZURpYWxvZygpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBpZD1cInFtc2NrZWRpdG9yLWJwbW5cIlxyXG4gIGNsYXNzPVwicW1zY2tlZGl0b3IgcW1zY2tlZGl0b3JfX3NhdmV0ZW1wbGF0ZV9fY29udGFpbmVyXCJcclxuPlxyXG4gIDxkaXYgaWQ9XCJxbXNja2VkaXRvci1sb2FkLXRlbXBsYXRlLWhlYWRlclwiPlxyXG4gICAgPHNwYW5cclxuICAgICAgaWQ9XCJxbXNja2VkaXRvci1icG1uLWhlYWRlcl8wMDFcIlxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgY2xhc3M9XCJxbXNja2VkaXRvciBidXR0b25fX2Nsb3NlXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQ2xvc2VEaWFsb2coKVwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8ZGl2IGlkPVwicW1zY2tlZGl0b3ItbG9hZC10ZW1wbGF0ZS1oZWFkZXJfMDAyXCIgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgICA8aDIgaWQ9XCJxbXNja2VkaXRvci10ZW1wbGF0ZV8wMDJfMDAxXCI+U2F2ZSBhcyB0ZW1wbGF0ZTwvaDI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNhdmVGb3JtR3JvdXBcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGlkPVwicW1zY2tlZGl0b3Itc2F2ZS1hcy1jb250ZW50XCJcclxuICAgICAgICBjbGFzcz1cInFtc2NrZWRpdG9yIHNhdmVfX2FzX190ZW1wbGF0ZSBoZWlnaHRcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBpZD1cInFtc2NrZWRpdG9yLXNhdmUtYXMtY29udGVudF8wMDFcIiBjbGFzcz1cImNvbC0xMiBtdC0xIHBsLTIgcHItMlwiPlxyXG4gICAgICAgICAgPGRpdiBpZD1cInFtc2NrZWRpdG9yLXNhdmUtYXMtcGFuZWxfMDAxXCI+XHJcbiAgICAgICAgICAgIDxkaXYgaWQ9XCJxbXNja2VkaXRvci1zYXZlLWFzLXBhbmVsXzAwMV8wMDFcIj5cclxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJjb2wtMTIgcGwtMCBwci0wXCIgYXBwZWFyYW5jZT1cImZpbGxcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgTEFORy5CUE1OLlRFTVBMQVRFX05BTUUgfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0ZW1wbGF0ZU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRlbXBsYXRlTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cInNhdmVGb3JtR3JvdXAuZ2V0KCd0ZW1wbGF0ZU5hbWUnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXQ1XCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgaWQ9XCJxbXNja2VkaXRvci1zYXZlLWFzLXBhbmVsXzAwMV8wMDNcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwicW1zY2tlZGl0b3IgYnV0dG9uX19ncm91cHMgcm93IG1yLTAgbWwtMFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTYgcHItMFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNhdmVcIlxyXG4gICAgICAgICAgICAgICAgICBtYXQtZmxhdC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNhdmVUZW1wbGF0ZSgpXCJcclxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNhdmVGb3JtR3JvdXAuaW52YWxpZFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt7IExBTkcuUU1TQ0tFRElUT1IuU0FWRSB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02IHBsLTBcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYW5jZWxcIlxyXG4gICAgICAgICAgICAgICAgICBtYXQtZmxhdC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2VEaWFsb2coKVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt7IExBTkcuUU1TQ0tFRElUT1IuQ0FOQ0VMIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
@@ -0,0 +1,322 @@
|
|
1
|
+
import { __awaiter } from "tslib";
|
2
|
+
import { Component, HostListener, Inject } from "@angular/core";
|
3
|
+
import { MAT_DIALOG_DATA } from "@angular/material/dialog";
|
4
|
+
import { takeUntil } from "rxjs/operators";
|
5
|
+
import { CKEditorEventConst } from "../../common/constants/ckeditorEvent.constant";
|
6
|
+
import { FlowChartConst } from "../../common/constants/ckeditorFlowchart.const";
|
7
|
+
import { HaloService } from "../../common/flowchart/service/halo-service";
|
8
|
+
import { InspectorService } from "../../common/flowchart/service/inspector-service";
|
9
|
+
import { KeyboardService } from "../../common/flowchart/service/keyboard-service";
|
10
|
+
import RappidService from '../../common/flowchart/service/kitchensink-service';
|
11
|
+
import { StencilService } from "../../common/flowchart/service/stencil-service";
|
12
|
+
import { ToolbarService } from "../../common/flowchart/service/toolbar-service";
|
13
|
+
import { ThemePicker } from "../../common/flowchart/themes/theme-picker";
|
14
|
+
import guidHelper from "../../common/helper/guidHelper";
|
15
|
+
import { QMSCKEditorDialogData } from "../../common/models/qms-ckeditor-dialog.model";
|
16
|
+
import { QMSCKEditorFlowchart } from "../../common/models/qms-ckeditor-flowchart.model";
|
17
|
+
import { QMSCKEditorSaveAsTemplate } from "../../common/models/qms-ckeditor-save-as-template.model";
|
18
|
+
import { QMSCKEditorConfirmComponent } from "../../common/module/confirm/qms-ckeditor-confirm.component";
|
19
|
+
import { QMSCKEditorToastService } from "../../common/toast/qms-ckeditor-toast.service";
|
20
|
+
import { QMSCKEditorBaseComponent } from "../../qms-ckeditor-base.component";
|
21
|
+
import { SaveTemplateComponent } from "../qms-ckeditor-bpmn/save-template/save-template.component";
|
22
|
+
import * as i0 from "@angular/core";
|
23
|
+
import * as i1 from "@angular/material/dialog";
|
24
|
+
import * as i2 from "../../../services/translation-registry.service";
|
25
|
+
import * as i3 from "../../services/qms-ckeditor-flowchart.service";
|
26
|
+
import * as i4 from "@angular/material/icon";
|
27
|
+
export class QMSCKEditorFlowchartComponent extends QMSCKEditorBaseComponent {
|
28
|
+
constructor(dialog, element, translate, flowchartService, dialogRef, data) {
|
29
|
+
super();
|
30
|
+
this.dialog = dialog;
|
31
|
+
this.element = element;
|
32
|
+
this.translate = translate;
|
33
|
+
this.flowchartService = flowchartService;
|
34
|
+
this.dialogRef = dialogRef;
|
35
|
+
this.data = data;
|
36
|
+
this.jsonContent = '';
|
37
|
+
this.id = '';
|
38
|
+
this.flowchart = new QMSCKEditorFlowchart();
|
39
|
+
this.flowchartTemplates = [];
|
40
|
+
this.id = data;
|
41
|
+
}
|
42
|
+
onMessage(event) {
|
43
|
+
if (event.data === FlowChartConst.KS_CHANGE_TEMPLATE) {
|
44
|
+
this.onChangeTemplate();
|
45
|
+
}
|
46
|
+
else if (event.data === FlowChartConst.KS_DELETE_TEMPLATE) {
|
47
|
+
this.onDeleteTemplate(this.LANG.BPMN.DELETE_TEMPLATE, this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_DELETE_TEMPLATE);
|
48
|
+
}
|
49
|
+
else if (event.data === FlowChartConst.MUST_SELECT_TEMPLATE) {
|
50
|
+
this.showInfoMessage(this.LANG.BPMN.SELECT_TEMPLATE, this.LANG.BPMN.SELECT_TEMPLATE_INFORMATION);
|
51
|
+
}
|
52
|
+
else if (event.data === FlowChartConst.KS_SAVE_AS_TEMPLATE) {
|
53
|
+
this.onSaveAsTemplate();
|
54
|
+
}
|
55
|
+
else if (event.data === FlowChartConst.KS_RESET_TEMPLATE) {
|
56
|
+
this.onResetTemplate();
|
57
|
+
}
|
58
|
+
}
|
59
|
+
ngOnInit() {
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
61
|
+
this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {
|
62
|
+
if (res) {
|
63
|
+
this.LANG = this.translate.getObjectLang(res);
|
64
|
+
}
|
65
|
+
});
|
66
|
+
if (this.id) {
|
67
|
+
this.jsonContent = yield this.getJsonContent(this.id);
|
68
|
+
}
|
69
|
+
this.rappid = new RappidService(this.element.nativeElement, new StencilService(), new ToolbarService(this.LANG), new InspectorService(), new HaloService(), new KeyboardService());
|
70
|
+
this.rappid.startRappid();
|
71
|
+
const themePicker = new ThemePicker({ mainView: this.rappid });
|
72
|
+
themePicker.render().$el.appendTo(document.getElementById('themepicker'));
|
73
|
+
if (this.jsonContent) {
|
74
|
+
this.rappid.graph.fromJSON(JSON.parse(this.jsonContent));
|
75
|
+
}
|
76
|
+
});
|
77
|
+
}
|
78
|
+
ngAfterViewInit() {
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
80
|
+
this.flowchartTemplates = yield this.getTemplates();
|
81
|
+
this.initializeTemplates(this.flowchartTemplates);
|
82
|
+
});
|
83
|
+
}
|
84
|
+
getJsonContent(id) {
|
85
|
+
return __awaiter(this, void 0, void 0, function* () {
|
86
|
+
return new Promise((resolve) => {
|
87
|
+
this.flowchartService
|
88
|
+
.getFlowchartById(id)
|
89
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
90
|
+
.subscribe((result) => {
|
91
|
+
if (result) {
|
92
|
+
resolve(result.jsonContent);
|
93
|
+
}
|
94
|
+
});
|
95
|
+
});
|
96
|
+
});
|
97
|
+
}
|
98
|
+
getTemplates() {
|
99
|
+
return __awaiter(this, void 0, void 0, function* () {
|
100
|
+
return new Promise((resolve) => {
|
101
|
+
this.flowchartService
|
102
|
+
.flowchartGetTemplates()
|
103
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
104
|
+
.subscribe((result) => {
|
105
|
+
resolve(result);
|
106
|
+
});
|
107
|
+
});
|
108
|
+
});
|
109
|
+
}
|
110
|
+
initializeTemplates(templates) {
|
111
|
+
if (templates) {
|
112
|
+
this.toolbarConfig = this.rappid.toolbarService.toolbar;
|
113
|
+
const arrSelect = this.toolbarConfig.tools.filter((item) => {
|
114
|
+
return item.type === 'select-box';
|
115
|
+
});
|
116
|
+
if (arrSelect) {
|
117
|
+
templates.forEach((item) => {
|
118
|
+
const option = {
|
119
|
+
index: item.index,
|
120
|
+
content: item.templateName,
|
121
|
+
flowChartId: item.id,
|
122
|
+
name: item.templateName,
|
123
|
+
jsonContent: item.jsonContent,
|
124
|
+
selected: false
|
125
|
+
};
|
126
|
+
const index = arrSelect[0].options.findIndex((x) => {
|
127
|
+
return x.index === option.index;
|
128
|
+
});
|
129
|
+
if (index < 0) {
|
130
|
+
arrSelect[0].options.push(option);
|
131
|
+
}
|
132
|
+
});
|
133
|
+
}
|
134
|
+
}
|
135
|
+
}
|
136
|
+
addItem2Template(template) {
|
137
|
+
this.toolbarConfig = this.rappid.toolbarService.toolbar;
|
138
|
+
const arrSelect = this.toolbarConfig.tools.filter((item) => {
|
139
|
+
return item.type === 'select-box';
|
140
|
+
});
|
141
|
+
if (arrSelect) {
|
142
|
+
const option = {
|
143
|
+
index: 1,
|
144
|
+
content: template.templateName,
|
145
|
+
flowChartId: template.id,
|
146
|
+
name: template.templateName,
|
147
|
+
jsonContent: template.jsonContent,
|
148
|
+
selected: false
|
149
|
+
};
|
150
|
+
arrSelect[0].options.push(option);
|
151
|
+
}
|
152
|
+
}
|
153
|
+
removeSelectedValue(flowChartId) {
|
154
|
+
this.toolbarConfig = this.rappid.toolbarService.toolbar;
|
155
|
+
const arrSelect = this.toolbarConfig.tools.filter((item) => {
|
156
|
+
return item.type === 'select-box';
|
157
|
+
});
|
158
|
+
if (arrSelect) {
|
159
|
+
arrSelect[0].options.splice(arrSelect[0].options.findIndex((i) => {
|
160
|
+
return i.flowChartId === flowChartId;
|
161
|
+
}), 1);
|
162
|
+
}
|
163
|
+
}
|
164
|
+
setDefaultSelectedValue() {
|
165
|
+
this.toolbarConfig = this.rappid.toolbarService.toolbar;
|
166
|
+
const arrSelect = this.toolbarConfig.tools.filter((item) => {
|
167
|
+
return item.type === 'select-box';
|
168
|
+
});
|
169
|
+
if (arrSelect) {
|
170
|
+
arrSelect[0].options[0].selected = true;
|
171
|
+
const list = document.getElementsByClassName(`select-box-selection`)[0];
|
172
|
+
list.getElementsByClassName(`select-box-option-content`)[0].innerHTML = FlowChartConst.SELECT_TEMPLATE;
|
173
|
+
}
|
174
|
+
}
|
175
|
+
saveImageContent() {
|
176
|
+
return __awaiter(this, void 0, void 0, function* () {
|
177
|
+
return new Promise((resolve) => {
|
178
|
+
const jsonContent = this.rappid.getJsonContent();
|
179
|
+
this.flowchart = {
|
180
|
+
id: this.id ? this.id : guidHelper.empty,
|
181
|
+
jsonContent: jsonContent,
|
182
|
+
isTemplate: false,
|
183
|
+
templateName: ''
|
184
|
+
};
|
185
|
+
this.flowchartService
|
186
|
+
.flowchartModifying(this.flowchart)
|
187
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
188
|
+
.subscribe((result) => {
|
189
|
+
if (result) {
|
190
|
+
resolve(result);
|
191
|
+
}
|
192
|
+
});
|
193
|
+
});
|
194
|
+
});
|
195
|
+
}
|
196
|
+
onInsertImage() {
|
197
|
+
return __awaiter(this, void 0, void 0, function* () {
|
198
|
+
const id = yield this.saveImageContent();
|
199
|
+
const imageContent = yield this.rappid.getImageContent();
|
200
|
+
const result = { key: `${CKEditorEventConst.QMSCK_FLOWCHART}#${id}`, values: imageContent };
|
201
|
+
this.dialogRef.close(result);
|
202
|
+
});
|
203
|
+
}
|
204
|
+
onChangeTemplate() {
|
205
|
+
const jsonTemplate = window[FlowChartConst.KS_SELECTED_JSONCONTENT] ? window[FlowChartConst.KS_SELECTED_JSONCONTENT] : '';
|
206
|
+
if (!window[FlowChartConst.KS_IS_SELECTED_TEMPLATE]) {
|
207
|
+
window[FlowChartConst.KS_ORG_JSONCONTENT] = JSON.stringify(this.rappid.graph.toJSON());
|
208
|
+
window[FlowChartConst.KS_IS_SELECTED_TEMPLATE] = true;
|
209
|
+
}
|
210
|
+
if (jsonTemplate) {
|
211
|
+
this.rappid.graph.fromJSON(JSON.parse(jsonTemplate));
|
212
|
+
}
|
213
|
+
}
|
214
|
+
onDeleteTemplate(title, content) {
|
215
|
+
const data = new QMSCKEditorDialogData();
|
216
|
+
data.title = title;
|
217
|
+
data.content = content;
|
218
|
+
const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {
|
219
|
+
width: '500px',
|
220
|
+
minHeight: '175px',
|
221
|
+
data
|
222
|
+
});
|
223
|
+
dialogRef
|
224
|
+
.afterClosed()
|
225
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
226
|
+
.subscribe((result) => {
|
227
|
+
if (result) {
|
228
|
+
const id = window[FlowChartConst.KS_SELECTED_FLOWCHART_ID];
|
229
|
+
this.flowchartService
|
230
|
+
.flowchartDeleteTemplate(id)
|
231
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
232
|
+
.subscribe((result) => {
|
233
|
+
if (result) {
|
234
|
+
this.removeSelectedValue(id);
|
235
|
+
this.setDefaultSelectedValue();
|
236
|
+
window[FlowChartConst.KS_IS_SELECTED_TEMPLATE] = false;
|
237
|
+
QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.DELETED);
|
238
|
+
}
|
239
|
+
else {
|
240
|
+
QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.DELETE_FAILED);
|
241
|
+
}
|
242
|
+
});
|
243
|
+
}
|
244
|
+
});
|
245
|
+
}
|
246
|
+
onSaveAsTemplate() {
|
247
|
+
const jsonContent = JSON.stringify(this.rappid.graph.toJSON());
|
248
|
+
let template = new QMSCKEditorFlowchart();
|
249
|
+
template = {
|
250
|
+
id: guidHelper.empty,
|
251
|
+
jsonContent: jsonContent,
|
252
|
+
isTemplate: true,
|
253
|
+
templateName: ''
|
254
|
+
};
|
255
|
+
let data = new QMSCKEditorSaveAsTemplate();
|
256
|
+
data.templateType = CKEditorEventConst.QMSCK_FLOWCHART;
|
257
|
+
data.flowchart = template;
|
258
|
+
const dialogTemplate = this.dialog.open(SaveTemplateComponent, {
|
259
|
+
width: '450px',
|
260
|
+
height: '220px',
|
261
|
+
data,
|
262
|
+
disableClose: true
|
263
|
+
});
|
264
|
+
dialogTemplate
|
265
|
+
.afterClosed()
|
266
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
267
|
+
.subscribe((result) => {
|
268
|
+
if (result) {
|
269
|
+
this.addItem2Template(result);
|
270
|
+
}
|
271
|
+
});
|
272
|
+
}
|
273
|
+
onResetTemplate() {
|
274
|
+
if (window[FlowChartConst.KS_IS_SELECTED_TEMPLATE]) {
|
275
|
+
const orgTemplate = window[FlowChartConst.KS_ORG_JSONCONTENT] ? window[FlowChartConst.KS_ORG_JSONCONTENT] : '';
|
276
|
+
if (orgTemplate) {
|
277
|
+
this.rappid.graph.fromJSON(JSON.parse(orgTemplate));
|
278
|
+
this.setDefaultSelectedValue();
|
279
|
+
window[FlowChartConst.KS_IS_SELECTED_TEMPLATE] = false;
|
280
|
+
}
|
281
|
+
}
|
282
|
+
}
|
283
|
+
showInfoMessage(title, content) {
|
284
|
+
const data = new QMSCKEditorDialogData();
|
285
|
+
data.title = title;
|
286
|
+
data.content = content;
|
287
|
+
data.isMessage = true;
|
288
|
+
const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {
|
289
|
+
width: '500px',
|
290
|
+
minHeight: '175px',
|
291
|
+
data
|
292
|
+
});
|
293
|
+
dialogRef
|
294
|
+
.afterClosed()
|
295
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
296
|
+
.subscribe((result) => {
|
297
|
+
if (result) {
|
298
|
+
//TODO
|
299
|
+
}
|
300
|
+
});
|
301
|
+
}
|
302
|
+
onCloseDialog() {
|
303
|
+
this.dialogRef.close();
|
304
|
+
}
|
305
|
+
}
|
306
|
+
QMSCKEditorFlowchartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: QMSCKEditorFlowchartComponent, deps: [{ token: i1.MatDialog }, { token: i0.ElementRef }, { token: i2.TranslateLibraryService }, { token: i3.QMSCKEditorFlowchartService }, { token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
307
|
+
QMSCKEditorFlowchartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: QMSCKEditorFlowchartComponent, selector: "qms-flowchart", host: { listeners: { "window:message": "onMessage($event)" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n id=\"qmsckeditor-flowchart\"\r\n class=\"qmsckeditor qmsckeditor__flowchart__container\"\r\n>\r\n <div id=\"qmsckeditor-flowchart-header\">\r\n <span\r\n id=\"qmsckeditor-flowchart-header_001\"\r\n mat-icon-button\r\n class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseDialog()\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <span\r\n id=\"qmsckeditor-flowchart-header_002\"\r\n mat-icon-button\r\n class=\"qmsckeditor button__done\"\r\n (click)=\"onInsertImage()\"\r\n >\r\n <mat-icon>done</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor-flowchart-header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor-flowchart_002_001\">{{ LANG.BPMN.FLOWCHART }}</h2>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"joint-app joint-theme-modern\">\r\n <div class=\"app-header\">\r\n <div class=\"app-title\">\r\n <h1>{{ LANG.BPMN.HANDBOOK }}</h1>\r\n </div>\r\n <div id=\"flowcharttoolbar\" class=\"toolbar-container\"></div>\r\n </div>\r\n <div class=\"app-body\">\r\n <div id=\"flowchartstencil\" class=\"stencil-container\"></div>\r\n <div class=\"paper-container\"></div>\r\n <div class=\"inspector-container\"></div>\r\n <div class=\"joint-navigator-container\"></div>\r\n <div id=\"themepicker\"></div>\r\n </div>\r\n</div>\r\n", styles: [".qmsckeditor__flowchart__container ::ng-deep .mat-dialog-content{padding:0}"], components: [{ type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
|
308
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: QMSCKEditorFlowchartComponent, decorators: [{
|
309
|
+
type: Component,
|
310
|
+
args: [{
|
311
|
+
selector: 'qms-flowchart',
|
312
|
+
templateUrl: './qms-ckeditor-flowchart.component.html',
|
313
|
+
styleUrls: ['./qms-ckeditor-flowchart.component.scss']
|
314
|
+
}]
|
315
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i0.ElementRef }, { type: i2.TranslateLibraryService }, { type: i3.QMSCKEditorFlowchartService }, { type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
316
|
+
type: Inject,
|
317
|
+
args: [MAT_DIALOG_DATA]
|
318
|
+
}] }]; }, propDecorators: { onMessage: [{
|
319
|
+
type: HostListener,
|
320
|
+
args: ['window:message', ['$event']]
|
321
|
+
}] } });
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLWZsb3djaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWZsb3djaGFydC9xbXMtY2tlZGl0b3ItZmxvd2NoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItZmxvd2NoYXJ0L3Ftcy1ja2VkaXRvci1mbG93Y2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUEyQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEYsT0FBTyxhQUFhLE1BQU0sb0RBQW9ELENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNoRixPQUFP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RUQsZUFBZSxDQUFDLEtBQWEsRUFBRSxPQUFlO1FBQzVDLE1BQU0sSUFBSSxHQUEwQixJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDaEUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDOUQsS0FBSyxFQUFFLE9BQU87WUFDZCxTQUFTLEVBQUUsT0FBTztZQUNsQixJQUFJO1NBQ0wsQ0FBQyxDQUFDO1FBQ0gsU0FBUzthQUNOLFdBQVcsRUFBRTthQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BCLElBQUksTUFBTSxFQUFFO2dCQUNWLE1BQU07YUFDUDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7OzBIQS9TVSw2QkFBNkIsbUxBZTlCLGVBQWU7OEdBZmQsNkJBQTZCLDRJQzlCMUMscTFDQXlDQTsyRkRYYSw2QkFBNkI7a0JBTnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFdBQVcsRUFBRSx5Q0FBeUM7b0JBQ3RELFNBQVMsRUFBRSxDQUFDLHlDQUF5QyxDQUFDO2lCQUN2RDs7MEJBaUJJLE1BQU07MkJBQUMsZUFBZTs0Q0FNekIsU0FBUztzQkFEUixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXJlZ2lzdHJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ0tFZGl0b3JFdmVudENvbnN0IH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb25zdGFudHMvY2tlZGl0b3JFdmVudC5jb25zdGFudFwiO1xyXG5pbXBvcnQgeyBGbG93Q2hhcnRDb25zdCB9IGZyb20gXCIuLi8uLi9jb21tb24vY29uc3RhbnRzL2NrZWRpdG9yRmxvd2NoYXJ0LmNvbnN0XCI7XHJcbmltcG9ydCB7IEhhbG9TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9mbG93Y2hhcnQvc2VydmljZS9oYWxvLXNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSW5zcGVjdG9yU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb21tb24vZmxvd2NoYXJ0L3NlcnZpY2UvaW5zcGVjdG9yLXNlcnZpY2VcIjtcclxuaW1wb3J0IHsgS2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9mbG93Y2hhcnQvc2VydmljZS9rZXlib2FyZC1zZXJ2aWNlXCI7XHJcbmltcG9ydCBSYXBwaWRTZXJ2aWNlIGZyb20gJy4uLy4uL2NvbW1vbi9mbG93Y2hhcnQvc2VydmljZS9raXRjaGVuc2luay1zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RlbmNpbFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29tbW9uL2Zsb3djaGFydC9zZXJ2aWNlL3N0ZW5jaWwtc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUb29sYmFyU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb21tb24vZmxvd2NoYXJ0L3NlcnZpY2UvdG9vbGJhci1zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRoZW1lUGlja2VyIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9mbG93Y2hhcnQvdGhlbWVzL3RoZW1lLXBpY2tlclwiO1xyXG5pbXBvcnQgZ3VpZEhlbHBlciBmcm9tIFwiLi4vLi4vY29tbW9uL2hlbHBlci9ndWlkSGVscGVyXCI7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yRGlhbG9nRGF0YSB9IGZyb20gXCIuLi8uLi9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1kaWFsb2cubW9kZWxcIjtcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JGbG93Y2hhcnRUZW1wbGF0ZSB9IGZyb20gXCIuLi8uLi9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1mbG93Y2hhcnQtdGVtcGxhdGUubW9kZWxcIjtcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JGbG93Y2hhcnQgfSBmcm9tIFwiLi4vLi4vY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItZmxvd2NoYXJ0Lm1vZGVsXCI7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yU2F2ZUFzVGVtcGxhdGUgfSBmcm9tIFwiLi4vLi4vY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3Itc2F2ZS1hcy10ZW1wbGF0ZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckNvbmZpcm1Db21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tbW9uL21vZHVsZS9jb25maXJtL3Ftcy1ja2VkaXRvci1jb25maXJtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclRvYXN0U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb21tb24vdG9hc3QvcW1zLWNrZWRpdG9yLXRvYXN0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JCYXNlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL3Ftcy1ja2VkaXRvci1iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckZsb3djaGFydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvcW1zLWNrZWRpdG9yLWZsb3djaGFydC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNhdmVUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuLi9xbXMtY2tlZGl0b3ItYnBtbi9zYXZlLXRlbXBsYXRlL3NhdmUtdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Ftcy1mbG93Y2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xbXMtY2tlZGl0b3ItZmxvd2NoYXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9xbXMtY2tlZGl0b3ItZmxvd2NoYXJ0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBRTVNDS0VkaXRvckZsb3djaGFydENvbXBvbmVudCBleHRlbmRzIFFNU0NLRWRpdG9yQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgTEFORzogYW55O1xyXG4gIGpzb25Db250ZW50OiBzdHJpbmcgPSAnJztcclxuICByYXBwaWQ6IFJhcHBpZFNlcnZpY2U7XHJcbiAgaWQgPSAnJztcclxuICBmbG93Y2hhcnQ6IFFNU0NLRWRpdG9yRmxvd2NoYXJ0ID0gbmV3IFFNU0NLRWRpdG9yRmxvd2NoYXJ0KCk7XHJcbiAgZmxvd2NoYXJ0VGVtcGxhdGVzOiBRTVNDS0VkaXRvckZsb3djaGFydFRlbXBsYXRlW10gPSBbXTtcclxuICB0b29sYmFyQ29uZmlnOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgZmxvd2NoYXJ0U2VydmljZTogUU1TQ0tFZGl0b3JGbG93Y2hhcnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFFNU0NLRWRpdG9yRmxvd2NoYXJ0Q29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogc3RyaW5nKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5pZCA9IGRhdGE7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bWVzc2FnZScsIFsnJGV2ZW50J10pXHJcbiAgb25NZXNzYWdlKGV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuZGF0YSA9PT0gRmxvd0NoYXJ0Q29uc3QuS1NfQ0hBTkdFX1RFTVBMQVRFKSB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2VUZW1wbGF0ZSgpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXZlbnQuZGF0YSA9PT0gRmxvd0NoYXJ0Q29uc3QuS1NfREVMRVRFX1RFTVBMQVRFKSB7XHJcbiAgICAgIHRoaXMub25EZWxldGVUZW1wbGF0ZSh0aGlzLkxBTkcuQlBNTi5ERUxFVEVfVEVNUExBVEUsIHRoaXMuTEFORy5RTVNDS0VESVRPUl9NRVNTQUdFLkNPTkZJUk1fREVMRVRFX1RFTVBMQVRFKVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXZlbnQuZGF0YSA9PT0gRmxvd0NoYXJ0Q29uc3QuTVVTVF9TRUxFQ1RfVEVNUExBVEUpIHtcclxuICAgICAgdGhpcy5zaG93SW5mb01lc3NhZ2UodGhpcy5MQU5HLkJQTU4uU0VMRUNUX1RFTVBMQVRFLCB0aGlzLkxBTkcuQlBNTi5TRUxFQ1RfVEVNUExBVEVfSU5GT1JNQVRJT04pO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXZlbnQuZGF0YSA9PT0gRmxvd0NoYXJ0Q29uc3QuS1NfU0FWRV9BU19URU1QTEFURSkge1xyXG4gICAgICB0aGlzLm9uU2F2ZUFzVGVtcGxhdGUoKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGV2ZW50LmRhdGEgPT09IEZsb3dDaGFydENvbnN0LktTX1JFU0VUX1RFTVBMQVRFKSB7XHJcbiAgICAgIHRoaXMub25SZXNldFRlbXBsYXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMudHJhbnNsYXRlLmdldExhbmd1YWdlU3ViamVjdCQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5MQU5HID0gdGhpcy50cmFuc2xhdGUuZ2V0T2JqZWN0TGFuZyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5pZCkge1xyXG4gICAgICB0aGlzLmpzb25Db250ZW50ID0gYXdhaXQgdGhpcy5nZXRKc29uQ29udGVudCh0aGlzLmlkKTtcclxuICAgIH1cclxuICAgIHRoaXMucmFwcGlkID0gbmV3IFJhcHBpZFNlcnZpY2UoXHJcbiAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICBuZXcgU3RlbmNpbFNlcnZpY2UoKSxcclxuICAgICAgbmV3IFRvb2xiYXJTZXJ2aWNlKHRoaXMuTEFORyksXHJcbiAgICAgIG5ldyBJbnNwZWN0b3JTZXJ2aWNlKCksXHJcbiAgICAgIG5ldyBIYWxvU2VydmljZSgpLFxyXG4gICAgICBuZXcgS2V5Ym9hcmRTZXJ2aWNlKClcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5yYXBwaWQuc3RhcnRSYXBwaWQoKTtcclxuXHJcbiAgICBjb25zdCB0aGVtZVBpY2tlciA9IG5ldyBUaGVtZVBpY2tlcih7IG1haW5WaWV3OiB0aGlzLnJhcHBpZCB9KTtcclxuICAgIHRoZW1lUGlja2VyLnJlbmRlcigpLiRlbC5hcHBlbmRUbyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGhlbWVwaWNrZXInKSk7XHJcblxyXG4gICAgaWYgKHRoaXMuanNvbkNvbnRlbnQpIHtcclxuICAgICAgdGhpcy5yYXBwaWQuZ3JhcGguZnJvbUpTT04oSlNPTi5wYXJzZSh0aGlzLmpzb25Db250ZW50KSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ0FmdGVyVmlld0luaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmZsb3djaGFydFRlbXBsYXRlcyA9IGF3YWl0IHRoaXMuZ2V0VGVtcGxhdGVzKCk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVUZW1wbGF0ZXModGhpcy5mbG93Y2hhcnRUZW1wbGF0ZXMpO1xyXG4gIH1cclxuXHJcblxyXG4gIGFzeW5jIGdldEpzb25Db250ZW50KGlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIHRoaXMuZmxvd2NoYXJ0U2VydmljZVxyXG4gICAgICAgIC5nZXRGbG93Y2hhcnRCeUlkKGlkKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0Lmpzb25Db250ZW50KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRUZW1wbGF0ZXMoKTogUHJvbWlzZTxRTVNDS0VkaXRvckZsb3djaGFydFRlbXBsYXRlW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICB0aGlzLmZsb3djaGFydFNlcnZpY2VcclxuICAgICAgICAuZmxvd2NoYXJ0R2V0VGVtcGxhdGVzKClcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xyXG4gICAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZVRlbXBsYXRlcyh0ZW1wbGF0ZXM6IFFNU0NLRWRpdG9yRmxvd2NoYXJ0VGVtcGxhdGVbXSkge1xyXG4gICAgaWYgKHRlbXBsYXRlcykge1xyXG4gICAgICB0aGlzLnRvb2xiYXJDb25maWcgPSB0aGlzLnJhcHBpZC50b29sYmFyU2VydmljZS50b29sYmFyO1xyXG4gICAgICBjb25zdCBhcnJTZWxlY3QgPSB0aGlzLnRvb2xiYXJDb25maWcudG9vbHMuZmlsdGVyKChpdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gJ3NlbGVjdC1ib3gnO1xyXG4gICAgICB9KTtcclxuICAgICAgaWYgKGFyclNlbGVjdCkge1xyXG4gICAgICAgIHRlbXBsYXRlcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBvcHRpb24gPSB7XHJcbiAgICAgICAgICAgIGluZGV4OiBpdGVtLmluZGV4LFxyXG4gICAgICAgICAgICBjb250ZW50OiBpdGVtLnRlbXBsYXRlTmFtZSxcclxuICAgICAgICAgICAgZmxvd0NoYXJ0SWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgICAgIG5hbWU6IGl0ZW0udGVtcGxhdGVOYW1lLFxyXG4gICAgICAgICAgICBqc29uQ29udGVudDogaXRlbS5qc29uQ29udGVudCxcclxuICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgY29uc3QgaW5kZXggPSBhcnJTZWxlY3RbMF0ub3B0aW9ucy5maW5kSW5kZXgoKHgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHguaW5kZXggPT09IG9wdGlvbi5pbmRleDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaWYgKGluZGV4IDwgMCkge1xyXG4gICAgICAgICAgICBhcnJTZWxlY3RbMF0ub3B0aW9ucy5wdXNoKG9wdGlvbik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZEl0ZW0yVGVtcGxhdGUodGVtcGxhdGU/OiBRTVNDS0VkaXRvckZsb3djaGFydFRlbXBsYXRlKSB7XHJcbiAgICB0aGlzLnRvb2xiYXJDb25maWcgPSB0aGlzLnJhcHBpZC50b29sYmFyU2VydmljZS50b29sYmFyO1xyXG4gICAgY29uc3QgYXJyU2VsZWN0ID0gdGhpcy50b29sYmFyQ29uZmlnLnRvb2xzLmZpbHRlcigoaXRlbSkgPT4ge1xyXG4gICAgICByZXR1cm4gaXRlbS50eXBlID09PSAnc2VsZWN0LWJveCc7XHJcbiAgICB9KTtcclxuICAgIGlmIChhcnJTZWxlY3QpIHtcclxuICAgICAgY29uc3Qgb3B0aW9uID0ge1xyXG4gICAgICAgIGluZGV4OiAxLFxyXG4gICAgICAgIGNvbnRlbnQ6IHRlbXBsYXRlLnRlbXBsYXRlTmFtZSxcclxuICAgICAgICBmbG93Q2hhcnRJZDogdGVtcGxhdGUuaWQsXHJcbiAgICAgICAgbmFtZTogdGVtcGxhdGUudGVtcGxhdGVOYW1lLFxyXG4gICAgICAgIGpzb25Db250ZW50OiB0ZW1wbGF0ZS5qc29uQ29udGVudCxcclxuICAgICAgICBzZWxlY3RlZDogZmFsc2VcclxuICAgICAgfTtcclxuICAgICAgYXJyU2VsZWN0WzBdLm9wdGlvbnMucHVzaChvcHRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlU2VsZWN0ZWRWYWx1ZShmbG93Q2hhcnRJZD86IHN0cmluZykge1xyXG4gICAgdGhpcy50b29sYmFyQ29uZmlnID0gdGhpcy5yYXBwaWQudG9vbGJhclNlcnZpY2UudG9vbGJhcjtcclxuICAgIGNvbnN0IGFyclNlbGVjdCA9IHRoaXMudG9vbGJhckNvbmZpZy50b29scy5maWx0ZXIoKGl0ZW0pID0+IHtcclxuICAgICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gJ3NlbGVjdC1ib3gnO1xyXG4gICAgfSk7XHJcbiAgICBpZiAoYXJyU2VsZWN0KSB7XHJcbiAgICAgIGFyclNlbGVjdFswXS5vcHRpb25zLnNwbGljZShcclxuICAgICAgICBhcnJTZWxlY3RbMF0ub3B0aW9ucy5maW5kSW5kZXgoKGkpID0+IHtcclxuICAgICAgICAgIHJldHVybiBpLmZsb3dDaGFydElkID09PSBmbG93Q2hhcnRJZDtcclxuICAgICAgICB9KSxcclxuICAgICAgICAxXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0U2VsZWN0ZWRWYWx1ZSgpIHtcclxuICAgIHRoaXMudG9vbGJhckNvbmZpZyA9IHRoaXMucmFwcGlkLnRvb2xiYXJTZXJ2aWNlLnRvb2xiYXI7XHJcbiAgICBjb25zdCBhcnJTZWxlY3QgPSB0aGlzLnRvb2xiYXJDb25maWcudG9vbHMuZmlsdGVyKChpdGVtKSA9PiB7XHJcbiAgICAgIHJldHVybiBpdGVtLnR5cGUgPT09ICdzZWxlY3QtYm94JztcclxuICAgIH0pO1xyXG4gICAgaWYgKGFyclNlbGVjdCkge1xyXG4gICAgICBhcnJTZWxlY3RbMF0ub3B0aW9uc1swXS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgIGNvbnN0IGxpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGBzZWxlY3QtYm94LXNlbGVjdGlvbmApWzBdO1xyXG4gICAgICBsaXN0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYHNlbGVjdC1ib3gtb3B0aW9uLWNvbnRlbnRgKVswXS5pbm5lckhUTUwgPSBGbG93Q2hhcnRDb25zdC5TRUxFQ1RfVEVNUExBVEU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBzYXZlSW1hZ2VDb250ZW50KCkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGNvbnN0IGpzb25Db250ZW50ID0gdGhpcy5yYXBwaWQuZ2V0SnNvbkNvbnRlbnQoKTtcclxuICAgICAgdGhpcy5mbG93Y2hhcnQgPSB7XHJcbiAgICAgICAgaWQ6IHRoaXMuaWQgPyB0aGlzLmlkIDogZ3VpZEhlbHBlci5lbXB0eSxcclxuICAgICAgICBqc29uQ29udGVudDoganNvbkNvbnRlbnQsXHJcbiAgICAgICAgaXNUZW1wbGF0ZTogZmFsc2UsXHJcbiAgICAgICAgdGVtcGxhdGVOYW1lOiAnJ1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmZsb3djaGFydFNlcnZpY2VcclxuICAgICAgICAuZmxvd2NoYXJ0TW9kaWZ5aW5nKHRoaXMuZmxvd2NoYXJ0KVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBhc3luYyBvbkluc2VydEltYWdlKCkge1xyXG4gICAgY29uc3QgaWQgPSBhd2FpdCB0aGlzLnNhdmVJbWFnZUNvbnRlbnQoKTtcclxuICAgIGNvbnN0IGltYWdlQ29udGVudCA9IGF3YWl0IHRoaXMucmFwcGlkLmdldEltYWdlQ29udGVudCgpO1xyXG4gICAgY29uc3QgcmVzdWx0ID0geyBrZXk6IGAke0NLRWRpdG9yRXZlbnRDb25zdC5RTVNDS19GTE9XQ0hBUlR9IyR7aWR9YCwgdmFsdWVzOiBpbWFnZUNvbnRlbnQgfVxyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlVGVtcGxhdGUoKSB7XHJcbiAgICBjb25zdCBqc29uVGVtcGxhdGUgPSB3aW5kb3dbRmxvd0NoYXJ0Q29uc3QuS1NfU0VMRUNURURfSlNPTkNPTlRFTlRdID8gd2luZG93W0Zsb3dDaGFydENvbnN0LktTX1NFTEVDVEVEX0pTT05DT05URU5UXSA6ICcnO1xyXG4gICAgaWYgKCF3aW5kb3dbRmxvd0NoYXJ0Q29uc3QuS1NfSVNfU0VMRUNURURfVEVNUExBVEVdKSB7XHJcbiAgICAgIHdpbmRvd1tGbG93Q2hhcnRDb25zdC5LU19PUkdfSlNPTkNPTlRFTlRdID0gSlNPTi5zdHJpbmdpZnkodGhpcy5yYXBwaWQuZ3JhcGgudG9KU09OKCkpO1xyXG4gICAgICB3aW5kb3dbRmxvd0NoYXJ0Q29uc3QuS1NfSVNfU0VMRUNURURfVEVNUExBVEVdID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmIChqc29uVGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5yYXBwaWQuZ3JhcGguZnJvbUpTT04oSlNPTi5wYXJzZShqc29uVGVtcGxhdGUpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRGVsZXRlVGVtcGxhdGUodGl0bGU6IHN0cmluZywgY29udGVudDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBkYXRhOiBRTVNDS0VkaXRvckRpYWxvZ0RhdGEgPSBuZXcgUU1TQ0tFZGl0b3JEaWFsb2dEYXRhKCk7XHJcbiAgICBkYXRhLnRpdGxlID0gdGl0bGU7XHJcbiAgICBkYXRhLmNvbnRlbnQgPSBjb250ZW50O1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihRTVNDS0VkaXRvckNvbmZpcm1Db21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6ICc1MDBweCcsXHJcbiAgICAgIG1pbkhlaWdodDogJzE3NXB4JyxcclxuICAgICAgZGF0YVxyXG4gICAgfSk7XHJcbiAgICBkaWFsb2dSZWZcclxuICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgY29uc3QgaWQgPSB3aW5kb3dbRmxvd0NoYXJ0Q29uc3QuS1NfU0VMRUNURURfRkxPV0NIQVJUX0lEXTtcclxuICAgICAgICAgIHRoaXMuZmxvd2NoYXJ0U2VydmljZVxyXG4gICAgICAgICAgICAuZmxvd2NoYXJ0RGVsZXRlVGVtcGxhdGUoaWQpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRWYWx1ZShpZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldERlZmF1bHRTZWxlY3RlZFZhbHVlKCk7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3dbRmxvd0NoYXJ0Q29uc3QuS1NfSVNfU0VMRUNURURfVEVNUExBVEVdID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBRTVNDS0VkaXRvclRvYXN0U2VydmljZS5zdWNjZXNzKHRoaXMuTEFORy5RTVNDS0VESVRPUi5ERUxFVEVEKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBRTVNDS0VkaXRvclRvYXN0U2VydmljZS5lcnJvcih0aGlzLkxBTkcuUU1TQ0tFRElUT1IuREVMRVRFX0ZBSUxFRCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblNhdmVBc1RlbXBsYXRlKCkge1xyXG4gICAgY29uc3QganNvbkNvbnRlbnQgPSBKU09OLnN0cmluZ2lmeSh0aGlzLnJhcHBpZC5ncmFwaC50b0pTT04oKSk7XHJcbiAgICBsZXQgdGVtcGxhdGUgPSBuZXcgUU1TQ0tFZGl0b3JGbG93Y2hhcnQoKTtcclxuICAgIHRlbXBsYXRlID0ge1xyXG4gICAgICBpZDogZ3VpZEhlbHBlci5lbXB0eSxcclxuICAgICAganNvbkNvbnRlbnQ6IGpzb25Db250ZW50LFxyXG4gICAgICBpc1RlbXBsYXRlOiB0cnVlLFxyXG4gICAgICB0ZW1wbGF0ZU5hbWU6ICcnXHJcbiAgICB9XHJcbiAgICBsZXQgZGF0YSA9IG5ldyBRTVNDS0VkaXRvclNhdmVBc1RlbXBsYXRlKCk7XHJcbiAgICBkYXRhLnRlbXBsYXRlVHlwZSA9IENLRWRpdG9yRXZlbnRDb25zdC5RTVNDS19GTE9XQ0hBUlQ7XHJcbiAgICBkYXRhLmZsb3djaGFydCA9IHRlbXBsYXRlO1xyXG4gICAgY29uc3QgZGlhbG9nVGVtcGxhdGUgPSB0aGlzLmRpYWxvZy5vcGVuKFNhdmVUZW1wbGF0ZUNvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogJzQ1MHB4JyxcclxuICAgICAgaGVpZ2h0OiAnMjIwcHgnLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nVGVtcGxhdGVcclxuICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgdGhpcy5hZGRJdGVtMlRlbXBsYXRlKHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uUmVzZXRUZW1wbGF0ZSgpIHtcclxuICAgIGlmICh3aW5kb3dbRmxvd0NoYXJ0Q29uc3QuS1NfSVNfU0VMRUNURURfVEVNUExBVEVdKSB7XHJcbiAgICAgIGNvbnN0IG9yZ1RlbXBsYXRlID0gd2luZG93W0Zsb3dDaGFydENvbnN0LktTX09SR19KU09OQ09OVEVOVF0gPyB3aW5kb3dbRmxvd0NoYXJ0Q29uc3QuS1NfT1JHX0pTT05DT05URU5UXSA6ICcnO1xyXG4gICAgICBpZiAob3JnVGVtcGxhdGUpIHtcclxuICAgICAgICB0aGlzLnJhcHBpZC5ncmFwaC5mcm9tSlNPTihKU09OLnBhcnNlKG9yZ1RlbXBsYXRlKSk7XHJcbiAgICAgICAgdGhpcy5zZXREZWZhdWx0U2VsZWN0ZWRWYWx1ZSgpO1xyXG4gICAgICAgIHdpbmRvd1tGbG93Q2hhcnRDb25zdC5LU19JU19TRUxFQ1RFRF9URU1QTEFURV0gPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd0luZm9NZXNzYWdlKHRpdGxlOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgZGF0YTogUU1TQ0tFZGl0b3JEaWFsb2dEYXRhID0gbmV3IFFNU0NLRWRpdG9yRGlhbG9nRGF0YSgpO1xyXG4gICAgZGF0YS50aXRsZSA9IHRpdGxlO1xyXG4gICAgZGF0YS5jb250ZW50ID0gY29udGVudDtcclxuICAgIGRhdGEuaXNNZXNzYWdlID0gdHJ1ZTtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oUU1TQ0tFZGl0b3JDb25maXJtQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnNTAwcHgnLFxyXG4gICAgICBtaW5IZWlnaHQ6ICcxNzVweCcsXHJcbiAgICAgIGRhdGFcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nUmVmXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgIC8vVE9ET1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlRGlhbG9nKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGlkPVwicW1zY2tlZGl0b3ItZmxvd2NoYXJ0XCJcclxuICBjbGFzcz1cInFtc2NrZWRpdG9yIHFtc2NrZWRpdG9yX19mbG93Y2hhcnRfX2NvbnRhaW5lclwiXHJcbj5cclxuICA8ZGl2IGlkPVwicW1zY2tlZGl0b3ItZmxvd2NoYXJ0LWhlYWRlclwiPlxyXG4gICAgPHNwYW5cclxuICAgICAgaWQ9XCJxbXNja2VkaXRvci1mbG93Y2hhcnQtaGVhZGVyXzAwMVwiXHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICBjbGFzcz1cInFtc2NrZWRpdG9yIGJ1dHRvbl9fY2xvc2VcIlxyXG4gICAgICAoY2xpY2spPVwib25DbG9zZURpYWxvZygpXCJcclxuICAgID5cclxuICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxzcGFuXHJcbiAgICAgIGlkPVwicW1zY2tlZGl0b3ItZmxvd2NoYXJ0LWhlYWRlcl8wMDJcIlxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgY2xhc3M9XCJxbXNja2VkaXRvciBidXR0b25fX2RvbmVcIlxyXG4gICAgICAoY2xpY2spPVwib25JbnNlcnRJbWFnZSgpXCJcclxuICAgID5cclxuICAgICAgPG1hdC1pY29uPmRvbmU8L21hdC1pY29uPlxyXG4gICAgPC9zcGFuPlxyXG4gICAgPGRpdiBpZD1cInFtc2NrZWRpdG9yLWZsb3djaGFydC1oZWFkZXJfMDAyXCIgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgICA8aDIgaWQ9XCJxbXNja2VkaXRvci1mbG93Y2hhcnRfMDAyXzAwMVwiPnt7IExBTkcuQlBNTi5GTE9XQ0hBUlQgfX08L2gyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiam9pbnQtYXBwIGpvaW50LXRoZW1lLW1vZGVyblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJhcHAtaGVhZGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXBwLXRpdGxlXCI+XHJcbiAgICAgIDxoMT57eyBMQU5HLkJQTU4uSEFOREJPT0sgfX08L2gxPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGlkPVwiZmxvd2NoYXJ0dG9vbGJhclwiIGNsYXNzPVwidG9vbGJhci1jb250YWluZXJcIj48L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYXBwLWJvZHlcIj5cclxuICAgIDxkaXYgaWQ9XCJmbG93Y2hhcnRzdGVuY2lsXCIgY2xhc3M9XCJzdGVuY2lsLWNvbnRhaW5lclwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInBhcGVyLWNvbnRhaW5lclwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImluc3BlY3Rvci1jb250YWluZXJcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJqb2ludC1uYXZpZ2F0b3ItY29udGFpbmVyXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGlkPVwidGhlbWVwaWNrZXJcIj48L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|