qms-angular 1.0.30 → 1.0.34
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 +1099 -526
- package/bundles/qms-angular.umd.js.map +1 -1
- package/esm2015/lib/components/app-icon/app-icon.module.js +23 -0
- package/esm2015/lib/components/app-icon/icon-registry.service.js +47 -0
- package/esm2015/lib/components/breadcrumb/breadcrumb.js +47 -41
- package/esm2015/lib/components/breadcrumb/enum/dropdown-node-width.enum.js +6 -0
- package/esm2015/lib/components/button/button-toggle.js +1 -1
- package/esm2015/lib/components/dialog/constant.js +4 -2
- package/esm2015/lib/components/dialog/dialog.js +4 -4
- package/esm2015/lib/components/related/common/data-type.enum.js +2 -2
- package/esm2015/lib/components/related/common/qms-icon.const.js +21 -1
- package/esm2015/lib/components/related/common/tree.function.js +10 -5
- package/esm2015/lib/components/related/list-other-related/list-related.component.js +69 -8
- package/esm2015/lib/components/related/model/popup-data.model.js +2 -1
- package/esm2015/lib/components/related/model/related-data.model.js +1 -1
- package/esm2015/lib/components/related/model/selected-node.model.js +1 -1
- package/esm2015/lib/components/related/model/tree-config.model.js +1 -1
- package/esm2015/lib/components/related/model/tree-node.model.js +1 -1
- package/esm2015/lib/components/related/popup/related-popup.component.js +220 -27
- package/esm2015/lib/components/related/related.module.js +9 -5
- package/esm2015/lib/components/related/risk/analysis/analysis.component.js +1 -1
- package/esm2015/lib/components/related/service/related-global.service.js +5 -1
- package/esm2015/lib/components/related/tree/tree.component.js +38 -26
- package/esm2015/lib/components/table/table-action.js +2 -2
- package/esm2015/lib/directives/scrollbar/scrollbar.directive.js +8 -2
- package/esm2015/lib/model/en.js +7 -2
- package/esm2015/lib/model/no.js +7 -2
- package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.js +3 -1
- package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.js +1 -7
- package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.js +3 -1
- package/esm2015/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +5 -5
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.js +76 -0
- package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-tooltip.model.js +7 -0
- package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +72 -2
- package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +4 -2
- package/esm2015/public-api.js +3 -1
- package/esm2015/qms-angular.js +3 -1
- package/fesm2015/qms-angular.js +1185 -640
- package/fesm2015/qms-angular.js.map +1 -1
- package/lib/components/app-icon/app-icon.module.d.ts +2 -0
- package/lib/components/app-icon/icon-registry.service.d.ts +11 -0
- package/lib/components/breadcrumb/breadcrumb.d.ts +2 -0
- package/lib/components/breadcrumb/enum/dropdown-node-width.enum.d.ts +4 -0
- package/lib/components/related/common/data-type.enum.d.ts +1 -1
- package/lib/components/related/common/qms-icon.const.d.ts +4 -0
- package/lib/components/related/list-other-related/list-related.component.d.ts +8 -3
- package/lib/components/related/model/popup-data.model.d.ts +2 -0
- package/lib/components/related/model/related-data.model.d.ts +7 -2
- package/lib/components/related/model/selected-node.model.d.ts +1 -0
- package/lib/components/related/model/tree-config.model.d.ts +1 -0
- package/lib/components/related/model/tree-node.model.d.ts +1 -0
- package/lib/components/related/popup/related-popup.component.d.ts +22 -1
- package/lib/components/related/service/related-global.service.d.ts +2 -0
- package/lib/components/related/tree/tree.component.d.ts +10 -2
- package/lib/directives/scrollbar/scrollbar.directive.d.ts +1 -0
- package/lib/model/en.d.ts +6 -1
- package/lib/model/no.d.ts +6 -1
- package/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.d.ts +2 -0
- package/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.d.ts +6 -5
- package/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.d.ts +2 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.d.ts +36 -0
- package/lib/qms-ckeditor-components/models/qms-ckeditor-tooltip.model.d.ts +6 -0
- package/lib/qms-ckeditor-components/qms-ckeditor.component.d.ts +8 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/qms-angular.d.ts +2 -0
- package/qms-angular.metadata.json +1 -1
- package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +2 -1
- package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/az.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.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/en-au.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/fr.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/gl.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/hi.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/hr.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/hu.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/id.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/it.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ko.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ku.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/lv.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/ru.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/sk.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/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/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 +852 -2062
- package/src/assets/qms-ckeditor-plugin/package.json +26 -19
- package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +17 -5
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/findandreplace.js +132 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/findandreplaceediting.js +315 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/findandreplaceui.js +223 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/findcommand.js +90 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/findnextcommand.js +62 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/findpreviouscommand.js +28 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/index.js +10 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/replaceallcommand.js +54 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/replacecommand.js +66 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/ui/checkboxview.js +212 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/ui/findandreplaceformview.js +546 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/utils.js +158 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/theme/findandreplace.css +13 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/theme/findandreplaceform.css +226 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/theme/icons/find-replace.svg +1 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacters.js +4 -4
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersarrows.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterscurrency.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersessentials.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterslatin.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersmathematical.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterstext.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/ui/charactergridview.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/ui/characterinfoview.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/ui/specialcharactersnavigationview.js +2 -2
- package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorConstant.js +4 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorService.js +10 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorUtil.js +4 -3
- package/src/assets/qms-ckeditor-plugin/src/plugins/timestamp/timestamp.js +21 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/inserttooltipcommand.js +98 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/removetooltipcommand.js +41 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltip.js +14 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipediting.js +280 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipui.js +203 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/ui/actionsview.js +95 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/utils.js +70 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/icons/information.svg +50 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/tyles/tooltip.css +74 -0
- package/src/lib/components/breadcrumb/breadcrumb.scss +10 -1
- package/src/lib/components/button/button-toggle.scss +25 -1
- package/src/lib/components/dialog/dialog.scss +9 -0
- package/src/lib/components/related/list-other-related/list-related.component.scss +41 -5
- package/src/lib/components/related/popup/related-popup.component.scss +69 -0
- package/src/lib/components/related/tree/tree.component.scss +3 -3
- package/src/lib/components/table/table.scss +5 -27
- package/src/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.scss +11 -0
- package/src/lib/qms-ckeditor-components/qms-ckeditor.component.scss +29 -1
- package/src/lib/qms-ckeditor-components/styles/_modules.scss +10 -0
- package/src/themes/core/_form.scss +4 -0
- package/src/themes/core/_input.scss +8 -0
- package/src/themes/core/_scrollbar.scss +9 -2
- package/src/themes/core/_styles.scss +5 -0
- package/src/themes/core/_tab.scss +272 -6
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"qms-angular.umd.js","sources":["../../../projects/qms-angular/src/lib/qms-angular.service.ts","../../../projects/qms-angular/src/lib/model/en.ts","../../../projects/qms-angular/src/lib/model/no.ts","../../../projects/qms-angular/src/lib/services/translation-registry.service.ts","../../../projects/qms-angular/src/lib/qms-angular.component.ts","../../../projects/qms-angular/src/lib/components/comment/comment.ts","../../../projects/qms-angular/src/lib/components/dialog/dialog.ts","../../../projects/qms-angular/src/lib/components/suffix-field/suffix-field.directive.ts","../../../projects/qms-angular/src/lib/components/test-only/test-only.component.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-chip-list.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-field.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-select-dropdown.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-select-trigger.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-select-field.directive.ts","../../../projects/qms-angular/src/lib/directives/chips/chip-body.directive.ts","../../../projects/qms-angular/src/lib/directives/chips/chip.directive.ts","../../../projects/qms-angular/src/lib/directives/dropdown-menu/dropdown-item.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-attachment-list.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-display.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-multiple-display.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/qms-file-upload-attachment.model.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-multiple-selector.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-multiple.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-scrollable-attachment-list.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-selector.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload.directive.ts","../../../projects/qms-angular/src/lib/directives/form.directive.ts","../../../projects/qms-angular/src/lib/directives/margin.directive.ts","../../../projects/qms-angular/src/lib/directives/range-slider/range-slider-lockup.directive.ts","../../../projects/qms-angular/src/lib/directives/range-slider/range-slider.directive.ts","../../../projects/qms-angular/src/lib/directives/scroll-selected/scroll-to-selected.directive.ts","../../../projects/qms-angular/src/lib/directives/scrollbar/scrollbar.directive.ts","../../../projects/qms-angular/src/lib/directives/search-field.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer-content.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer-header-action.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer-header.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer.directive.ts","../../../projects/qms-angular/src/lib/directives/tab/tab-group-advanced.directive.ts","../../../projects/qms-angular/src/lib/directives/tab/tab-group.directive.ts","../../../projects/qms-angular/src/lib/directives/tab/tab-label.directive.ts","../../../projects/qms-angular/src/lib/directives/text-block/text-block-line.directive.ts","../../../projects/qms-angular/src/lib/directives/text-block/text-block.directive.ts","../../../projects/qms-angular/src/lib/directives/tooltip/tooltip-image.directive.ts","../../../projects/qms-angular/src/lib/components/tooltip/tooltip.ts","../../../projects/qms-angular/src/lib/directives/tooltip/tooltip-renderer.directive.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/qms-angular/src/lib/components/button/button-toggle.ts","../../../projects/qms-angular/src/lib/components/button/color.ts","../../../projects/qms-angular/src/lib/components/button/button.ts","../../../projects/qms-angular/src/lib/components/button/button.module.ts","../../../projects/qms-angular/src/lib/material-module.ts","../../../projects/qms-angular/src/lib/pipe/dateFormat.pipe.ts","../../../projects/qms-angular/src/lib/shared.module.ts","../../../projects/qms-angular/src/lib/qms-angular.module.ts","../../../projects/qms-angular/src/lib/components/list/list.ts","../../../projects/qms-angular/src/lib/components/list/list.module.ts","../../../projects/qms-angular/src/lib/components/rich-text/rich-text.ts","../../../projects/qms-angular/src/lib/components/rich-text/rich-text.module.ts","../../../projects/qms-angular/src/lib/components/edit-file-name-dialog/edit-file-name-dialog.ts","../../../projects/qms-angular/src/lib/components/edit-file-name-dialog/edit-file-name-dialog.module.ts","../../../projects/qms-angular/src/lib/components/upload-file-error-dialog/upload-file-error-dialog.ts","../../../projects/qms-angular/src/lib/components/upload-file-error-dialog/upload-file-error-dialog.module.ts","../../../projects/qms-angular/src/lib/components/related/common/data-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/content/related-content.component.ts","../../../projects/qms-angular/src/lib/components/related/common/module-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/common/related.const.ts","../../../projects/qms-angular/src/lib/components/related/model/popup-data.model.ts","../../../projects/qms-angular/src/lib/components/related/service/related-global.service.ts","../../../projects/qms-angular/src/lib/components/related/common/qms-icon.const.ts","../../../projects/qms-angular/src/lib/components/related/common/document-folder-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/common/item-icon-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/model/tree-node.model.ts","../../../projects/qms-angular/src/lib/components/related/common/tree.function.ts","../../../projects/qms-angular/src/lib/components/related/tree/tree.component.ts","../../../projects/qms-angular/src/lib/components/related/popup/related-popup.component.ts","../../../projects/qms-angular/src/lib/components/related/model/risk-analysis.model.ts","../../../projects/qms-angular/src/lib/components/related/risk/analysis/analysis.component.ts","../../../projects/qms-angular/src/lib/components/related/common/color.enum.ts","../../../projects/qms-angular/src/lib/components/related/model/risk-result.model.ts","../../../projects/qms-angular/src/lib/components/related/risk/result/result.component.ts","../../../projects/qms-angular/src/lib/components/related/model/sidenav.model.ts","../../../projects/qms-angular/src/lib/components/related/sidenav/sidenav.component.ts","../../../projects/qms-angular/src/lib/components/related/common/action-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/risk/list/list.component.ts","../../../projects/qms-angular/src/lib/components/related/list-other-related/list-related.component.ts","../../../projects/qms-angular/src/lib/components/related/related.module.ts","../../../projects/qms-angular/src/lib/components/related/model/tree.model.ts","../../../projects/qms-angular/src/lib/components/related/model/tree-config.model.ts","../../../projects/qms-angular/src/lib/components/related/model/risk-danger.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/qms-ckeditor-base.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-dialog.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/module/tree/qms-ckeditor-tree.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-global.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-base.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-link.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-parameter.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/module.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/link-anchor.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/link-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/protocol-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/target-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-relation.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-url.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/document-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-tree-node.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/functions/tree.function.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-injector.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/toast/qms-ckeditor-toast.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/models/qms-ckeditor-template.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckedtior-template.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/classes/uploadAdapter.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/functions/common.function.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/qms-ckeditor.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/qms-ckeditor.module.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-link-anchor-document.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-link-attachment.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-tree.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-plugin.model.ts","../../../projects/qms-angular/src/lib/components/qms-app-bar/qms-app-bar.component.ts","../../../projects/qms-angular/src/lib/components/qms-app-bar/qms-app-bar.module.ts","../../../projects/qms-angular/src/lib/components/qms-app-bar/qms-app-bar.model.ts","../../../projects/qms-angular/src/lib/components/dialog/constant.ts","../../../projects/qms-angular/src/lib/components/tooltip/tooltip.module.ts","../../../projects/qms-angular/src/lib/components/banner/models/qms-banner.model.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner/qms-banner.component.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner/qms-banner.module.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-loading/qms-banner-loading.component.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-loading/qms-banner-loading.module.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-confirm/qms-banner-confirm.component.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-confirm/qms-banner-confirm.module.ts","../../../projects/qms-angular/src/lib/components/table/table-action.ts","../../../projects/qms-angular/src/lib/components/table/table.module.ts","../../../projects/qms-angular/src/lib/common/qms-icon.const.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb-item.directive.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb-direction-icon.directive.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/model/breadcrumb-node.model.ts","../../../projects/qms-angular/src/lib/components/qms-stepper/qms-stepper.model.ts","../../../projects/qms-angular/src/lib/components/qms-stepper/qms-stepper.component.ts","../../../projects/qms-angular/src/lib/components/qms-stepper/qms-stepper.module.ts","../../../projects/qms-angular/src/lib/components/snackbar/snackbar.ts","../../../projects/qms-angular/src/public-api.ts","../../../projects/qms-angular/src/qms-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QmsAngularService {\r\n\r\n constructor() { }\r\n}\r\n","export const en = {\r\n \"MY_COMPONENT\": \"My component\",\r\n \"SAVE_BUTTON\": \"Save\",\r\n \"CANCEL_BUTTON\": \"Cancel\",\r\n \"DELETE_MESSAGE_COMMENT\": \"This message has been deleted.\",\r\n \"REGRET\": \"Regret\",\r\n \"EDIT\": \"Edit\",\r\n \"DELETE\": \"Delete\",\r\n \"SAVE\": \"Save\",\r\n \"CANCEL\": \"Cancel\",\r\n \"EDIT_FILE_NAME\": \"Edit file name\",\r\n \"FILE_NAME\": \"File name\",\r\n \"UPLOAD_LEAVE_WARNING\": \"Files you're uploading may not be saved.\",\r\n \"SOME_FILES_WERE_NOT_ADDED\": \"Some files were not added\",\r\n \"YOU_CAN_ONLY_ADD\": \"You can only upload\",\r\n \"SELECT\": \"Select\",\r\n \"PROCESSES\": \"Processes\",\r\n \"DOCUMENTS\": \"Documents\",\r\n \"DEVIATION\": \"Categories\",\r\n \"CHECKLIST\": \"Checklists\",\r\n \"ASSESSMENT\": \"Assessments\",\r\n \"ADD\": \"Add\",\r\n \"SEARCH\": \"Search\",\r\n \"REGULAR_TITLE\": \"What do you want to include in the risk assessment(s)?\",\r\n \"CAPTION_TITLE\": \"In causal assessments, all causes related to the event are automatically added.\",\r\n \"CAUSAL_ANALYZES\": \"Selected Assessments\",\r\n \"FINISHED\": \"Finished\",\r\n \"PROCESS_ID\": \"Process ID\",\r\n \"DOCUMENT_ID\": \"Document ID\",\r\n \"PROCESS_AREA\": \"Process area\",\r\n \"FOLDER\": \"Folder\",\r\n \"DEVIATION_TYPE\": \"Deviation type\",\r\n \"CHECKLIST_CATEGORY\": \"Categories\",\r\n \"EVENT\": \"Event\",\r\n \"AREA_OF_IMPACT\": \"Consequence Area\",\r\n \"RESULT\": \"Result\",\r\n \"NOT_ACCEPTED\": \"Not accepted\",\r\n \"MUST_BE_EVALUATED\": \"Must be evaluated\",\r\n \"ACCEPTED\": \"Accepted\",\r\n \"ARCHIVED\": \"Archived\",\r\n \"CAUSE\": \"Cause\",\r\n \"ERROR\": {\r\n \"SELECT_DANGER\": \"You must select one or more events\"\r\n },\r\n \"MESSAGE\": {\r\n\r\n }\r\n ,\r\n \"QMSCKEDITOR\": {\r\n \"TEMPLATE\": \"Template\",\r\n \"CONTENT_TEMPLATE\": \"Content Template\",\r\n \"CREATE_NEW_TEMPLATE\": \"Create new tempplate\",\r\n \"UPDATE_TEMPLATE\": \"Update tempplate\",\r\n \"TITLE\": \"Title\",\r\n \"DESCRIPTION\": \"Description\",\r\n \"SAVE\": \"Save\",\r\n \"CHOOSE_TEMPLATE\": \"Please select the template to open in the editor\",\r\n \"REPLACE_CONTENT\": \"Replace actual contents\",\r\n \"SAVED\": \"Saved\",\r\n \"SAVE_FAILED\": \"Save failed\",\r\n \"DELETE\": \"Delete\",\r\n \"DELETED\": \"Deleted\",\r\n \"DELETE_FAILED\": \"Delete failed\",\r\n \"DELETE_TEMPLATE\": \"Delete template\",\r\n \"CHANGE_TEMPLATE\": \"Change template\",\r\n \"CANCEL\": \"Cancel\",\r\n \"LINK\": \"Link\",\r\n \"LINK_TYPE\": \"Link type\",\r\n \"LINK_URL\": \"URL\",\r\n \"LINK_ANCHOR_IN_TEXT\": \"Link to anchor in the text\",\r\n \"LINK_EMAIL\": \"Email\",\r\n \"LINK_ANCHOR_DOCUMENT\": \"Anchor in other document\",\r\n \"TARGET\": \"Target\",\r\n \"TARTGET_NEW\": \"New Window (_blank)\",\r\n \"TARGET_TOPMOST\": \"Topmost Window (_top)\",\r\n \"TARGET_SAME\": \"Same Window (_self)\",\r\n \"TARGET_PARENT\": \"Parent Window (_parent)\",\r\n \"PROTOCOL\": \"Protocol\",\r\n \"PROTOCOL_HTTP\": \"http://\",\r\n \"PROTOCOL_HTTPS\": \"https://\",\r\n \"PROTOCOL_FTP\": \"ftp://\",\r\n \"PROTOCOL_NEW\": \"news://\",\r\n \"PROTOCOL_OTHER\": \"<other>\",\r\n \"ADVISORY_TITLE\": \"Advisory Title\",\r\n \"HANDBOOK\": \"eHandbook\",\r\n \"ATTACHMENT\": \"Attachment\",\r\n \"OK\": \"Ok\",\r\n \"URL_HEADER\": \"URL information\",\r\n \"ANCHOR_TEXT_HEADER\": \"Select an Anchor\",\r\n \"ANCHOR_BY_NAME\": \"Anchor by name\",\r\n \"EMAIL_HEADER\": \"Email information\",\r\n \"EMAIL_ADDRESS\": \"Address\",\r\n \"EMAIL_SUBJECT\": \"Subject\",\r\n \"EMAIL_BODY\": \"Body\",\r\n \"ANCHOR_ATTACHMENT\": \"Attachments\",\r\n \"ANCHOR_RELATED_DOCUMENT\": \"Related document\",\r\n \"ADD_DOCUMENT_PROCESS\": \"Add document/ process\",\r\n \"ADD_DOCUMENT\": \"Add document\",\r\n \"ADD\": \"Add\",\r\n \"PROCESSES\": \"Processes\",\r\n \"DOCUMENTS\": \"Documents\",\r\n \"UPDATE\": \"Update\",\r\n \"DOCUMENT\": \"Document\",\r\n \"CONFIRM\": \"Confirm\",\r\n \"SEARCH\": \"Search\",\r\n },\r\n \"QMSCKEDITOR_MESSAGE\": {\r\n \"CONFIRM_DELETE_TEMPLATE\": \"Are you sure you want to delete this template?\",\r\n \"CONFIRM_CHANGE_TEMPLATE\": \"Are you sure you want to apply this template to the editor?\"\r\n }\r\n}\r\n","export const no = {\r\n \"MY_COMPONENT\": \"Min komponent\",\r\n \"SAVE_BUTTON\": \"Lagre\",\r\n \"CANCEL_BUTTON\": \"Avbryt\",\r\n \"DELETE_MESSAGE_COMMENT\": \"Denne meldingen er slettet.\",\r\n \"REGRET\": \"Angre\",\r\n \"EDIT\": \"Rediger\",\r\n \"DELETE\": \"Slett\",\r\n \"SAVE\": \"Lagre\",\r\n \"CANCEL\": \"Avbryt\",\r\n \"EDIT_FILE_NAME\": \"Rediger filnavn\",\r\n \"FILE_NAME\": \"Filnavn\",\r\n \"UPLOAD_LEAVE_WARNING\": \"Filene du laster opp vil kanskje ikke bli lagret\",\r\n \"SOME_FILES_WERE_NOT_ADDED\": \"Noen filer ble ikke lagt til\",\r\n \"YOU_CAN_ONLY_ADD\": \"Du kan kun laste opp\",\r\n \"SELECT\": \"Velg\",\r\n \"PROCESSES\": \"Prosesser\",\r\n \"DOCUMENTS\": \"Dokumenter\",\r\n \"DEVIATION\": \"Kategorier\",\r\n \"CHECKLIST\": \"Sjekklister\",\r\n \"ASSESSMENT\": \"Analyser\",\r\n \"ADD\": \"Legg til\",\r\n \"SEARCH\": \"Søk\",\r\n \"REGULAR_TITLE\": \"Hva ønsker du å inkludere av hendeler i risikoanalysen(e)?\",\r\n \"CAPTION_TITLE\": \"I årsaksanalyser blir automatisk alle årsaker knyttet til hendelsen lagt til.\",\r\n \"CAUSAL_ANALYZES\": \"Valgte Analyser\",\r\n \"FINISHED\": \"Ferdig\",\r\n \"PROCESS_ID\": \"Prosess ID\",\r\n \"DOCUMENT_ID\": \"Dokument ID\",\r\n \"PROCESS_AREA\": \"Prosessområder\",\r\n \"FOLDER\": \"Mappe\",\r\n \"DEVIATION_TYPE\": \"Sakstype\",\r\n \"CHECKLIST_CATEGORY\": \"Kategorier\",\r\n \"EVENT\": \"Hendelse\",\r\n \"AREA_OF_IMPACT\": \"Konsekvensområde\",\r\n \"RESULT\": \"Resultat\",\r\n \"NOT_ACCEPTED\": \"Ikke akseptert\",\r\n \"MUST_BE_EVALUATED\": \"Må vurderes\",\r\n \"ACCEPTED\": \"Akseptert\",\r\n \"ARCHIVED\": \"Arkivert\",\r\n \"CAUSE\": \"Årsak\",\r\n \"ERROR\": {\r\n \"SELECT_DANGER\": \"Du må velge en eller flere hendelser\"\r\n },\r\n \"MESSAGE\": {\r\n\r\n },\r\n \"QMSCKEDITOR\": {\r\n \"TEMPLATE\": \"Mal\",\r\n \"CONTENT_TEMPLATE\": \"Innholdsmal\",\r\n \"CREATE_NEW_TEMPLATE\": \"Lag ny mal\",\r\n \"UPDATE_TEMPLATE\": \"Oppdater mal\",\r\n \"TITLE\": \"Tittel\",\r\n \"DESCRIPTION\": \"Beskrivelse\",\r\n \"SAVE\": \"Lagre\",\r\n \"CHOOSE_TEMPLATE\": \"Velg malen du vil åpne i redigeringsprogrammet\",\r\n \"REPLACE_CONTENT\": \"Bytt ut faktisk innhold\",\r\n \"SAVED\": \"Lagret\",\r\n \"SAVE_FAILED\": \"Lagringen mislyktes\",\r\n \"DELETE\": \"Slett\",\r\n \"DELETED\": \"Slettet\",\r\n \"DELETE_FAILED\": \"Sletting mislyktes\",\r\n \"DELETE_TEMPLATE\": \"Slett mal\",\r\n \"CHANGE_TEMPLATE\": \"Endre mal\",\r\n \"CANCEL\": \"Avbryt\",\r\n \"LINK\": \"Link\",\r\n \"LINK_TYPE\": \"Koblingstype\",\r\n \"LINK_URL\": \"URL\",\r\n \"LINK_ANCHOR_IN_TEXT\": \"Lenke til anker i teksten\",\r\n \"LINK_EMAIL\": \"E-post\",\r\n \"LINK_ANCHOR_DOCUMENT\": \"Anker i annet dokument\",\r\n \"TARGET\": \"Target\",\r\n \"TARTGET_NEW\": \"Nytt vindu (_blank)\",\r\n \"TARGET_TOPMOST\": \"Det øverste vinduet (_top)\",\r\n \"TARGET_SAME\": \"Samme vindu (selv)\",\r\n \"TARGET_PARENT\": \"Overordnet vindu (_parent)\",\r\n \"PROTOCOL\": \"Protocol\",\r\n \"PROTOCOL_HTTP\": \"http: //\",\r\n \"PROTOCOL_HTTPS\": \"https: //\",\r\n \"PROTOCOL_FTP\": \"ftp: //\",\r\n \"PROTOCOL_NEW\": \"nyheter: //\",\r\n \"PROTOCOL_OTHER\": \"<other>\",\r\n \"ADVISORY_TITLE\": \"Rådgivende tittel\",\r\n \"HANDBOOK\": \"eHandbook\",\r\n \"ATTACHMENT\": \"Attachment\",\r\n \"OK\": \"OK\",\r\n \"URL_HEADER\": \"URL-informasjon\",\r\n \"ANCHOR_TEXT_HEADER\": \"Velg et anker\",\r\n \"ANCHOR_BY_NAME\": \"Anker ved navn\",\r\n \"EMAIL_HEADER\": \"E-postinformasjon\",\r\n \"EMAIL_ADDRESS\": \"Adresse\",\r\n \"EMAIL_SUBJECT\": \"Emne\",\r\n \"EMAIL_BODY\": \"Kropp\",\r\n \"ANCHOR_ATTACHMENT\": \"Vedlegg\",\r\n \"ANCHOR_RELATED_DOCUMENT\": \"Beslektet dokument\",\r\n \"ADD_DOCUMENT_PROCESS\": \"Legg til dokument / prosess\",\r\n \"ADD_DOCUMENT\": \"Legg til dokument\",\r\n \"ADD\": \"Legg til\",\r\n \"PROSESSER\": \"Prosesser\",\r\n \"DOCUMENTS\": \"Dokumenter\",\r\n \"UPDATE\": \"Oppdater\",\r\n \"DOCUMENT\": \"Dokument\",\r\n \"CONFIRM\": \"Bekreft\",\r\n \"SEARCH\": \"Søk\",\r\n },\r\n \"QMSCKEDITOR_MESSAGE\": {\r\n \"CONFIRM_DELETE_TEMPLATE\": \"Er du sikker på at du vil slette denne malen?\",\r\n \"CONFIRM_CHANGE_TEMPLATE\": \"Er du sikker på at du vil bruke denne malen på redaktøren?\"\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { en } from '../model/en';\r\nimport { no } from '../model/no';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TranslateLibraryService {\r\n\r\n getLanguageSubject$ = new BehaviorSubject<any>(null);\r\n private availableLanguages = { en, no };\r\n\r\n constructor() { }\r\n\r\n setLanguage(item: any) {\r\n this.getLanguageSubject$.next(item);\r\n }\r\n\r\n getObjectLang(lang) {\r\n let language = lang && lang.toLowerCase() || 'en';\r\n if (language !== 'en' && language !== 'no') {\r\n language = 'en';\r\n }\r\n return this.availableLanguages[language];\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateLibraryService } from './services/translation-registry.service';\r\n\r\n@Component({\r\n selector: 'lib-qms-angular',\r\n templateUrl: 'qms-angular.component.html',\r\n styles: []\r\n})\r\nexport class QmsAngularComponent implements OnInit {\r\n\r\n LANG: any;\r\n\r\n constructor(public trans: TranslateLibraryService) { }\r\n\r\n ngOnInit() {\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","// Import the core angular services.\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from \"@angular/core\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\n\r\nexport interface Logs {\r\n user: string,\r\n date: any,\r\n isDraft: boolean,\r\n isEdit: boolean,\r\n content: string,\r\n editedContent: string\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-comment',\r\n templateUrl: 'comment.html',\r\n styleUrls: ['comment.scss'],\r\n host: { 'class': 'qms-comment' },\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSComment implements OnInit, OnChanges {\r\n @Input() sourceLog: Logs[];\r\n @Output() updateLog = new EventEmitter();\r\n\r\n LANG: any;\r\n\r\n constructor(public trans: TranslateLibraryService) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n for (const propName in changes) {\r\n const changedProp = changes[propName];\r\n const to = JSON.stringify(changedProp.currentValue);\r\n if (changedProp.isFirstChange()) {\r\n console.log('Initial value of');\r\n } else {\r\n const from = JSON.stringify(changedProp.previousValue);\r\n console.log('changed from');\r\n }\r\n }\r\n console.log('value changed', changes.sourceLog.currentValue);\r\n // this.sourceLog = changes.sourceLog.currentValue;\r\n }\r\n\r\n ngOnInit() {\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n console.log(this.LANG);\r\n\r\n }\r\n });\r\n }\r\n\r\n showContent(content) {\r\n return content.replace(/(?:\\r\\n|\\r|\\n)/g, '<br>');\r\n }\r\n\r\n editContent(item) {\r\n item.editedContent = item.content;\r\n item.isEdit = true;\r\n }\r\n\r\n saveEditedContent(item) {\r\n item.content = item.editedContent;\r\n item.isEdit = false;\r\n this.updateLog.emit(item);\r\n }\r\n\r\n removeItem(item) {\r\n item.isDelete = true;\r\n this.updateLog.emit(item);\r\n }\r\n}\r\n","import { AfterViewInit, Component, ElementRef, HostListener, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ConfirmDialog } from './constant';\r\n\r\n@Component({\r\n selector: 'qms-dialog-confirm',\r\n templateUrl: 'dialog-confirm.html',\r\n styleUrls: ['dialog.scss']\r\n})\r\nexport class QMSConfirmDialog implements OnInit, AfterViewInit {\r\n info: ConfirmDialog;\r\n\r\n @ViewChild('actionGroup') actionGroup: ElementRef;\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.orderActionButton();\r\n }\r\n\r\n constructor(private fb: FormBuilder,\r\n private _elRef: ElementRef,\r\n private dialogRef: MatDialogRef<QMSConfirmDialog>,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n\r\n this.info = { ...data };\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.orderActionButton();\r\n }\r\n\r\n orderActionButton() {\r\n const divHeight = this.actionGroup.nativeElement.offsetHeight;\r\n document.getElementById('action-btn').style.order = divHeight > 68 ? '1' : '2';\r\n }\r\n\r\n save() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-dialog-form',\r\n templateUrl: 'dialog-form.html',\r\n styleUrls: ['dialog.scss']\r\n})\r\nexport class QMSFormDialog implements OnInit {\r\n ngOnInit() {\r\n\r\n }\r\n}\r\n\r\n","import { AfterViewChecked, AfterViewInit, ContentChild, Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-suffix]',\r\n})\r\nexport class QMSSuffixDirective {\r\n constructor(private el: ElementRef) {\r\n el.nativeElement.classList.add('qms-suffix');\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'mat-form-field[qms-suffix-field]',\r\n})\r\nexport class QMSSuffixFieldDirective implements AfterViewChecked {\r\n @ContentChild(QMSSuffixDirective, {static: false}) qmsSuffix: QMSSuffixDirective;\r\n\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngAfterViewChecked(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-suffix-field');\r\n }\r\n }\r\n\r\n removeFocus = () => {\r\n this.ele.nativeElement.classList.remove('mat-focused');\r\n }\r\n}\r\n\r\n\r\n","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'qms-test-only',\r\n styleUrls: ['./test-only.component.scss'],\r\n templateUrl: './test-only.component.html'\r\n})\r\nexport class TestOnlyComponent {\r\n @Input() text: string = \"\";\r\n}","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-input-chip-list]',\r\n})\r\nexport class QMSChipInputChipListDirective implements OnInit {\r\n @Input() maxRows: number;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-input-chip-list');\r\n if(this.maxRows && this.maxRows > 0){\r\n this.ele.nativeElement.classList.add(`qms-chip-input-max-${this.maxRows}`)\r\n }\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input]',\r\n})\r\nexport class QMSChipInputDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input-dropdown]',\r\n})\r\nexport class QMSChipInputSelectDropWDownDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input-dropdown');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, OnInit } from \"@angular/core\";\r\nimport { MatAutocompleteTrigger } from \"@angular/material/autocomplete\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input-select-trigger]',\r\n})\r\nexport class QMSChipInputSelectTriggerDirective implements OnInit {\r\n public eleSelect: ElementRef;\r\n public autocomplete: MatAutocompleteTrigger;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input');\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event.target'])\r\n click(){\r\n if(this.autocomplete){\r\n if(!this.autocomplete.panelOpen)\r\n this.autocomplete.openPanel();\r\n else\r\n this.autocomplete.closePanel();\r\n }\r\n \r\n }\r\n}\r\n","import { AfterViewInit, ContentChild, Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\nimport { MatAutocompleteTrigger } from \"@angular/material/autocomplete\";\r\nimport { QMSChipInputSelectTriggerDirective } from \"./chip-input-select-trigger.directive\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input-select]',\r\n})\r\nexport class QMSChipInputSelectFieldDirective implements OnInit, AfterViewInit {\r\n @ContentChild(QMSChipInputSelectTriggerDirective, {static: false}) selectTrigger: QMSChipInputSelectTriggerDirective;\r\n @ContentChild(MatAutocompleteTrigger) autocomplete: MatAutocompleteTrigger;\r\n\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngAfterViewInit(): void {\r\n if(this.selectTrigger){\r\n this.selectTrigger.autocomplete = this.autocomplete;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input-select');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-chip-body]',\r\n})\r\nexport class QMSChipBodyDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-body');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'mat-chip[qms-chip]',\r\n})\r\nexport class QMSInputChipDirective implements OnInit, OnChanges {\r\n\r\n @Input() selected: boolean;\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.selected) {\r\n this.ele.nativeElement.classList.add('qms-chip-selected');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-chip-selected');\r\n }\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip');\r\n if (this.selected) {\r\n this.ele.nativeElement.classList.add('qms-chip-selected');\r\n }\r\n }\r\n }\r\n}\r\n","import { AfterViewInit, ContentChild, Directive, ElementRef, HostListener, Input, OnChanges, OnInit, SimpleChanges } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-menu-item]',\r\n})\r\nexport class QMSDropdownMenuItem implements OnInit, AfterViewInit, OnChanges{\r\n @ContentChild(\"menuItemContent\", {static: false}) menuItemContent: ElementRef;\r\n @Input() selected: boolean;\r\n \r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.selected){\r\n this.ele.nativeElement.classList.add('qms-dropdown-menu-item-selected');\r\n }\r\n else{\r\n this.ele.nativeElement.classList.remove('qms-dropdown-menu-item-selected');\r\n }\r\n }\r\n \r\n ngAfterViewInit(): void {\r\n if(this.menuItemContent){\r\n if(this.menuItemContent.nativeElement){\r\n this.menuItemContent.nativeElement.classList.add('qms-dropdown-menu-item__content')\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-dropdown-menu-item');\r\n if(this.selected){\r\n this.ele.nativeElement.classList.add('qms-dropdown-menu-item-selected');\r\n }\r\n }\r\n }\r\n}","import { AfterContentChecked, ContentChild, Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-attachment-list]',\r\n})\r\n\r\nexport class QMSAttachmentListDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-attachment-list');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input, OnChanges, OnInit, Optional } from \"@angular/core\";\r\nimport { NgControl } from \"@angular/forms\";\r\nimport { QMSFileAttachment } from \"./qms-file-upload-attachment.model\";\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-display]',\r\n})\r\nexport class QMSFileUploadDisplayDirective implements OnInit, OnChanges{\r\n public eleInput: ElementRef;\r\n public removeInvalid: () => void;\r\n public addInvalid: () => void;\r\n @Input() value;\r\n constructor(public ele: ElementRef, \r\n @Optional() private control: NgControl) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n ngOnChanges(): void {\r\n if(this.control){\r\n this.control.control.setValue(this.value? this.value : '');\r\n this.control.control.updateValueAndValidity();\r\n if(this.control.control.valid && this.removeInvalid){\r\n this.removeInvalid();\r\n }\r\n if(this.control.control.invalid && this.addInvalid){\r\n this.addInvalid();\r\n }\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event.target'])\r\n Click() {\r\n this.eleInput.nativeElement.click();\r\n }\r\n}","import { Directive, ElementRef, HostListener, Input, OnChanges, OnInit, Optional } from \"@angular/core\";\r\nimport { NgControl } from \"@angular/forms\";\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-multiple-display]',\r\n})\r\nexport class QMSFileUploadMultipleDisplayDirective implements OnInit{\r\n public eleInput: ElementRef;\r\n @Input() acceptExtension: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n \r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event.target'])\r\n Click() {\r\n this.eleInput.nativeElement.click();\r\n }\r\n}","\r\nexport enum FileErrorType{\r\n noError,\r\n notSupportedExtension,\r\n exceedMaxSize,\r\n}\r\nexport class QMSFileAttachment {\r\n file: File;\r\n fileName: string;\r\n fileContent: string;\r\n fileContentBase64: string;\r\n extension: string;\r\n isSuccessful: boolean;\r\n typeError: FileErrorType;\r\n progress: number;\r\n}","import { Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { QMSUploadFileErrorDialog } from \"../../components/upload-file-error-dialog/upload-file-error-dialog\";\r\nimport { FileErrorType, QMSFileAttachment } from \"./qms-file-upload-attachment.model\";\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-multiple-selector]',\r\n})\r\n\r\nexport class QMSFileUploadMultipleSelectorDirective implements OnInit, OnChanges {\r\n @Input() filesForInput: QMSFileAttachment[];\r\n @Output() filesForInputChange = new EventEmitter();\r\n @Input() acceptExtensions: string[];\r\n @Output('onFileUploaded') onFileUploaded: EventEmitter<any> = new EventEmitter();\r\n @Input() maxSize: number;\r\n invokeMyFunc(){\r\n if(this.onFileUploaded)\r\n this.onFileUploaded.emit();\r\n }\r\n\r\n constructor(public ele: ElementRef, public dialog: MatDialog) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(!this.filesForInput || this.filesForInput.length === 0){\r\n this.ele.nativeElement.value = '';\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n @HostListener('change', ['$event']) OnChanges(event) {\r\n if(event.target && event.target.files){\r\n const listFiles: FileList = event.target.files;\r\n let listAttachments : QMSFileAttachment[] = [];\r\n for (let i = 0; i < listFiles.length; i++) {\r\n const file = event.target.files[i];\r\n let attachment = new QMSFileAttachment();\r\n attachment.fileName = file.name;\r\n attachment.extension = file.name.split('.').pop();\r\n attachment.file = file; \r\n attachment.isSuccessful = true;\r\n attachment.typeError = FileErrorType.noError;\r\n if(this.acceptExtensions){\r\n const check = this.acceptExtensions.filter(type => type.toLowerCase() === attachment.extension.toLowerCase())\r\n if(check.length === 0){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.notSupportedExtension;\r\n }\r\n }\r\n if(this.maxSize && file.size > this.maxSize){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.exceedMaxSize;\r\n }\r\n listAttachments.push(attachment);\r\n }\r\n this.filesForInputChange.emit(listAttachments);\r\n this.invokeMyFunc();\r\n }\r\n }\r\n}","import { AfterViewInit, ContentChild, Directive, ElementRef,\r\n HostListener, Input, OnChanges, OnInit } from \"@angular/core\";\r\nimport { QMSFileUploadMultipleDisplayDirective } from \"./file-upload-multiple-display.directive\";\r\nimport { QMSFileUploadMultipleSelectorDirective } from \"./file-upload-multiple-selector.directive\";\r\nimport { ComponentCanDeactivate } from \"./file-upload.directive\";\r\n\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-multiple]',\r\n})\r\nexport class QMSFileUploadMultipleDirective implements OnInit, AfterViewInit, OnChanges {\r\n @Input() isLoading;\r\n @ContentChild(QMSFileUploadMultipleSelectorDirective, {static: false}) fileSelector: QMSFileUploadMultipleSelectorDirective;\r\n @ContentChild(QMSFileUploadMultipleDisplayDirective, {static: false}) fileDisplay: QMSFileUploadMultipleDisplayDirective;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-file-upload-loading');\r\n }\r\n \r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n }\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n if (this.fileSelector) {\r\n this.fileDisplay.eleInput = this.fileSelector.ele;\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-scrollable-attachment-list]',\r\n})\r\n\r\nexport class QMSScrolableAttachmentListDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-scrollable-attachment-list');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { FileErrorType, QMSFileAttachment } from \"./qms-file-upload-attachment.model\";\r\n\r\n\r\nexport function requiredFileType( types: string[] ) {\r\n return function (control: FormControl) {\r\n const fileName = control.value;\r\n if ( fileName ) {\r\n const extension = fileName.split('.').pop();\r\n const check = types.filter(type => type.toLowerCase() === extension.toLowerCase())\r\n if(check.length === 0){\r\n return {\r\n requiredFileType: true\r\n };\r\n }\r\n return null;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\nexport function notExceedSize( size: number ) {\r\n return function (control: FormControl) {\r\n const file = control.value;\r\n if ( file ) {\r\n \r\n if(file.size > size){\r\n return {\r\n notExceedSize: true\r\n };\r\n }\r\n return null;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-selector]',\r\n})\r\n\r\nexport class QMSFileUploadSelectorDirective implements OnInit, OnChanges {\r\n @Input() inputFile: any;\r\n @Output() inputFileChange = new EventEmitter();\r\n @Input() acceptExtensions: string[];\r\n @Output('onFileUploaded') onFileUploaded: EventEmitter<any> = new EventEmitter();\r\n @Input() maxSize: number;\r\n public isLoading: boolean;\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(!this.inputFile){\r\n this.ele.nativeElement.value = '';\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n invokeMyFunc(){\r\n if(this.onFileUploaded)\r\n this.onFileUploaded.emit();\r\n }\r\n\r\n @HostListener('change', ['$event']) OnChanges(event) {\r\n if(event.target && event.target.files[0]){\r\n const file = event.target.files[0];\r\n let attachment = new QMSFileAttachment();\r\n attachment.fileName = file.name;\r\n attachment.extension = file.name.split('.').pop();\r\n attachment.file = file;\r\n attachment.isSuccessful = true;\r\n attachment.typeError = FileErrorType.noError;\r\n if(this.acceptExtensions){\r\n const check = this.acceptExtensions.filter(type => type.toLowerCase() === attachment.extension.toLowerCase())\r\n if(check.length === 0){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.notSupportedExtension;\r\n }\r\n }\r\n if(this.maxSize && file.size > this.maxSize){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.exceedMaxSize;\r\n }\r\n this.inputFileChange.emit(attachment);\r\n this.invokeMyFunc();\r\n }\r\n }\r\n}","import { AfterContentChecked, AfterViewInit, ContentChild, Directive, ElementRef,\r\n EventEmitter,\r\n HostListener, Injectable, Input, OnChanges, OnInit, Output, Renderer2, SimpleChanges } from \"@angular/core\";\r\nimport { CanDeactivate } from \"@angular/router\";\r\nimport { Observable } from \"rxjs\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\nimport { QMSFileUploadDisplayDirective } from \"./file-upload-display.directive\";\r\nimport { QMSFileUploadSelectorDirective } from \"./file-upload-selector.directive\";\r\n\r\n\r\nexport interface ComponentCanDeactivate {\r\n canDeactivate: () => Observable<boolean> | Promise<boolean> | boolean;\r\n}\r\n \r\n@Injectable()\r\nexport class QMSUploadingFileGuard implements CanDeactivate<ComponentCanDeactivate> {\r\n constructor(){}\r\n canDeactivate(component: ComponentCanDeactivate) {\r\n // if there are no pending changes, just allow deactivation; else confirm first\r\n return component.canDeactivate? component.canDeactivate(): true;\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-file-upload]',\r\n})\r\nexport class QMSFileUploadDirective implements OnInit, AfterViewInit, OnChanges {\r\n @Input() isLoading;\r\n @ContentChild(QMSFileUploadSelectorDirective, {static: false}) fileSelector: QMSFileUploadSelectorDirective;\r\n @ContentChild(QMSFileUploadDisplayDirective, {static: false}) fileDisplay: QMSFileUploadDisplayDirective;\r\n\r\n constructor(private ele: ElementRef, private renderer: Renderer2) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-file-upload-loading');\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.fileSelector) {\r\n this.fileDisplay.eleInput = this.fileSelector.ele;\r\n this.fileDisplay.removeInvalid = this.removeInvalid;\r\n this.fileDisplay.addInvalid = this.addInvalid;\r\n this.fileSelector.isLoading = this.isLoading;\r\n }\r\n }\r\n\r\n removeInvalid = () => {\r\n this.ele.nativeElement.classList.remove('mat-form-field-invalid');\r\n }\r\n\r\n addInvalid = () => {\r\n this.ele.nativeElement.classList.add('mat-form-field-invalid');\r\n }\r\n}\r\n","import { AfterContentInit, Directive, ElementRef, Renderer2 } from \"@angular/core\";\r\n\r\n\r\n@Directive({\r\n selector: '[qms-form]',\r\n host: { 'class': 'qms-form' }\r\n})\r\nexport class QMSFormFieldDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-form-textarea]',\r\n host: { 'class': 'qms-form form-textarea' }\r\n})\r\nexport class QMSFormFieldTextareaDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-form-date]',\r\n host: { 'class': 'qms-form form-datepicker' }\r\n})\r\nexport class QMSFormFieldDatePickerDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n\r\n@Directive({\r\n selector: '[qms-group-options]',\r\n host: { 'class': 'qms-group-options' }\r\n})\r\nexport class QMSGroupOptionDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-group-options]',\r\n host: { 'class': 'qms-group-options' }\r\n})\r\n\r\nexport class AutocompleteOffDirective {\r\n constructor(private _el: ElementRef) {\r\n this._el.nativeElement.setAttribute('autocomplete', 'off');\r\n this._el.nativeElement.setAttribute('autocorrect', 'off');\r\n this._el.nativeElement.setAttribute('autocapitalize', 'none');\r\n this._el.nativeElement.setAttribute('spellcheck', 'false');\r\n }\r\n}","import { Directive, Input, ElementRef, OnInit, OnDestroy } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-margin]'\r\n})\r\n\r\nexport class MarginDirective implements OnInit {\r\n @Input() dim: string;\r\n @Input() value: string;\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dim ?\r\n this.el.nativeElement.style[`margin-${this.dim}`] = `${this.value}px` :\r\n this.value.includes('px')\r\n ? this.el.nativeElement.style[`margin`] = `${this.value}`\r\n : this.el.nativeElement.style[`margin`] = `${this.value}px`;\r\n }\r\n}","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'mat-slider[qms-range-slider-lockup]',\r\n})\r\nexport class QMSRangeSliderLockUpDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-range-slider-lockup');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'mat-slider[qms-range-slider]',\r\n})\r\nexport class QMSRangeSliderDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-range-slider');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input, OnInit, Renderer2 } from '@angular/core';\r\n@Directive({\r\n selector: '[scrollToSelected]'\r\n})\r\nexport class ScrollToSelectedDirective implements OnInit {\r\n @Input() scrollToClass: string;\r\n @HostListener('document:click', ['$event'])\r\n onClick(e) {\r\n const isStepElement = e.currentTarget.activeElement.classList.contains('mat-step-header');\r\n const isStepElementActive = e.currentTarget.activeElement.classList.contains('mat-primary');\r\n if (isStepElement && isStepElementActive) {\r\n this.rerenderView();\r\n }\r\n }\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {\r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n rerenderView() {\r\n if (this.el.nativeElement.classList.contains(this.scrollToClass)) {\r\n this.el.nativeElement.scrollIntoView(true, { behavior: 'smooth', block: 'start' });\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.rerenderView();\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-scrollbar]',\r\n})\r\nexport class QMSScrollbarDirective implements OnInit{\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-scrollbar');\r\n }\r\n }\r\n}","import { AfterViewChecked, AfterViewInit, ContentChild, Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, \r\n OnDestroy,\r\n OnInit, Output, Renderer2, SimpleChanges, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[qms-input-clear]',\r\n})\r\nexport class QMSInputClearDirective {\r\n inputDemo;\r\n inputDemoChange;\r\n constructor(public el: ElementRef) {\r\n el.nativeElement.classList.add('qms-input-clear');\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'mat-form-field[qms-search-field]',\r\n})\r\nexport class QMSSearchFieldDirective implements OnInit, AfterViewInit, OnChanges {\r\n @Input() isLoading;\r\n constructor(private ele: ElementRef, private renderer: Renderer2) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-search-field-loading');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-search-field-loading');\r\n }\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-search-field');\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-search-field-loading');\r\n }\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer-content]',\r\n})\r\nexport class QMSDrawerContentDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer-content');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer-header-action]',\r\n})\r\nexport class QMSDrawerHeaderActionDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer-header__action');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer-header]',\r\n})\r\nexport class QMSDrawerHeaderDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer-header');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer]',\r\n})\r\nexport class QMSDrawerDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tab-group-advanced]',\r\n})\r\nexport class QMSTabGroupAdvancedDirective implements OnInit{\r\n @Input() color: string;\r\n @Input() type: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tab-group-advanced');\r\n if(this.color){\r\n this.ele.nativeElement.classList.add(this.color);\r\n }\r\n if(this.type==='fixed'){\r\n this.ele.nativeElement.classList.add('qms-tab-group-advanced-fixed');\r\n }\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tab-group]',\r\n})\r\nexport class QMSTabGroupDirective implements OnInit{\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tab-group');\r\n }\r\n \r\n }\r\n}","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tab-label]',\r\n})\r\nexport class QMSTabLabelDirective implements OnInit{\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tab-label');\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, Renderer2 } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-text-block-line]'\r\n})\r\nexport class QMSTextBlockLine {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n @Input('size') size: string;\r\n @Input('type') type: string;\r\n @Input('color') color: string;\r\n\r\n ngOnInit(): void {\r\n if (this.type === 'caption-semibold') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption-semibold');\r\n }\r\n else if (this.type == 'caption'){\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption');\r\n }\r\n else if (this.type === 'body') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `content size-${this.size ? this.size : 'none'}`);\r\n } else {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `qms-text-block-line size-${this.size ? this.size : 'none'}`);\r\n }\r\n\r\n if (this.color) {\r\n this.renderer.addClass(this.elRef.nativeElement, this.color);\r\n }\r\n\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-text-block]',\r\n})\r\nexport class QMSTextBlockDirective implements OnInit {\r\n\r\n @Input('appearance') appearance: string;\r\n @Input('mode') mode: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-text-block');\r\n if(this.appearance == 'fill'){\r\n this.ele.nativeElement.classList.add('qms-text-block-filled')\r\n }\r\n if(this.mode === 'dark'){\r\n this.ele.nativeElement.classList.add('qms-text-block-dark')\r\n }\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tooltip-image]',\r\n})\r\nexport class QMSTooltipImageDirective implements OnInit {\r\n @Input('type') type: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tooltip-image');\r\n if (this.type) { \r\n this.ele.nativeElement.classList.add(this.type);\r\n }\r\n }\r\n }\r\n}\r\n","import { AfterViewInit, Component, ContentChild, ElementRef, Input, OnInit, TemplateRef, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'qms-tooltip',\r\n templateUrl: './tooltip.html',\r\n styleUrls: ['./tooltip.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n })\r\nexport class QMSToolTipComponent implements OnInit, AfterViewInit {\r\n\r\n /**\r\n * This is simple text which is to be shown in the tooltip\r\n */\r\n @Input() text: string;\r\n @Input() mode: string;\r\n\r\n /**\r\n * This provides finer control on the content to be visible on the tooltip\r\n * This template will be injected in McToolTipRenderer directive in the consumer template\r\n * <ng-template #template>\r\n * content.....\r\n * </ng-template>\r\n */\r\n @Input() contentTemplate: TemplateRef<any>;\r\n @ViewChild('qmsTooltipContainer', {static: false}) qmsTooltipContainer: ElementRef;\r\n constructor(private ele: ElementRef) { }\r\n ngAfterViewInit(): void {\r\n if(this.mode == 'dark'){\r\n this.qmsTooltipContainer.nativeElement.classList.add('qms-tooltip-container-dark')\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n}","import { ConnectedPosition, ConnectionPositionPair, Overlay, OverlayPositionBuilder, OverlayRef } from \"@angular/cdk/overlay\";\r\nimport { ComponentPortal } from \"@angular/cdk/portal\";\r\nimport { ComponentRef, Directive, ElementRef, HostListener, Input, TemplateRef } from \"@angular/core\";\r\nimport { QMSToolTipComponent } from \"../../components/tooltip/tooltip\";\r\n\r\n@Directive({\r\n selector: '[qms-tool-tip]'\r\n})\r\nexport class QMSToolTipRendererDirective {\r\n\r\n /**\r\n * This will be used to show tooltip or not\r\n * This can be used to show the tooltip conditionally\r\n */\r\n @Input() showToolTip: boolean = true;\r\n @Input() mode: string;\r\n //If this is specified then specified text will be showin in the tooltip\r\n @Input(`qms-tool-tip`) text: string;\r\n\r\n //If this is specified then specified template will be rendered in the tooltip\r\n @Input() contentTemplate: TemplateRef<any>;\r\n @Input() position: string;\r\n private _overlayRef: OverlayRef;\r\n\r\n constructor(private _overlay: Overlay,\r\n private _overlayPositionBuilder: OverlayPositionBuilder,\r\n private _elementRef: ElementRef) { }\r\n\r\n /**\r\n * Init life cycle event handler\r\n */\r\n ngOnInit() {\r\n let positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: 5,\r\n }]);\r\n switch (this.position) {\r\n case 'left': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetY: 0,\r\n offsetX: -10,\r\n }]);\r\n break;\r\n }\r\n case 'right': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n offsetY: 0,\r\n offsetX: 10,\r\n }]);\r\n break;\r\n }\r\n case 'top': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n offsetY: -10,\r\n offsetX: 0,\r\n }]);\r\n break;\r\n }\r\n case 'bottom': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: 10,\r\n offsetX: 0\r\n }]);\r\n break;\r\n }\r\n }\r\n\r\n this._overlayRef = this._overlay.create({ positionStrategy });\r\n }\r\n\r\n /**\r\n * This method will be called whenever mouse enters in the Host element\r\n * i.e. where this directive is applied\r\n * This method will show the tooltip by instantiating the McToolTipComponent and attaching to the overlay\r\n */\r\n @HostListener('focus')\r\n @HostListener('mouseenter')\r\n show() {\r\n if (!this.showToolTip) {\r\n return;\r\n }\r\n //attach the component if it has not already attached to the overlay\r\n if ((this.text || this.contentTemplate) && this._overlayRef && !this._overlayRef.hasAttached()) {\r\n const tooltipRef: ComponentRef<QMSToolTipComponent>\r\n = this._overlayRef.attach(new ComponentPortal(QMSToolTipComponent));\r\n if(this.text)\r\n tooltipRef.instance.text = this.text;\r\n if (this.mode) {\r\n tooltipRef.instance.mode = this.mode;\r\n }\r\n tooltipRef.instance.contentTemplate = this.contentTemplate;\r\n }\r\n }\r\n\r\n /**\r\n * This method will be called when mouse goes out of the host element\r\n * i.e. where this directive is applied\r\n * This method will close the tooltip by detaching the overlay from the view\r\n */\r\n @HostListener('focusout')\r\n @HostListener('mouseleave')\r\n hide() {\r\n this.closeToolTip();\r\n }\r\n\r\n /**\r\n * Destroy lifecycle event handler\r\n * This method will make sure to close the tooltip\r\n * It will be needed in case when app is navigating to different page\r\n * and user is still seeing the tooltip; In that case we do not want to hang around the\r\n * tooltip after the page [on which tooltip visible] is destroyed\r\n */\r\n ngOnDestroy() {\r\n this.closeToolTip();\r\n }\r\n\r\n /**\r\n * This method will close the tooltip by detaching the component from the overlay\r\n */\r\n private closeToolTip() {\r\n if (this._overlayRef) {\r\n this._overlayRef.detach();\r\n }\r\n }\r\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport {\r\n AfterContentInit,\r\n Attribute,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n QueryList,\r\n ViewChild,\r\n ViewEncapsulation,\r\n InjectionToken,\r\n Inject,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n CanDisableRipple,\r\n mixinDisableRipple,\r\n} from '@angular/material/core';\r\n\r\n\r\n\r\nexport type ButtonToggleAppearance = 'standard' | 'active' | 'dark';\r\n\r\nexport interface ButtonToggleDefaultOptions {\r\n appearance?: ButtonToggleAppearance;\r\n}\r\n\r\n\r\nexport const BUTTON_TOGGLE_DEFAULT_OPTIONS =\r\n new InjectionToken<ButtonToggleDefaultOptions>('BUTTON_TOGGLE_DEFAULT_OPTIONS');\r\n\r\n\r\nexport const BUTTON_TOGGLE_GROUP =\r\n new InjectionToken<QMSButtonToggleGroup>('QMSButtonToggleGroup');\r\n\r\n\r\nexport const BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => QMSButtonToggleGroup),\r\n multi: true\r\n};\r\n\r\n\r\nlet uniqueIdCounter = 0;\r\n\r\n\r\nexport class ButtonToggleChange {\r\n constructor(\r\n public source: QMSButtonToggle,\r\n public value: any) { }\r\n}\r\n\r\n\r\n@Directive({\r\n selector: 'qms-button-toggle-group',\r\n providers: [\r\n BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,\r\n { provide: BUTTON_TOGGLE_GROUP, useExisting: QMSButtonToggleGroup },\r\n ],\r\n host: {\r\n 'role': 'group',\r\n 'class': 'qms-button-toggle-group',\r\n '[attr.aria-disabled]': 'disabled',\r\n '[class.qms-button-toggle-vertical]': 'vertical',\r\n '[class.qms-button-toggle-group-appearance-standard]': 'appearance === \"standard\"',\r\n '[class.qms-button-toggle-group-appearance-active]': 'appearance === \"active\"',\r\n '[class.qms-button-toggle-group-appearance-dark]': 'appearance === \"dark\"',\r\n },\r\n exportAs: 'qmsButtonToggleGroup',\r\n})\r\nexport class QMSButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\r\n private _vertical = false;\r\n private _disabled = false;\r\n private _selectionModel: SelectionModel<QMSButtonToggle>;\r\n\r\n private _rawValue: any;\r\n\r\n _controlValueAccessorChangeFn: (value: any) => void = () => { };\r\n\r\n _onTouched: () => any = () => { };\r\n\r\n @ContentChildren(forwardRef(() => QMSButtonToggle), {\r\n descendants: true\r\n }) _buttonToggles: QueryList<QMSButtonToggle>;\r\n\r\n\r\n @Input() appearance: ButtonToggleAppearance;\r\n\r\n @Input()\r\n get name(): string { return this._name; }\r\n set name(value: string) {\r\n this._name = value;\r\n\r\n if (this._buttonToggles) {\r\n this._buttonToggles.forEach(toggle => {\r\n toggle.name = this._name;\r\n toggle._markForCheck();\r\n });\r\n }\r\n }\r\n private _name = `qms-button-toggle-group-${uniqueIdCounter++}`;\r\n\r\n\r\n @Input()\r\n get vertical(): boolean { return this._vertical; }\r\n set vertical(value: boolean) {\r\n this._vertical = coerceBooleanProperty(value);\r\n }\r\n\r\n\r\n @Input()\r\n get value(): any {\r\n const selected = this._selectionModel ? this._selectionModel.selected : [];\r\n\r\n return selected[0] ? selected[0].value : undefined;\r\n }\r\n set value(newValue: any) {\r\n this._setSelectionByValue(newValue);\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n\r\n @Output() readonly valueChange = new EventEmitter<any>();\r\n\r\n\r\n get selected(): QMSButtonToggle | QMSButtonToggle[] {\r\n const selected = this._selectionModel ? this._selectionModel.selected : [];\r\n return (selected[0] || null);\r\n }\r\n\r\n\r\n @Input()\r\n get disabled(): boolean { return this._disabled; }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n\r\n if (this._buttonToggles) {\r\n this._buttonToggles.forEach(toggle => toggle._markForCheck());\r\n }\r\n }\r\n\r\n @Output() readonly change: EventEmitter<ButtonToggleChange> =\r\n new EventEmitter<ButtonToggleChange>();\r\n\r\n constructor(\r\n private _changeDetector: ChangeDetectorRef,\r\n @Optional() @Inject(BUTTON_TOGGLE_DEFAULT_OPTIONS)\r\n defaultOptions?: ButtonToggleDefaultOptions) {\r\n\r\n this.appearance =\r\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\r\n }\r\n\r\n ngOnInit() {\r\n this._selectionModel = new SelectionModel<QMSButtonToggle>(false, undefined, false);\r\n }\r\n\r\n ngAfterContentInit() {\r\n this._selectionModel.select(...this._buttonToggles.filter(toggle => toggle.checked));\r\n }\r\n\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n this._changeDetector.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: (value: any) => void) {\r\n this._controlValueAccessorChangeFn = fn;\r\n }\r\n\r\n\r\n registerOnTouched(fn: any) {\r\n this._onTouched = fn;\r\n }\r\n\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n\r\n _emitChangeEvent(): void {\r\n const selected = this.selected;\r\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\r\n const event = new ButtonToggleChange(source!, this.value);\r\n this._controlValueAccessorChangeFn(event.value);\r\n this.change.emit(event);\r\n }\r\n\r\n _syncButtonToggle(toggle: QMSButtonToggle,\r\n select: boolean,\r\n isUserInput = false,\r\n deferEvents = false) {\r\n\r\n if (this.selected && !toggle.checked) {\r\n (this.selected as QMSButtonToggle).checked = false;\r\n }\r\n\r\n if (this._selectionModel) {\r\n if (select) {\r\n this._selectionModel.select(toggle);\r\n } else {\r\n this._selectionModel.deselect(toggle);\r\n }\r\n } else {\r\n deferEvents = true;\r\n }\r\n\r\n\r\n if (deferEvents) {\r\n Promise.resolve().then(() => this._updateModelValue(isUserInput));\r\n } else {\r\n this._updateModelValue(isUserInput);\r\n }\r\n }\r\n\r\n\r\n _isSelected(toggle: QMSButtonToggle) {\r\n return this._selectionModel && this._selectionModel.isSelected(toggle);\r\n }\r\n\r\n\r\n _isPrechecked(toggle: QMSButtonToggle) {\r\n if (typeof this._rawValue === 'undefined') {\r\n return false;\r\n }\r\n\r\n return toggle.value === this._rawValue;\r\n }\r\n\r\n\r\n private _setSelectionByValue(value: any | any[]) {\r\n this._rawValue = value;\r\n\r\n if (!this._buttonToggles) {\r\n return;\r\n }\r\n\r\n this._clearSelection();\r\n this._selectValue(value);\r\n }\r\n\r\n\r\n private _clearSelection() {\r\n this._selectionModel.clear();\r\n this._buttonToggles.forEach(toggle => toggle.checked = false);\r\n }\r\n\r\n\r\n private _selectValue(value: any) {\r\n const correspondingOption = this._buttonToggles.find(toggle => {\r\n return toggle.value != null && toggle.value === value;\r\n });\r\n\r\n if (correspondingOption) {\r\n correspondingOption.checked = true;\r\n this._selectionModel.select(correspondingOption);\r\n }\r\n }\r\n\r\n private _updateModelValue(isUserInput: boolean) {\r\n if (isUserInput) {\r\n this._emitChangeEvent();\r\n }\r\n\r\n\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n static ngAcceptInputType_multiple: BooleanInput;\r\n static ngAcceptInputType_vertical: BooleanInput;\r\n}\r\n\r\n\r\nconst _ButtonToggleBase = mixinDisableRipple(class { });\r\n\r\n\r\n@Component({\r\n selector: 'qms-button-toggle',\r\n templateUrl: 'button-toggle.html',\r\n styleUrls: ['button-toggle.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'qmsButtonToggle',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n inputs: ['disableRipple'],\r\n host: {\r\n '[class.qms-button-toggle-standalone]': '!buttonToggleGroup',\r\n '[class.qms-button-toggle-checked]': 'checked',\r\n '[class.qms-button-toggle-disabled]': 'disabled',\r\n '[class.qms-button-toggle-appearance-standard]': 'appearance === \"standard\"',\r\n '[class.qms-button-toggle-appearance-active]': 'appearance === \"active\"',\r\n '[class.qms-button-toggle-appearance-dark]': 'appearance === \"dark\"',\r\n 'class': 'qms-button-toggle',\r\n '[attr.aria-label]': 'null',\r\n '[attr.aria-labelledby]': 'null',\r\n '[attr.id]': 'id',\r\n '[attr.name]': 'null',\r\n '(focus)': 'focus()',\r\n 'role': 'presentation',\r\n }\r\n})\r\nexport class QMSButtonToggle extends _ButtonToggleBase implements OnInit, AfterViewInit,\r\n CanDisableRipple, OnDestroy {\r\n\r\n private _checked = false;\r\n\r\n\r\n @Input('aria-label') ariaLabel: string;\r\n\r\n\r\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\r\n\r\n\r\n @ViewChild('button') _buttonElement: ElementRef<HTMLButtonElement>;\r\n\r\n\r\n buttonToggleGroup: QMSButtonToggleGroup;\r\n\r\n\r\n get buttonId(): string { return `${this.id}-button`; }\r\n\r\n\r\n @Input() id: string;\r\n\r\n\r\n @Input() name: string;\r\n\r\n\r\n @Input() value: any;\r\n\r\n\r\n @Input() tabIndex: number | null;\r\n\r\n\r\n @Input()\r\n get appearance(): ButtonToggleAppearance {\r\n return this.buttonToggleGroup ? this.buttonToggleGroup.appearance : this._appearance;\r\n }\r\n set appearance(value: ButtonToggleAppearance) {\r\n this._appearance = value;\r\n }\r\n private _appearance: ButtonToggleAppearance;\r\n\r\n\r\n @Input()\r\n get checked(): boolean {\r\n return this.buttonToggleGroup ? this.buttonToggleGroup._isSelected(this) : this._checked;\r\n }\r\n set checked(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n\r\n if (newValue !== this._checked) {\r\n this._checked = newValue;\r\n\r\n if (this.buttonToggleGroup) {\r\n this.buttonToggleGroup._syncButtonToggle(this, this._checked);\r\n }\r\n\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n }\r\n\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\r\n }\r\n set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }\r\n private _disabled: boolean = false;\r\n\r\n @Output() readonly change: EventEmitter<ButtonToggleChange> =\r\n new EventEmitter<ButtonToggleChange>();\r\n\r\n constructor(@Optional() @Inject(BUTTON_TOGGLE_GROUP) toggleGroup: QMSButtonToggleGroup,\r\n private _changeDetectorRef: ChangeDetectorRef,\r\n private _elementRef: ElementRef<HTMLElement>,\r\n private _focusMonitor: FocusMonitor,\r\n @Attribute('tabindex') defaultTabIndex: string,\r\n @Optional() @Inject(BUTTON_TOGGLE_DEFAULT_OPTIONS)\r\n defaultOptions?: ButtonToggleDefaultOptions) {\r\n super();\r\n\r\n const parsedTabIndex = Number(defaultTabIndex);\r\n this.tabIndex = (parsedTabIndex || parsedTabIndex === 0) ? parsedTabIndex : null;\r\n this.buttonToggleGroup = toggleGroup;\r\n this.appearance =\r\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\r\n }\r\n\r\n ngOnInit() {\r\n const group = this.buttonToggleGroup;\r\n this.id = this.id || `qms-button-toggle-${uniqueIdCounter++}`;\r\n\r\n this.name = group.name;\r\n\r\n if (group) {\r\n if (group._isPrechecked(this)) {\r\n this.checked = true;\r\n } else if (group._isSelected(this) !== this._checked) {\r\n group._syncButtonToggle(this, this._checked);\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n }\r\n\r\n ngOnDestroy() {\r\n const group = this.buttonToggleGroup;\r\n\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n\r\n if (group && group._isSelected(this)) {\r\n group._syncButtonToggle(this, false, false, true);\r\n }\r\n }\r\n\r\n focus(options?: FocusOptions): void {\r\n this._buttonElement.nativeElement.focus(options);\r\n }\r\n\r\n _onButtonClick() {\r\n\r\n if (!this._checked) {\r\n this._checked = true;\r\n if (this.buttonToggleGroup) {\r\n this.buttonToggleGroup._syncButtonToggle(this, this._checked, true);\r\n this.buttonToggleGroup._onTouched();\r\n }\r\n }\r\n this.change.emit(new ButtonToggleChange(this, this.value));\r\n }\r\n\r\n\r\n _markForCheck() {\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n\r\n static ngAcceptInputType_checked: BooleanInput;\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n static ngAcceptInputType_vertical: BooleanInput;\r\n static ngAcceptInputType_disableRipple: BooleanInput;\r\n}","import { ElementRef } from '@angular/core';\r\n\r\nexport type Constructor<T> = new (...args: any[]) => T;\r\n\r\nexport type ThemePalette = 'primary' | 'secondary' | 'light' | 'dark' | undefined;\r\n\r\n/** @docs-private */\r\nexport interface CanColor {\r\n /** Theme color palette for the component. */\r\n color: ThemePalette;\r\n\r\n /** Default color to fall back to if no value is set. */\r\n defaultColor: ThemePalette | undefined;\r\n}\r\n\r\n/** @docs-private */\r\nexport type CanColorCtor = Constructor<CanColor>;\r\n\r\n/** @docs-private */\r\nexport interface HasElementRef {\r\n _elementRef: ElementRef;\r\n}\r\n\r\n///** Mixin to augment a directive with a `color` property. */\r\nexport function mixinColor<T extends Constructor<HasElementRef>>(base: T, defaultColor?: ThemePalette): CanColorCtor & T {\r\n return class extends base {\r\n private _color: ThemePalette;\r\n defaultColor = defaultColor;\r\n\r\n get color(): ThemePalette { return this._color; }\r\n set color(value: ThemePalette) {\r\n const colorPalette = value || this.defaultColor;\r\n if (colorPalette !== this._color) {\r\n if (this._color) {\r\n this._elementRef.nativeElement.classList.remove(`qms-${this._color}`);\r\n }\r\n if (colorPalette) {\r\n this._elementRef.nativeElement.classList.add(`qms-${colorPalette}`);\r\n }\r\n\r\n this._color = colorPalette;\r\n }\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n\r\n // Set the default color that can be specified from the mixin.\r\n this.color = defaultColor;\r\n }\r\n };\r\n}\r\n","import { FocusMonitor, FocusableOption, FocusOrigin } from '@angular/cdk/a11y';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n ViewEncapsulation,\r\n Optional,\r\n Inject,\r\n Input,\r\n AfterViewInit,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport {\r\n CanColor,\r\n CanColorCtor,\r\n mixinColor,\r\n} from './color';\r\nimport {\r\n CanDisable,\r\n CanDisableCtor,\r\n mixinDisabled,\r\n} from '@angular/material/core';\r\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\r\n\r\nconst DEFAULT_ROUND_BUTTON_COLOR = 'primary';\r\n\r\n/**\r\n * List of classes to add to QMSButton instances based on host attributes to\r\n * style as different variants.\r\n */\r\nconst BUTTON_HOST_ATTRIBUTES = [\r\n 'qms-btn',\r\n 'qms-btn-lg',\r\n 'qms-btn-outlined',\r\n 'qms-btn-outlined-lg',\r\n 'qms-btn-text',\r\n 'qms-btn-text-lg',\r\n 'qms-btn-fab',\r\n 'qms-btn-fab-sm',\r\n 'qms-btn-fab-ext',\r\n 'qms-btn-fab-outlined',\r\n 'qms-btn-fab-outlined-sm',\r\n 'qms-btn-fab-outlined-ext'\r\n];\r\n\r\nclass QMSButtonBase {\r\n constructor(public _elementRef: ElementRef) { }\r\n}\r\n\r\nconst _QMSButtonMixinBase: CanDisableCtor & CanColorCtor &\r\n typeof QMSButtonBase = mixinColor(mixinDisabled(QMSButtonBase));\r\n\r\n\r\n/**\r\n * QMS design button.\r\n */\r\n@Component({\r\n selector: `button[qms-btn], button[qms-btn-lg], button[qms-btn-outlined],\r\n button[qms-btn-outlined-lg], button[qms-btn-text], button[qms-btn-text-lg],\r\n button[qms-btn-fab],button[qms-btn-fab-sm],button[qms-btn-fab-ext],\r\n button[qms-btn-fab-outlined],button[qms-btn-fab-outlined-sm],button[qms-btn-fab-outlined-ext]`,\r\n exportAs: 'qmsButton',\r\n host: {\r\n '[attr.disabled]': 'disabled || null',\r\n '[class._qms-animation-noopable]': '_animationMode === \"NoopAnimations\"',\r\n '[class.qms-btn-disabled]': 'disabled'\r\n },\r\n templateUrl: 'button.html',\r\n styleUrls: ['button.scss'],\r\n inputs: ['disabled', 'color'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSButton extends _QMSButtonMixinBase\r\n implements AfterViewInit, OnDestroy, CanDisable, CanColor, FocusableOption {\r\n\r\n constructor(elementRef: ElementRef,\r\n private _focusMonitor: FocusMonitor,\r\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode: string) {\r\n super(elementRef);\r\n\r\n for (const attr of BUTTON_HOST_ATTRIBUTES) {\r\n if (this._hasHostAttributes(attr)) {\r\n (this._getHostElement() as HTMLElement).classList.add(attr);\r\n }\r\n }\r\n\r\n elementRef.nativeElement.classList.add('qms-btn-base');\r\n }\r\n\r\n focus(origin?: FocusOrigin, options?: FocusOptions): void {\r\n if (origin) {\r\n this._focusMonitor.focusVia(this._getHostElement(), origin, options);\r\n } else {\r\n this._getHostElement().focus(options);\r\n }\r\n }\r\n\r\n _getHostElement() {\r\n return this._elementRef.nativeElement;\r\n }\r\n\r\n _hasHostAttributes(...attributes: string[]) {\r\n return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n }\r\n\r\n}\r\n\r\n/**\r\n * Material design anchor button.\r\n */\r\n@Component({\r\n selector: `a[qms-btn], a[qms-btn-lg], a[qms-btn-outlined],\r\n a[qms-btn-outlined-lg], a[qms-btn-text], a[qms-btn-text-lg],\r\n a[qms-btn-fab], a[qms-btn-fab-sm], a[qms-btn-fab-ext],\r\n a[qms-btn-fab-outlined],a[qms-btn-fab-outlined-sm],a[qms-btn-fab-outlined-ext]`,\r\n exportAs: 'qmsButton, qmsAnchor',\r\n host: {\r\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\r\n '[attr.disabled]': 'disabled || null',\r\n '[attr.aria-disabled]': 'disabled.toString()',\r\n '(click)': '_haltDisabledEvents($event)',\r\n '[class._qms-animation-noopable]': '_animationMode === \"NoopAnimations\"',\r\n '[class.qms-btn-disabled]': 'disabled'\r\n },\r\n inputs: ['disabled', 'color'],\r\n templateUrl: 'button.html',\r\n styleUrls: ['button.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSAnchor extends QMSButton {\r\n @Input() tabIndex: number;\r\n\r\n constructor(\r\n focusMonitor: FocusMonitor,\r\n elementRef: ElementRef,\r\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode: string) {\r\n super(elementRef, focusMonitor, animationMode);\r\n }\r\n\r\n _haltDisabledEvents(event: Event) {\r\n // A disabled button shouldn't apply any actions\r\n if (this.disabled) {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: `button[qms-btn-icon]`,\r\n exportAs: 'qmsButtonIcon',\r\n host: {\r\n 'class': 'qms-btn-icon',\r\n '[attr.disabled]': 'disabled || null',\r\n '[class._qms-animation-noopable]': '_animationMode === \"NoopAnimations\"',\r\n '[class.qms-btn-disabled]': 'disabled',\r\n '[class.active-icon]': 'type',\r\n },\r\n templateUrl: 'button-icon.html',\r\n styleUrls: ['button-icon.scss'],\r\n inputs: ['disabled', 'color', 'type'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSButtonIcon extends _QMSButtonMixinBase\r\n implements AfterViewInit, OnDestroy, CanDisable, CanColor, FocusableOption {\r\n\r\n @Input('type') type: string;\r\n\r\n constructor(elementRef: ElementRef,\r\n private _focusMonitor: FocusMonitor,\r\n private renderer: Renderer2,\r\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode: string) {\r\n super(elementRef);\r\n }\r\n\r\n focus(origin?: FocusOrigin, options?: FocusOptions): void {\r\n if (origin) {\r\n this._focusMonitor.focusVia(this._getHostElement(), origin, options);\r\n } else {\r\n this._getHostElement().focus(options);\r\n }\r\n }\r\n\r\n _getHostElement() {\r\n return this._elementRef.nativeElement;\r\n }\r\n\r\n _hasHostAttributes(...attributes: string[]) {\r\n return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n if (this.type) {\r\n this.renderer.addClass(this._elementRef.nativeElement, 'active-icon');\r\n }\r\n\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nimport { QMSButtonToggle, QMSButtonToggleGroup } from './button-toggle';\r\nimport { QMSAnchor, QMSButton, QMSButtonIcon } from './button';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule\r\n ],\r\n exports: [\r\n QMSButton,\r\n QMSAnchor,\r\n QMSButtonIcon,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n QMSButtonToggle,\r\n QMSButtonToggleGroup\r\n ],\r\n declarations: [\r\n QMSButton,\r\n QMSAnchor,\r\n QMSButtonToggle,\r\n QMSButtonToggleGroup,\r\n QMSButtonIcon\r\n ],\r\n})\r\nexport class QMSButtonModule { }\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { QMSButtonModule } from './components/button/button.module';\r\n\r\n@NgModule({\r\n exports: [\r\n MatInputModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n QMSButtonModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class SharedMaterialModule { }","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { TranslateLibraryService } from '../services/translation-registry.service';\r\n\r\n@Pipe({\r\n name: 'dateFormat'\r\n})\r\nexport class DateFormatPipe implements PipeTransform {\r\n\r\n constructor(private trans: TranslateLibraryService) {\r\n\r\n }\r\n\r\n transform(value: Date, args?: any) {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n\r\n let valueFormat = '';\r\n let langCode = '';\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n langCode = res || 'en';\r\n });\r\n\r\n\r\n switch (langCode) {\r\n case 'en':\r\n valueFormat = 'MM/DD/YYYY hh:mm';\r\n break;\r\n case 'no':\r\n valueFormat = 'DD.MM.YYYY hh:mm';\r\n break;\r\n default:\r\n valueFormat = 'DD.MM.YYYY hh:mm';\r\n break;\r\n }\r\n\r\n return moment(value).format(valueFormat);\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { QMSUploadingFileGuard } from './directives/file-upload/file-upload.directive';\r\nimport { TranslateLibraryService } from './services/translation-registry.service';\r\n\r\n\r\n@NgModule({})\r\nexport class SharedModule {\r\n static forRoot(): ModuleWithProviders<SharedModule> {\r\n return {\r\n ngModule: SharedModule,\r\n providers: [TranslateLibraryService, QMSUploadingFileGuard]\r\n };\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { MAT_RADIO_DEFAULT_OPTIONS } from '@angular/material/radio';\r\nimport { QMSComment } from './components/comment/comment';\r\nimport { QMSConfirmDialog, QMSFormDialog } from './components/dialog/dialog';\r\nimport { QMSSuffixDirective, QMSSuffixFieldDirective } from './components/suffix-field/suffix-field.directive';\r\nimport { TestOnlyComponent } from './components/test-only/test-only.component';\r\nimport { QMSChipInputChipListDirective } from './directives/chip-input/chip-input-chip-list.directive';\r\nimport { QMSChipInputDirective } from './directives/chip-input/chip-input-field.directive';\r\nimport { QMSChipInputSelectDropWDownDirective } from './directives/chip-input/chip-input-select-dropdown.directive';\r\nimport { QMSChipInputSelectFieldDirective } from './directives/chip-input/chip-input-select-field.directive';\r\nimport { QMSChipInputSelectTriggerDirective } from './directives/chip-input/chip-input-select-trigger.directive';\r\nimport { QMSChipBodyDirective } from './directives/chips/chip-body.directive';\r\nimport { QMSInputChipDirective } from './directives/chips/chip.directive';\r\nimport { QMSDropdownMenuItem } from './directives/dropdown-menu/dropdown-item.directive';\r\nimport { QMSAttachmentListDirective } from './directives/file-upload/file-upload-attachment-list.directive';\r\nimport { QMSFileUploadDisplayDirective } from './directives/file-upload/file-upload-display.directive';\r\nimport { QMSFileUploadMultipleDisplayDirective } from './directives/file-upload/file-upload-multiple-display.directive';\r\nimport { QMSFileUploadMultipleSelectorDirective } from './directives/file-upload/file-upload-multiple-selector.directive';\r\nimport { QMSFileUploadMultipleDirective } from './directives/file-upload/file-upload-multiple.directive';\r\nimport { QMSScrolableAttachmentListDirective } from './directives/file-upload/file-upload-scrollable-attachment-list.directive';\r\nimport { QMSFileUploadSelectorDirective } from './directives/file-upload/file-upload-selector.directive';\r\nimport { QMSFileUploadDirective, QMSUploadingFileGuard } from './directives/file-upload/file-upload.directive';\r\nimport {\r\n AutocompleteOffDirective,\r\n QMSFormFieldDatePickerDirective,\r\n QMSFormFieldDirective,\r\n QMSFormFieldTextareaDirective,\r\n QMSGroupOptionDirective\r\n} from './directives/form.directive';\r\nimport { MarginDirective } from './directives/margin.directive';\r\nimport { QMSRangeSliderLockUpDirective } from './directives/range-slider/range-slider-lockup.directive';\r\nimport { QMSRangeSliderDirective } from './directives/range-slider/range-slider.directive';\r\nimport { ScrollToSelectedDirective } from './directives/scroll-selected/scroll-to-selected.directive';\r\nimport { QMSScrollbarDirective } from './directives/scrollbar/scrollbar.directive';\r\nimport {\r\n QMSInputClearDirective,\r\n QMSSearchFieldDirective\r\n} from './directives/search-field.directive';\r\nimport { QMSDrawerContentDirective } from \"./directives/side-sheet/drawer-content.directive\";\r\nimport { QMSDrawerHeaderActionDirective } from \"./directives/side-sheet/drawer-header-action.directive\";\r\nimport { QMSDrawerHeaderDirective } from \"./directives/side-sheet/drawer-header.directive\";\r\nimport { QMSDrawerDirective } from \"./directives/side-sheet/drawer.directive\";\r\nimport { QMSTabGroupAdvancedDirective } from \"./directives/tab/tab-group-advanced.directive\";\r\nimport { QMSTabGroupDirective } from \"./directives/tab/tab-group.directive\";\r\nimport { QMSTabLabelDirective } from \"./directives/tab/tab-label.directive\";\r\nimport { QMSTextBlockLine } from \"./directives/text-block/text-block-line.directive\";\r\nimport { QMSTextBlockDirective } from \"./directives/text-block/text-block.directive\";\r\nimport { QMSTooltipImageDirective } from './directives/tooltip/tooltip-image.directive';\r\nimport { QMSToolTipRendererDirective } from \"./directives/tooltip/tooltip-renderer.directive\";\r\nimport { SharedMaterialModule } from './material-module';\r\nimport { DateFormatPipe } from './pipe/dateFormat.pipe';\r\nimport { QmsAngularComponent } from './qms-angular.component';\r\nimport { SharedModule } from './shared.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsAngularComponent,\r\n TestOnlyComponent,\r\n MarginDirective,\r\n QMSSearchFieldDirective,\r\n QMSInputClearDirective,\r\n QMSFormFieldDirective,\r\n QMSFormFieldTextareaDirective,\r\n QMSGroupOptionDirective,\r\n QMSSuffixFieldDirective,\r\n QMSSuffixDirective,\r\n QMSFormFieldTextareaDirective,\r\n AutocompleteOffDirective,\r\n QMSComment,\r\n QMSConfirmDialog,\r\n QMSFormDialog,\r\n QMSFormFieldDatePickerDirective,\r\n QMSInputChipDirective,\r\n QMSChipBodyDirective,\r\n QMSFileUploadDirective,\r\n QMSFileUploadDisplayDirective,\r\n QMSFileUploadSelectorDirective,\r\n QMSAttachmentListDirective,\r\n QMSScrolableAttachmentListDirective,\r\n QMSFileUploadMultipleDirective,\r\n QMSFileUploadMultipleDisplayDirective,\r\n QMSFileUploadMultipleSelectorDirective,\r\n QMSRangeSliderDirective,\r\n QMSRangeSliderLockUpDirective,\r\n QMSDropdownMenuItem,\r\n QMSScrollbarDirective,\r\n QMSTextBlockDirective,\r\n QMSTextBlockLine,\r\n QMSDrawerDirective,\r\n QMSDrawerHeaderDirective,\r\n QMSDrawerContentDirective,\r\n QMSDrawerHeaderActionDirective,\r\n QMSToolTipRendererDirective,\r\n QMSTabLabelDirective,\r\n QMSTabGroupDirective,\r\n QMSTabGroupAdvancedDirective,\r\n DateFormatPipe,\r\n QMSChipInputDirective,\r\n QMSChipInputSelectFieldDirective,\r\n QMSChipInputSelectDropWDownDirective,\r\n QMSChipInputSelectTriggerDirective,\r\n QMSChipInputChipListDirective,\r\n ScrollToSelectedDirective,\r\n QMSTooltipImageDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SharedModule.forRoot(),\r\n SharedMaterialModule\r\n ],\r\n exports: [\r\n QmsAngularComponent,\r\n MarginDirective,\r\n TestOnlyComponent,\r\n QMSSearchFieldDirective,\r\n QMSInputClearDirective,\r\n QMSFormFieldDirective,\r\n QMSFormFieldTextareaDirective,\r\n QMSGroupOptionDirective,\r\n QMSSuffixFieldDirective,\r\n QMSSuffixDirective,\r\n AutocompleteOffDirective,\r\n QMSComment,\r\n QMSConfirmDialog,\r\n QMSFormDialog,\r\n QMSInputChipDirective,\r\n QMSChipBodyDirective,\r\n QMSFormFieldDatePickerDirective,\r\n QMSFileUploadDirective,\r\n QMSFileUploadDisplayDirective,\r\n QMSFileUploadSelectorDirective,\r\n QMSAttachmentListDirective,\r\n QMSScrolableAttachmentListDirective,\r\n QMSFileUploadMultipleDirective,\r\n QMSFileUploadMultipleDisplayDirective,\r\n QMSFileUploadMultipleSelectorDirective,\r\n QMSRangeSliderDirective,\r\n QMSRangeSliderLockUpDirective,\r\n QMSDropdownMenuItem,\r\n QMSScrollbarDirective,\r\n QMSTextBlockDirective,\r\n QMSTextBlockLine,\r\n QMSDrawerDirective,\r\n QMSDrawerHeaderDirective,\r\n QMSDrawerContentDirective,\r\n QMSDrawerHeaderActionDirective,\r\n QMSToolTipRendererDirective,\r\n QMSTabLabelDirective,\r\n QMSTabGroupDirective,\r\n QMSTabGroupAdvancedDirective,\r\n DateFormatPipe,\r\n QMSChipInputDirective,\r\n QMSChipInputSelectFieldDirective,\r\n QMSChipInputSelectDropWDownDirective,\r\n QMSChipInputSelectTriggerDirective,\r\n QMSChipInputChipListDirective,\r\n ScrollToSelectedDirective,\r\n QMSTooltipImageDirective\r\n ],\r\n providers: [\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'fill' } },\r\n { provide: MAT_RADIO_DEFAULT_OPTIONS, useValue: { color: 'none' } },\r\n QMSUploadingFileGuard\r\n ],\r\n // entryComponents: []\r\n})\r\nexport class QmsAngularModule { }\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit, ChangeDetectionStrategy, Component,\r\n ContentChildren, Directive, ElementRef, HostListener, Input, OnInit,\r\n QueryList, Renderer2, ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { setLines } from '@angular/material/core';\r\n\r\n\r\n@Directive({\r\n selector: '[leading-icon]',\r\n host: { 'class': 'leading-icon' }\r\n})\r\nexport class QMSListLeadingIcon { }\r\n\r\n@Directive({\r\n selector: '[qms-line]'\r\n})\r\nexport class QMSListLine {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @Input('size') size: string;\r\n @Input('type') type: string;\r\n @Input('color') color: string;\r\n\r\n ngOnInit(): void {\r\n if (this.type === 'caption') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption');\r\n }\r\n else if (this.type === 'subtitle') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `subtitle size-${this.size ? this.size : 'none'}`);\r\n } else {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `qms-line size-${this.size ? this.size : 'none'}`);\r\n }\r\n\r\n if (this.color) {\r\n this.renderer.addClass(this.elRef.nativeElement, this.color);\r\n }\r\n\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-list-header]',\r\n host: { 'class': 'qms-list-header' }\r\n})\r\nexport class QMSListHeader {\r\n\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-expansion]',\r\n host: { 'class': 'qms-expansion' }\r\n})\r\nexport class QMSListExpansion implements AfterContentInit {\r\n @ContentChildren(QMSListLine, { descendants: true }) _lines: QueryList<QMSListLine>;\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n // setLines(this._lines, this.elRef);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-expansion-header]',\r\n host: { 'class': 'qms-expansion-header' }\r\n})\r\nexport class QMSListExpansionHeader implements AfterContentInit {\r\n @ContentChildren(QMSListLine, { descendants: true }) _lines: QueryList<QMSListLine>;\r\n\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('click', ['$event']) onClick($event) {\r\n const qmsList = document.querySelectorAll('.qms-expansion-header');\r\n [].forEach.call(qmsList, (el) => {\r\n el.classList.remove('active-item');\r\n });\r\n this.renderer.addClass(this.elRef.nativeElement, 'active-item');\r\n }\r\n\r\n ngAfterContentInit() {\r\n setLines(this._lines, this.elRef);\r\n }\r\n}\r\n\r\n\r\n\r\n@Component({\r\n selector: 'qms-list',\r\n templateUrl: 'list.html',\r\n styleUrls: ['list.scss'],\r\n host: { 'class': 'qms-list' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSList implements OnInit {\r\n\r\n constructor(private elRef: ElementRef) { }\r\n ngOnInit() { }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-list-item',\r\n templateUrl: 'list-item.html',\r\n styleUrls: ['list.scss'],\r\n host: {\r\n 'class': 'qms-list-item',\r\n '[class.qms-list-item-disabled]': 'disabled',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSListItem implements AfterViewInit {\r\n @Input('type') type: string;\r\n get disabled() { return this._disabled }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n private _disabled = false;\r\n\r\n @ContentChildren(QMSListLine, { descendants: true }) _lines: QueryList<QMSListLine>;\r\n constructor(private elRef: ElementRef<HTMLElement>, private renderer: Renderer2) { }\r\n\r\n ngAfterViewInit() {\r\n if (this.type) {\r\n // this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'qms-list-item image-item');\r\n this.renderer.addClass(this.elRef.nativeElement, 'image-item');\r\n this.renderer.addClass(this.elRef.nativeElement, this.type);\r\n }\r\n\r\n setLines(this._lines, this.elRef);\r\n }\r\n}\r\n\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatExpansionModule, MAT_EXPANSION_PANEL_DEFAULT_OPTIONS } from '@angular/material/expansion';\r\n\r\nimport {\r\n QMSList, QMSListItem, QMSListLeadingIcon, QMSListLine,\r\n QMSListHeader, QMSListExpansion, QMSListExpansionHeader\r\n} from './list';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatListModule,\r\n MatExpansionModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatListModule,\r\n MatExpansionModule,\r\n QMSList,\r\n QMSListItem,\r\n QMSListLeadingIcon,\r\n QMSListLine,\r\n QMSListHeader,\r\n QMSListExpansion,\r\n QMSListExpansionHeader\r\n ],\r\n declarations: [\r\n QMSList,\r\n QMSListItem,\r\n QMSListLeadingIcon,\r\n QMSListLine,\r\n QMSListHeader,\r\n QMSListExpansion,\r\n QMSListExpansionHeader\r\n ],\r\n providers: [\r\n {\r\n provide: MAT_EXPANSION_PANEL_DEFAULT_OPTIONS,\r\n useValue: {\r\n expandedHeight: '*',\r\n collapsedHeight: '*'\r\n }\r\n }\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class QMSListModule { }\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, forwardRef, Input, OnInit, Renderer2, ViewEncapsulation } from \"@angular/core\";\r\nimport { ControlValueAccessor, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from \"@angular/forms\";\r\n@Component({\r\n selector: 'qms-rich-text',\r\n templateUrl: 'rich-text.html',\r\n styleUrls: ['rich-text.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => QMSRichText),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => QMSRichText),\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class QMSRichText implements OnInit, AfterViewInit, ControlValueAccessor, Validator {\r\n\r\n @Input('disabled') isDisabled: boolean;\r\n @Input('required') required: boolean = false;\r\n @Input('placeholder') placeholder: string;\r\n\r\n public _value: string;\r\n\r\n public Editor = [];\r\n\r\n public configEditor = {\r\n placeholder: 'Placeholder',\r\n toolbar: {\r\n items: [\r\n 'undo',\r\n 'redo',\r\n '|',\r\n 'alignment',\r\n '|',\r\n 'bold',\r\n 'italic',\r\n 'strikethrough',\r\n 'underline',\r\n '|',\r\n 'bulletedList',\r\n 'numberedList',\r\n '|',\r\n 'insertTable',\r\n \"blockQuote\",\r\n '|',\r\n 'heading'\r\n ]\r\n },\r\n alignment: {\r\n options: ['left', 'right', 'center', 'justify']\r\n },\r\n };\r\n\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n }\r\n\r\n onChange: (_value: any) => void;\r\n onTouched: () => void;\r\n\r\n writeValue(obj: any): void {\r\n this._value = obj;\r\n }\r\n registerOnChange(fn: any): void {\r\n\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngAfterViewInit() {\r\n this.configEditor.placeholder = this.placeholder;\r\n\r\n if (this.isDisabled) {\r\n this.renderer.addClass(this.elRef.nativeElement, 'ck-disabled');\r\n }\r\n }\r\n\r\n public onChanged({ editor }) {\r\n const data = editor.getData();\r\n this.writeValue(data);\r\n this.onChange(data);\r\n }\r\n\r\n public onBlur({ editor }) {\r\n const data = editor.getData();\r\n this.writeValue(data);\r\n this.onChange(data);\r\n }\r\n\r\n validate(c: FormControl) {\r\n if (!this.required) {\r\n return null;\r\n }\r\n return (this._value && !this.required) ? null : {\r\n type: {\r\n valid: false,\r\n actual: c.value\r\n }\r\n };\r\n }\r\n\r\n public onReady(editor) {\r\n if (this._value) {\r\n editor.setData(this._value);\r\n }\r\n this.initEditor(editor);\r\n }\r\n\r\n private initEditor(editor) {\r\n editor.ui\r\n .getEditableElement()\r\n .parentElement.insertBefore(editor.ui.view.toolbar.element, editor.ui.getEditableElement());\r\n\r\n }\r\n\r\n}\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { QMSRichText } from './rich-text';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n QMSRichText,\r\n ],\r\n declarations: [\r\n QMSRichText,\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class QMSRichTextModule { }\r\n","import { Component, ElementRef, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\n\r\n@Component({\r\n selector: 'qms-edit-file-name-dialog',\r\n templateUrl: 'edit-file-name-dialog.html',\r\n styleUrls: ['edit-file-name-dialog.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QMSEditFileNameDialog {\r\n fileName: string;\r\n LANG: any;\r\n constructor(\r\n public dialogRef: MatDialogRef<QMSEditFileNameDialog>, \r\n public trans: TranslateLibraryService,\r\n @Inject(MAT_DIALOG_DATA) public data: string) {\r\n this.fileName = this.data;\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n cancel(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n saveChanges(): void {\r\n this.dialogRef.close(this.fileName);\r\n }\r\n\r\n clearInput(): void {\r\n this.fileName = '';\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { SharedModule } from \"../../shared.module\";\r\nimport { QMSButtonModule } from \"../button/button.module\";\r\nimport { QMSEditFileNameDialog } from \"./edit-file-name-dialog\";\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n MatButtonModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n FormsModule,\r\n SharedModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatExpansionModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n QMSEditFileNameDialog\r\n ],\r\n declarations: [\r\n QMSEditFileNameDialog\r\n ],\r\n})\r\nexport class QMSEditFileNameDialogModule { }\r\n","import { Component, ElementRef, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\n\r\nexport class UploadErrorData {\r\n fileNames: string[];\r\n acceptedExtension: string[];\r\n}\r\n\r\n@Component({\r\n selector: 'qms-upload-file-error-dialog',\r\n templateUrl: 'upload-file-error-dialog.html',\r\n styleUrls: ['upload-file-error-dialog.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QMSUploadFileErrorDialog {\r\n unsupportedFiles: string[];\r\n supportedExtensions: string[];\r\n LANG: any;\r\n constructor(\r\n public dialogRef: MatDialogRef<QMSUploadFileErrorDialog>, \r\n public trans: TranslateLibraryService,\r\n @Inject(MAT_DIALOG_DATA) public data: UploadErrorData) {\r\n this.unsupportedFiles = this.data.fileNames;\r\n this.supportedExtensions = this.data.acceptedExtension;\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n ok(): void {\r\n this.dialogRef.close(null);\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { SharedModule } from \"../../shared.module\";\r\nimport { QMSButtonModule } from \"../button/button.module\";\r\nimport { QMSUploadFileErrorDialog } from \"./upload-file-error-dialog\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n MatButtonModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n FormsModule,\r\n SharedModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatExpansionModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n QMSUploadFileErrorDialog\r\n ],\r\n declarations: [\r\n QMSUploadFileErrorDialog\r\n ],\r\n})\r\nexport class QMSUploadFileErrorDialogModule { }","export enum DataType {\r\n document = 1,\r\n process = 2,\r\n area = 3,\r\n folder = 4,\r\n deviation = 5,\r\n checklist = 6,\r\n risk = 7,\r\n deviationType = 8,\r\n checklistCategory = 9,\r\n riskFolder = 10\r\n}","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { DataType } from \"../common/data-type.enum\";\r\nimport { SelectedNode } from \"../model/selected-node.model\";\r\n\r\n@Component({\r\n selector: 'qms-related-content',\r\n templateUrl: './related-content.component.html',\r\n styleUrls: ['./related-content.component.scss']\r\n})\r\nexport class RelatedContentComponent implements OnInit {\r\n LANG: any;\r\n @Input() header: string;\r\n @Input() contents: Array<SelectedNode> = [];\r\n\r\n dataType = DataType;\r\n imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';\r\n\r\n ngOnInit(): void {\r\n this.LANG = '';\r\n }\r\n\r\n removeContent(content: SelectedNode) {\r\n const index = this.contents.findIndex(x => {\r\n return x.id === content.id;\r\n });\r\n if (index >= 0) {\r\n this.contents.splice(index, 1);\r\n }\r\n }\r\n}\r\n","export enum ModuleType {\r\n documentProcess = 1,\r\n deviation = 2,\r\n checklist = 3,\r\n risk = 4\r\n}\r\n","export class RelatedConst {\r\n public static IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';\r\n public static HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';\r\n public static SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';\r\n}\r\n","import { TreeConfig } from \"./tree-config.model\";\r\nimport { TreeModel } from \"./tree.model\";\r\nexport class PopupData {\r\n moduleId: number;\r\n moduleName: string;\r\n treeData1: Array<TreeModel>;\r\n treeData2: Array<TreeModel>;\r\n treeConfig1: TreeConfig;\r\n treeConfig2: TreeConfig;\r\n selectedNode?: Array<any>;\r\n disabledList?: Array<any>;\r\n disabledList2?: Array<any>;\r\n\r\n constructor() {\r\n this.moduleId = 0;\r\n this.moduleName = '';\r\n this.treeData1 = [];\r\n this.treeData2 = [];\r\n this.selectedNode = [];\r\n this.disabledList = [];\r\n this.disabledList2 = [];\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { IRelated } from \"../model/related-data.model\";\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class QMSRelatedGlobalService {\r\n searchRelated = new BehaviorSubject<IRelated[]>([]);\r\n\r\n constructor() { }\r\n\r\n setSearchRelated(result: IRelated[]) {\r\n this.searchRelated.next(result);\r\n }\r\n}\r\n ","export const PROCESS_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 3V9H5V19H15V21H21V15H15V17H7V9H9V7H15V9H21V3H15V5H9V3H3ZM7 5V7H5V5H7ZM19 5V7H17V5H19ZM19 19V17H17V19H19Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const PROCESS_AREA_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V11H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M13 16.5V13H16.5V14.1667H20V13H23.5V16.5H20V15.3333H16.5V16.5H15.3333V21.1667H20V20H23.5V23.5H20V22.3333H14.1667V16.5H13Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const PROCESS_AREA_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V11H13C11.8954 11 11 11.8954 11 13V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M13 16.5V13H16.5V14.1667H20V13H23.5V16.5H20V15.3333H16.5V16.5H15.3333V21.1667H20V20H23.5V23.5H20V22.3333H14.1667V16.5H13Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DOCUMENT_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6 2H14L20 8V20C20 21.1 19.1 22 18 22H5.99C4.89 22 4 21.1 4 20L4.01 4C4.01 2.9 4.9 2 6 2ZM6 4V20H18V9H13V4H6Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DEVIATION_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 21.5L12 2.5L23 21.5H1ZM19.53 19.5L12 6.49L4.47 19.5H19.53ZM11 16.5V18.5H13V16.5H11ZM11 10.5H13V14.5H11V10.5Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const CHECKLIST_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M3 13H5V11H3V13Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M3 17H5V15H3V17Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M3 9H5V7H3V9Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M7 13H21V11H7V13Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M7 17H21V15H7V17Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M7 7V9H21V7H7Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const RISK_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 3V21H21V3H3ZM11 19H5V13H11V19ZM5 11H11V5H5V11ZM19 19H13V13H19V19ZM13 11H19V5H13V11Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const NORMAL_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4ZM11.17 8L9.17 6H4V18H20V8H11.17Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const NORMAL_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.59 4.59C10.21 4.21 9.7 4 9.17 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6H12L10.59 4.59Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const LOCAL_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V12H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 21.5001V19.0001H19V21.5001C19 21.7751 19.225 22.0001 19.5 22.0001H21C21.275 22.0001 21.5 21.7751 21.5 21.5001V18.0001H22.35C22.58 18.0001 22.69 17.7151 22.515 17.5651L18.335 13.8001C18.145 13.6301 17.855 13.6301 17.665 13.8001L13.485 17.5651C13.315 17.7151 13.42 18.0001 13.65 18.0001H14.5V21.5001C14.5 21.7751 14.725 22.0001 15 22.0001H16.5C16.775 22.0001 17 21.7751 17 21.5001Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\n\r\nexport const LOCAL_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V12H17C13.6863 12 11 14.6863 11 18V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 21.5001V19.0001H19V21.5001C19 21.7751 19.225 22.0001 19.5 22.0001H21C21.275 22.0001 21.5 21.7751 21.5 21.5001V18.0001H22.35C22.58 18.0001 22.69 17.7151 22.515 17.5651L18.335 13.8001C18.145 13.6301 17.855 13.6301 17.665 13.8001L13.485 17.5651C13.315 17.7151 13.42 18.0001 13.65 18.0001H14.5V21.5001C14.5 21.7751 14.725 22.0001 15 22.0001H16.5C16.775 22.0001 17 21.7751 17 21.5001Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\n\r\nexport const ENTERPRISE_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V11H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.5 17.5V13.5H15.5V15.5H13.5V22.5H17.5V20.5H18.5V22.5H22.5V17.5H20.5ZM15.5 21.5H14.5V20.5H15.5V21.5ZM15.5 19.5H14.5V18.5H15.5V19.5ZM15.5 17.5H14.5V16.5H15.5V17.5ZM17.5 19.5H16.5V18.5H17.5V19.5ZM17.5 17.5H16.5V16.5H17.5V17.5ZM17.5 15.5H16.5V14.5H17.5V15.5ZM19.5 19.5H18.5V18.5H19.5V19.5ZM19.5 17.5H18.5V16.5H19.5V17.5ZM19.5 15.5H18.5V14.5H19.5V15.5ZM21.5 21.5H20.5V20.5H21.5V21.5ZM21.5 19.5H20.5V18.5H21.5V19.5Z\" fill=\"#CF4714\"/>\r\n</svg>\r\n`;\r\n\r\nexport const ENTERPRISE_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V11H17C13.6863 11 11 13.6863 11 17V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.5 17.5V13.5H15.5V15.5H13.5V22.5H17.5V20.5H18.5V22.5H22.5V17.5H20.5ZM15.5 21.5H14.5V20.5H15.5V21.5ZM15.5 19.5H14.5V18.5H15.5V19.5ZM15.5 17.5H14.5V16.5H15.5V17.5ZM17.5 19.5H16.5V18.5H17.5V19.5ZM17.5 17.5H16.5V16.5H17.5V17.5ZM17.5 15.5H16.5V14.5H17.5V15.5ZM19.5 19.5H18.5V18.5H19.5V19.5ZM19.5 17.5H18.5V16.5H19.5V17.5ZM19.5 15.5H18.5V14.5H19.5V15.5ZM21.5 21.5H20.5V20.5H21.5V21.5ZM21.5 19.5H20.5V18.5H21.5V19.5Z\" fill=\"#CF4714\"/>\r\n</svg>`;\r\n\r\nexport const REGIONAL_FOLDER_OUTLINED_ICON = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H12V18H4V6H9.17L11.17 8H20V11H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.4999 13.0833C16.4037 13.0833 14.7083 14.7787 14.7083 16.8749C14.7083 19.1337 17.1024 22.2483 18.0883 23.4345C18.3049 23.6945 18.7003 23.6945 18.917 23.4345C19.8974 22.2483 22.2916 19.1337 22.2916 16.8749C22.2916 14.7787 20.5962 13.0833 18.4999 13.0833ZM18.4999 18.2291C17.7524 18.2291 17.1458 17.6224 17.1458 16.8749C17.1458 16.1274 17.7524 15.5208 18.4999 15.5208C19.2474 15.5208 19.8541 16.1274 19.8541 16.8749C19.8541 17.6224 19.2474 18.2291 18.4999 18.2291Z\" fill=\"#662E0D\"/>\r\n</svg>\r\n`;\r\n\r\nexport const REGIONAL_FOLDER_ICON = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V11H18C14.6863 11 12 13.6863 12 17V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.4999 13.0833C16.4037 13.0833 14.7083 14.7787 14.7083 16.8749C14.7083 19.1337 17.1024 22.2483 18.0883 23.4345C18.3049 23.6945 18.7003 23.6945 18.917 23.4345C19.8974 22.2483 22.2916 19.1337 22.2916 16.8749C22.2916 14.7787 20.5962 13.0833 18.4999 13.0833ZM18.4999 18.2291C17.7524 18.2291 17.1458 17.6224 17.1458 16.8749C17.1458 16.1274 17.7524 15.5208 18.4999 15.5208C19.2474 15.5208 19.8541 16.1274 19.8541 16.8749C19.8541 17.6224 19.2474 18.2291 18.4999 18.2291Z\" fill=\"#662E0D\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DEPARTMENT_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V12H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20 15.25H22C22.555 15.25 23 15.695 23 16.25V21.75C23 22.305 22.555 22.75 22 22.75H14C13.445 22.75 13 22.305 13 21.75L13.005 16.25C13.005 15.695 13.445 15.25 14 15.25H16V14.25C16 13.695 16.445 13.25 17 13.25H19C19.555 13.25 20 13.695 20 14.25V15.25ZM17 15.25H19V14.25H17V15.25Z\" fill=\"#00804C\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DEPARTMENT_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V12H17C13.6863 12 11 14.6863 11 18V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20 15.25H22C22.555 15.25 23 15.695 23 16.25V21.75C23 22.305 22.555 22.75 22 22.75H14C13.445 22.75 13 22.305 13 21.75L13.005 16.25C13.005 15.695 13.445 15.25 14 15.25H16V14.25C16 13.695 16.445 13.25 17 13.25H19C19.555 13.25 20 13.695 20 14.25V15.25ZM17 15.25H19V14.25H17V15.25Z\" fill=\"#00804C\"/>\r\n</svg>\r\n`;\r\n\r\n\r\nexport const KEYBOARD_UP_ICON = `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\"/></svg>\r\n`;\r\n\r\nexport const KEYBOARD_DOWN_ICON = `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"/></svg>\r\n`;\r\n","export enum DocumentNodeType {\r\n Document = 1,\r\n LinkDocument = 2,\r\n FileDocument = 3,\r\n ShortcutDocument = 4,\r\n Folder = 5, // Level 2\r\n TopFolder = 6, // Level 1\r\n DepartmentFolder = 7,\r\n RegionalFolder = 8\r\n}","export enum ItemIconType {\r\n none = 0,\r\n name = 1,\r\n path = 2,\r\n base64 = 3,\r\n svg = 4\r\n}\r\n","export class TreeNode {\r\n children: TreeNode[];\r\n id: string;\r\n name: string;\r\n parentId?: string;\r\n}\r\n","import { TreeNode } from '../model/tree-node.model';\r\nimport { TreeModel } from '../model/tree.model';\r\n\r\nlet objData = {};\r\nlet json = JSON;\r\nfunction buildArrayTree(obj: object, level: number): TreeNode[] {\r\n return Object.keys(obj).reduce<TreeNode[]>((accumulator, key) => {\r\n const value = obj[key];\r\n const node = new TreeNode();\r\n const keyObj = json.parse(key);\r\n node.id = keyObj[\"id\"];\r\n node.name = keyObj[\"name\"];\r\n node.parentId = keyObj[\"parentId\"]\r\n\r\n if (value != null) {\r\n if (typeof value === 'object') {\r\n node.children = this.buildArrayTree(value, level + 1);\r\n } else {\r\n node.name = value;\r\n }\r\n }\r\n\r\n return accumulator.concat(node);\r\n }, []);\r\n}\r\n\r\nfunction buildObjectTree(arr: TreeModel[]): object {\r\n objData = {};\r\n let objTreeData;\r\n const root = arr.filter((x: { parentId: string }) => {\r\n return x.parentId === '';\r\n });\r\n root.forEach((item) => {\r\n objTreeData = this.findParent(item.rootId, arr);\r\n });\r\n return objTreeData;\r\n}\r\n\r\nfunction findParent(id: string, array: TreeModel[]) {\r\n const objParent = {};\r\n const parent = array.filter((x: { rootId: string }) => {\r\n return x.rootId === id;\r\n });\r\n\r\n parent.forEach((item) => {\r\n let parentKey = {\r\n id: item.childId,\r\n name: item.childName,\r\n parentId: item.rootId\r\n }\r\n objParent[json.stringify(parentKey)] = null;\r\n });\r\n\r\n // find child\r\n const child = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n if (child.length > 0) {\r\n this.findChild(id, objParent, array);\r\n }\r\n\r\n let key = {\r\n id: parent[0].rootId,\r\n name: parent[0].rootName,\r\n parentId: ''\r\n }\r\n // add node to tree\r\n objData[json.stringify(key)] = objParent;\r\n return objData;\r\n}\r\n\r\nfunction findChild(id: string, objParent: object, array: TreeModel[]) {\r\n const subNode = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n subNode.forEach((item) => {\r\n const processNode = {};\r\n let nodeKey = {\r\n id: item.childId,\r\n name: item.childName,\r\n parentId: item.rootId\r\n }\r\n processNode[json.stringify(nodeKey)] = null;\r\n this.findChild(item.rootId, processNode, array);\r\n\r\n let key = {\r\n id: item.rootId,\r\n name: item.subName,\r\n parentId: id\r\n }\r\n objParent[json.stringify(key)] = { ...objParent[json.stringify(key)], ...processNode };\r\n });\r\n}\r\n\r\nconst TreeFunctions = {\r\n buildArrayTree,\r\n buildObjectTree,\r\n findParent,\r\n findChild\r\n};\r\n\r\nexport default TreeFunctions;\r\n","import { SelectionModel } from '@angular/cdk/collections';\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { DataType } from '../common/data-type.enum';\r\nimport { DocumentNodeType } from '../common/document-folder-type.enum';\r\nimport { ItemIconType } from '../common/item-icon-type.enum';\r\nimport { CHECKLIST_ICON, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_ICON, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON } from '../common/qms-icon.const';\r\nimport { RelatedConst } from '../common/related.const';\r\nimport TreeFunctions from '../common/tree.function';\r\nimport { TreeConfig } from '../model/tree-config.model';\r\nimport { TreeModel } from '../model/tree.model';\r\n\r\ninterface TreeNode {\r\n id: string;\r\n name: string;\r\n children?: TreeNode[];\r\n parentId?: string;\r\n}\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n parentId?: string;\r\n disabled: boolean;\r\n}\r\n\r\ninterface ICheckedNode {\r\n id: string;\r\n checked: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-tree',\r\n templateUrl: './tree.component.html',\r\n styleUrls: ['./tree.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class TreeComponent implements OnInit, OnChanges {\r\n @Input() treeData: Array<TreeModel> = [];\r\n @Input() treeConfig: TreeConfig;\r\n @Input() selectedData: Array<TreeFlatNode> = [];\r\n @Input() selectedRiskData: any = [];\r\n @Input() disabledList: any = [];\r\n @Output() selectNodeEvent: EventEmitter<TreeFlatNode> = new EventEmitter();\r\n @Output() selectFolderEvent: EventEmitter<TreeFlatNode> = new EventEmitter();\r\n @Output() checkBoxEvent: EventEmitter<TreeFlatNode[]> = new EventEmitter();\r\n @Output() childCheckedEvent: EventEmitter<ICheckedNode> = new EventEmitter();\r\n\r\n listParentObj = {};\r\n filterData: TreeModel[] = [];\r\n treeObject: object;\r\n arrIndex: string[] = [];\r\n checkedNodeList: Array<TreeFlatNode> = [];\r\n useExpandFeature = true;\r\n allowSelectFolder = false;\r\n areaOfCurrentProcess = '';\r\n showCheckBox = false;\r\n allowMultipleCheck = true;\r\n singleSelectedNode = false;\r\n onlyCheckBoxForChild = false;\r\n itemIconType = ItemIconType;\r\n displayType = 1;\r\n openIcon = '';\r\n openIconColor = '#1954A9';\r\n closeIcon = '';\r\n closeIconColor = '#000000';\r\n itemIcon = '';\r\n itemIconSvg = '';\r\n itemIconPath = '';\r\n itemIconBase64 = '';\r\n moduleId: number;\r\n\r\n treeControl = new FlatTreeControl<TreeFlatNode>(\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n }\r\n );\r\n\r\n isChecked = false;\r\n checklistSelection: any;\r\n\r\n constructor(private cdRef: ChangeDetectorRef,\r\n private domSanitizer: DomSanitizer,\r\n private iconRegistry: MatIconRegistry) {\r\n iconRegistry.addSvgIconLiteral('process', domSanitizer.bypassSecurityTrustHtml(PROCESS_ICON));\r\n iconRegistry.addSvgIconLiteral('process_area', domSanitizer.bypassSecurityTrustHtml(PROCESS_AREA_ICON));\r\n iconRegistry.addSvgIconLiteral('process_area_outlined', domSanitizer.bypassSecurityTrustHtml(PROCESS_AREA_OUTLINED_ICON));\r\n\r\n iconRegistry.addSvgIconLiteral('document', domSanitizer.bypassSecurityTrustHtml(DOCUMENT_ICON));\r\n iconRegistry.addSvgIconLiteral('checklist', domSanitizer.bypassSecurityTrustHtml(CHECKLIST_ICON));\r\n iconRegistry.addSvgIconLiteral('deviation', domSanitizer.bypassSecurityTrustHtml(DEVIATION_ICON));\r\n iconRegistry.addSvgIconLiteral('risk', domSanitizer.bypassSecurityTrustHtml(RISK_ICON));\r\n\r\n iconRegistry.addSvgIconLiteral('folder', domSanitizer.bypassSecurityTrustHtml(NORMAL_FOLDER_ICON));\r\n iconRegistry.addSvgIconLiteral('folder_outlined', domSanitizer.bypassSecurityTrustHtml(NORMAL_FOLDER_OUTLINED_ICON));\r\n\r\n iconRegistry.addSvgIconLiteral('local_folder', domSanitizer.bypassSecurityTrustHtml(LOCAL_FOLDER_ICON));\r\n iconRegistry.addSvgIconLiteral('local_folder_outlined', domSanitizer.bypassSecurityTrustHtml(LOCAL_FOLDER_OUTLINED_ICON));\r\n\r\n iconRegistry.addSvgIconLiteral('enterprise_folder', domSanitizer.bypassSecurityTrustHtml(ENTERPRISE_FOLDER_ICON));\r\n iconRegistry.addSvgIconLiteral('enterprise_folder_outlined', domSanitizer.bypassSecurityTrustHtml(ENTERPRISE_FOLDER_OUTLINED_ICON));\r\n\r\n iconRegistry.addSvgIconLiteral('regional_folder', domSanitizer.bypassSecurityTrustHtml(REGIONAL_FOLDER_ICON));\r\n iconRegistry.addSvgIconLiteral('regional_folder_outlined', domSanitizer.bypassSecurityTrustHtml(REGIONAL_FOLDER_OUTLINED_ICON));\r\n\r\n iconRegistry.addSvgIconLiteral('department_folder', domSanitizer.bypassSecurityTrustHtml(DEPARTMENT_FOLDER_ICON));\r\n iconRegistry.addSvgIconLiteral('department_folder_outlined', domSanitizer.bypassSecurityTrustHtml(DEPARTMENT_FOLDER_OUTLINED_ICON));\r\n\r\n iconRegistry.addSvgIconLiteral('keyboard_up', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_UP_ICON));\r\n iconRegistry.addSvgIconLiteral('keyboard_down', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_DOWN_ICON));\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.treeData && JSON.stringify(changes.treeData.currentValue) !== JSON.stringify(changes.treeData.previousValue)) {\r\n this.treeData = [...this.treeData, changes.treeData.currentValue];\r\n this.initTreeData();\r\n }\r\n\r\n if (changes.selectedData &&\r\n (changes.selectedData.currentValue.length > 0 ||\r\n JSON.stringify(changes.selectedData.currentValue) !==\r\n JSON.stringify(changes.selectedData.previousValue))) {\r\n this.checkSelected(changes.selectedData.currentValue);\r\n } else {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n this.checklistSelection.deselect(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initTreeData();\r\n }\r\n\r\n initTreeData() {\r\n this.treeData.forEach(item => {\r\n if (!!item.parentId && item.parentId.length > 0) {\r\n this.listParentObj[item.parentId] = 1;\r\n }\r\n if (item.childId && item.childId.length > 0) {\r\n this.listParentObj[item.rootId] = 1;\r\n }\r\n });\r\n\r\n if (this.treeConfig.showCheckBox) {\r\n this.filterData = this.treeData;\r\n }\r\n else {\r\n this.filterData = this.treeData.filter((x) => {\r\n return x.parentId === '';\r\n });\r\n }\r\n\r\n this.treeObject = TreeFunctions.buildObjectTree(this.filterData);\r\n this.dataSource.data = TreeFunctions.buildArrayTree(this.treeObject, 0).map(element => {\r\n const item = this.sortDataTree(element);\r\n element = null;\r\n element = { ...{}, ...item };\r\n return element;\r\n });\r\n\r\n this.useExpandFeature = !this.treeConfig.showCheckBox;\r\n this.allowSelectFolder = this.treeConfig.allowSelectFolder;\r\n this.areaOfCurrentProcess = this.treeConfig.areaOfCurrentProcess;\r\n this.showCheckBox = this.treeConfig.showCheckBox;\r\n this.onlyCheckBoxForChild = this.treeConfig.onlyCheckBoxForChild;\r\n this.moduleId = this.treeConfig.moduleId;\r\n this.openIcon = this.treeConfig.openIcon;\r\n this.openIconColor = this.treeConfig.openIconColor ? this.treeConfig.openIconColor : this.openIconColor;\r\n this.closeIcon = this.treeConfig.closeIcon;\r\n this.closeIconColor = this.treeConfig.closeIconColor ? this.treeConfig.closeIconColor : this.closeIconColor;\r\n this.itemIcon = this.treeConfig.itemIcon;\r\n this.itemIconSvg = this.treeConfig.itemIconSvg;\r\n this.itemIconPath = this.treeConfig.itemIconPath;\r\n this.itemIconBase64 = this.domSanitizer.bypassSecurityTrustResourceUrl(this.treeConfig.itemIconBase64) as string;\r\n this.allowMultipleCheck = this.treeConfig.allowMultipleCheck;\r\n this.singleSelectedNode = this.treeConfig.singleSelectedNode;\r\n this.checklistSelection = new SelectionModel<TreeFlatNode>(this.allowMultipleCheck); /* true: multiple */\r\n\r\n this.displayType = this.getItemIconType(this.treeConfig);\r\n\r\n // Expand child node tree\r\n if (this.treeConfig.expandAll) {\r\n this.treeControl.expandAll();\r\n }\r\n\r\n // Risk Tree\r\n if (this.selectedRiskData.length) {\r\n const selectedData = [];\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n this.selectedRiskData.forEach(x => {\r\n const index = selectedData.findIndex(el => el.id === x.rootId);\r\n if (x.rootId === this.treeControl.dataNodes[i].id && index < 0) {\r\n selectedData.push(this.treeControl.dataNodes[i]);\r\n }\r\n });\r\n }\r\n\r\n this.checkSelected(selectedData);\r\n this.checkBoxEvent.emit(selectedData);\r\n }\r\n\r\n // Disable List\r\n if (this.disabledList.length) {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n this.disabledList.forEach(x => {\r\n if (x.id === this.treeControl.dataNodes[i].id\r\n && (!x.parentId || x.parentId === this.treeControl.dataNodes[i].parentId)) {\r\n this.treeControl.dataNodes[i].disabled = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n sortDataTree(obj) {\r\n if (obj.children) {\r\n let child = [];\r\n const leafNode = obj.children.filter(x => !x.children);\r\n const subFolderNode = obj.children.filter(x => x.children);\r\n // for(let index = subFolderNode.length - 1; index >= 0 ; index--){\r\n // let el = subFolderNode[index];\r\n // this.sortDataTree(el); \r\n // child.unshift(el); \r\n // }\r\n subFolderNode.forEach(element => {\r\n let el = element;\r\n this.sortDataTree(el);\r\n child.push(el);\r\n });\r\n\r\n leafNode.forEach(element => {\r\n let el = element;\r\n child.push(el);\r\n });\r\n obj.children = child;\r\n }\r\n return obj;\r\n }\r\n\r\n getImagePath() {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(this.treeConfig.itemIconBase64) as string;\r\n }\r\n\r\n checkSelected(itemSelected: TreeFlatNode[]) {\r\n setTimeout(() => {\r\n if (!this.treeControl['dataNodes']) return;\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n const tree = this.treeControl.dataNodes[i];\r\n this.checklistSelection.deselect(tree);\r\n\r\n for (let j = 0; j < itemSelected.length; j++) {\r\n const element = itemSelected[j];\r\n if (tree.id === element.id && (!element.parentId || tree.parentId === element.parentId) && !tree.disabled) {\r\n this.checklistSelection.select(tree);\r\n }\r\n }\r\n }\r\n }, 500);\r\n\r\n }\r\n\r\n checkSelectedSameNode(itemSelected: TreeFlatNode[], flag: boolean) {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n const tree = this.treeControl.dataNodes[i];\r\n for (let j = 0; j < itemSelected.length; j++) {\r\n const element = itemSelected[j];\r\n if (element.id && tree.id === element.id\r\n && tree.parentId === element.parentId && !tree.disabled) {\r\n flag ? this.checklistSelection.select(tree) : this.checklistSelection.deselect(tree);\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n private getItemIconType(treeConfig: TreeConfig) {\r\n if (treeConfig.itemIcon && treeConfig.itemIcon.length) return this.itemIconType.name;\r\n if (treeConfig.itemIconPath && treeConfig.itemIconPath.length) return this.itemIconType.path;\r\n if (treeConfig.itemIconBase64 && treeConfig.itemIconBase64.length) return this.itemIconType.base64;\r\n if (treeConfig.itemIconSvg && treeConfig.itemIconSvg.length) return this.itemIconType.svg;\r\n return this.itemIconType.none;\r\n }\r\n\r\n private transformer = (node: TreeNode, level: number) => {\r\n let checkHasChild = true;\r\n if (!node.children) {\r\n checkHasChild = false;\r\n } else if (!(!!node.children && node.children.length && node.children.length > 0)) {\r\n checkHasChild = false;\r\n }\r\n // tslint:disable-next-line:max-line-length\r\n else if (\r\n !!node.children &&\r\n node.children.length &&\r\n node.children.length === 1 &&\r\n !node.children[0].name.length &&\r\n node.id.toString() === this.areaOfCurrentProcess\r\n ) {\r\n checkHasChild = false;\r\n }\r\n\r\n if (!(this.listParentObj[node.id] === 1)) {\r\n checkHasChild = false;\r\n }\r\n\r\n return {\r\n expandable: !!node.children && node.children.length > 0,\r\n name: node.name,\r\n level,\r\n id: node.id,\r\n hasChild: checkHasChild,\r\n parentId: node.parentId,\r\n disabled: false\r\n };\r\n };\r\n\r\n treeFlattener = new MatTreeFlattener(\r\n this.transformer,\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n },\r\n (node) => {\r\n return node.children;\r\n }\r\n );\r\n\r\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\r\n\r\n\r\n /** Whether all the descendants of the node are selected */\r\n descendantsAllSelected(node: TreeFlatNode): boolean {\r\n\r\n const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];\r\n\r\n if (!descendants.length) {\r\n return this.checklistSelection.isSelected(node);\r\n }\r\n const selected = this.checklistSelection.isSelected(node);\r\n\r\n const allSelected = descendants.every(child => this.checklistSelection.isSelected(child));\r\n if (!selected && allSelected) {\r\n this.checklistSelection.select(node);\r\n this.cdRef.markForCheck();\r\n }\r\n return allSelected;\r\n\r\n }\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: TreeFlatNode): boolean {\r\n const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];\r\n\r\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\r\n todoItemSelectionToggle(node: TreeFlatNode): void {\r\n // tree have duplicate node\r\n if (this.treeConfig.canHaveDupId) {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === node.id\r\n && this.treeControl.dataNodes[i].parentId === node.parentId\r\n && !this.treeControl.dataNodes[i].disabled) {\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n } else {\r\n this.checklistSelection.toggle(node);\r\n }\r\n\r\n\r\n // process/ document single selected\r\n if (this.singleSelectedNode) {\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n\r\n } else {\r\n const descendants = this.treeControl.getDescendants(node).filter(item => !item.disabled);\r\n\r\n this.checkSelectedSameNode(descendants, this.descendantsAllSelected(node));\r\n\r\n !this.descendantsAllSelected(node)\r\n ? this.checklistSelection.select(...descendants)\r\n : this.checklistSelection.deselect(...descendants);\r\n\r\n this.cdRef.markForCheck();\r\n\r\n const allNodeIsParent = this.checklistSelection.selected.every(child => child.expandable);\r\n if (allNodeIsParent) {\r\n this.checklistSelection.selected.forEach(element => {\r\n this.checklistSelection.deselect(element);\r\n });\r\n }\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n }\r\n\r\n\r\n }\r\n\r\n todoChildSelectionToggle(node: TreeFlatNode): void {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === node.id\r\n && this.treeControl.dataNodes[i].parentId === node.parentId\r\n && !this.treeControl.dataNodes[i].disabled) {\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n // this.checklistSelection.toggle(node);\r\n this.cdRef.markForCheck();\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n\r\n }\r\n\r\n public todoItemSelectionById(ids: any[]): void {\r\n ids.forEach(\r\n id => {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === id\r\n && !this.treeControl.dataNodes[i].disabled) {\r\n if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n }\r\n )\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n }\r\n\r\n public todoItemSelection(nodes: TreeNode[]): void {\r\n nodes.forEach(\r\n node => {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === node.id &&\r\n this.treeControl.dataNodes[i].parentId === node.parentId &&\r\n !this.treeControl.dataNodes[i].disabled) {\r\n if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n }\r\n )\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n }\r\n\r\n hasChild = (_: number, node: TreeFlatNode) => {\r\n return node.expandable;\r\n };\r\n\r\n selectNode(node: TreeFlatNode) {\r\n if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {\r\n window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');\r\n }\r\n\r\n this.selectNodeEvent.emit(node);\r\n }\r\n\r\n selectFolder(node: TreeFlatNode) {\r\n this.selectFolderEvent.emit(node);\r\n }\r\n\r\n onExpandNode(node: TreeFlatNode, isExpandNode?: boolean) {\r\n if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {\r\n window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');\r\n }\r\n // set useExpandFeature = true to improve performance of tree loading\r\n if (!isExpandNode || !this.useExpandFeature) {\r\n for (let i = 0; i < this.arrIndex.length; i++) {\r\n if (this.arrIndex[i] === node.id) {\r\n this.arrIndex.splice(i, 1);\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n // get array index to expand node after refresh datasource\r\n let index = 0;\r\n let isChange = false;\r\n let isRemove = false;\r\n this.arrIndex.push(node.id);\r\n\r\n const childArray = this.treeData.filter((x) => {\r\n return x.parentId === node.id;\r\n });\r\n let rootId = '0';\r\n let parentElement: TreeNode;\r\n let childrenList: TreeNode[];\r\n if (childArray.length === 0) {\r\n return;\r\n }\r\n childArray.forEach((item) => {\r\n if (item.rootId === rootId) {\r\n return;\r\n }\r\n\r\n // get child node from original datasource\r\n const child = this.getChildNode(item.rootId, childArray);\r\n rootId = item.rootId;\r\n\r\n index = this.getNodeIndex(child.id, undefined, this.dataSource['_treeControl'].dataNodes);\r\n if (index > -1) {\r\n return;\r\n }\r\n\r\n // add child node to expand node\r\n parentElement = this.findParentNode(node.id, this.dataSource.data);\r\n if (parentElement) {\r\n // temporary remove all node without children => purpose to add node folder first\r\n if (!isRemove) {\r\n childrenList = [...parentElement.children];\r\n this.removeChildren(parentElement);\r\n isRemove = true;\r\n }\r\n // add node folder first\r\n parentElement.children.push(child);\r\n isChange = true;\r\n }\r\n });\r\n // add node without children again\r\n if (isRemove) {\r\n this.addChildren(parentElement, childrenList);\r\n }\r\n\r\n // refresh data and expand tree node from root node\r\n if (isChange) {\r\n this.refreshTreeData();\r\n this.arrIndex.forEach((item) => {\r\n index = this.getNodeIndex(item, undefined, this.dataSource['_treeControl'].dataNodes);\r\n this.treeControl.expand(this.treeControl.dataNodes[index]);\r\n });\r\n isChange = false;\r\n }\r\n }\r\n\r\n removeChildren(parentElement?: TreeNode) {\r\n if (parentElement.children) {\r\n parentElement.children.length = 0;\r\n }\r\n }\r\n\r\n addChildren(parentElement?: TreeNode, childrenList?: TreeNode[]) {\r\n if (childrenList) {\r\n childrenList.forEach((e) => {\r\n parentElement.children.push(e);\r\n });\r\n }\r\n }\r\n\r\n getNodeIndex(id: string, level?: number, data?: any[]) {\r\n if (level) {\r\n return data.findIndex((x) => {\r\n return x.id === id && x.level === level;\r\n });\r\n }\r\n\r\n return data.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n }\r\n\r\n getChildNode(rootId: string, data: any) {\r\n const childArray = data.filter((x) => {\r\n return x.rootId === rootId;\r\n });\r\n const child = { id: childArray[0].rootId, name: childArray[0].subName, children: [] } as TreeNode;\r\n childArray.forEach((item) => {\r\n child.children.push({ id: item.childId, name: item.childName, parentId: rootId });\r\n });\r\n return child;\r\n }\r\n\r\n findParentNode(id: string, data: TreeNode[]) {\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentFather of data) {\r\n if (currentFather.id === id) {\r\n return currentFather;\r\n }\r\n\r\n if (currentFather.children) {\r\n const currentChild = currentFather.children.find((x) => {\r\n return x.id === id;\r\n });\r\n if (currentChild) {\r\n return currentChild;\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentChild1 of currentFather.children) {\r\n if (id !== currentChild1.id) {\r\n const result = this.findParentNode(id, currentFather.children);\r\n if (result !== false) {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n refreshTreeData() {\r\n const data = this.dataSource.data;\r\n this.dataSource.data = [];\r\n this.dataSource.data = data;\r\n }\r\n\r\n getNodeIcon(node: TreeFlatNode) {\r\n if (this.openIcon && this.closeIcon) {\r\n return this.treeControl.isExpanded(node) ? this.openIcon : this.closeIcon;\r\n }\r\n switch (this.moduleId) {\r\n case DataType.document: {\r\n const nodeData = this.treeData.filter(x => { return x.rootId === node.id; });\r\n if (nodeData.length > 0) {\r\n switch (nodeData[0].levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return this.treeControl.isExpanded(node) ? 'department_folder_outlined' : 'department_folder';\r\n case DocumentNodeType.RegionalFolder:\r\n return this.treeControl.isExpanded(node) ? 'regional_folder_outlined' : 'regional_folder';\r\n case DocumentNodeType.TopFolder:\r\n return this.treeControl.isExpanded(node) ? 'enterprise_folder_outlined' : 'enterprise_folder';\r\n case DocumentNodeType.Folder:\r\n return this.treeControl.isExpanded(node) ? 'local_folder_outlined' : 'local_folder';\r\n default:\r\n return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';\r\n }\r\n }\r\n return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';\r\n }\r\n case DataType.process:\r\n return this.treeControl.isExpanded(node) ? 'process_area_outlined' : 'process_area';\r\n default:\r\n return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';\r\n }\r\n }\r\n\r\n getItemIcon() {\r\n switch (this.moduleId) {\r\n case DataType.document:\r\n return 'document';\r\n case DataType.process:\r\n return 'process';\r\n case DataType.checklist:\r\n return 'checklist';\r\n case DataType.deviation:\r\n return 'deviation';\r\n case DataType.risk:\r\n return 'risk';\r\n default:\r\n return 'document';\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, EventEmitter, OnDestroy, ViewChild, ViewEncapsulation, AfterViewChecked, QueryList, ViewChildren } from '@angular/core';\r\nimport { Component, HostListener, Inject, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { DataType } from '../common/data-type.enum';\r\nimport { ModuleType } from '../common/module-type.enum';\r\nimport { RelatedConst } from '../common/related.const';\r\nimport { PopupData } from '../model/popup-data.model';\r\nimport { IRelated, RelatedItem } from '../model/related-data.model';\r\nimport { SelectedNode } from '../model/selected-node.model';\r\nimport { TreeConfig } from '../model/tree-config.model';\r\nimport { TreeModel } from '../model/tree.model';\r\nimport { QMSRelatedGlobalService } from '../service/related-global.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { CHECKLIST_ICON, DEVIATION_ICON, DOCUMENT_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, RISK_ICON } from '../common/qms-icon.const';\r\nimport { TreeComponent } from '../tree/tree.component';\r\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { TreeNode } from '../../../qms-ckeditor-components/common/models/qms-ckeditor-tree-node.model';\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n parentId?: string;\r\n disabled: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-related-popup',\r\n templateUrl: './related-popup.component.html',\r\n styleUrls: ['./related-popup.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelatedPopupComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n ngUnsubscribe = new Subject<void>();\r\n\r\n LANG: any;\r\n moduleId = 0;\r\n moduleName = '';\r\n treeData1: Array<TreeModel> = [];\r\n treeData2: Array<TreeModel> = [];\r\n treeConfig1: TreeConfig;\r\n treeConfig2: TreeConfig;\r\n\r\n checkedNodeList: Array<SelectedNode> = [];\r\n selectedNode: Array<SelectedNode> = [];\r\n selectedData: Array<TreeFlatNode> = [];\r\n selectedData2: Array<TreeFlatNode> = [];\r\n\r\n commonCheckedList: Array<TreeFlatNode> = [];\r\n documentCheckedList: Array<TreeFlatNode> = [];\r\n singleProcessList: Array<SelectedNode> = [];\r\n singleDocumentList: Array<SelectedNode> = [];\r\n\r\n module = ModuleType;\r\n dataType = DataType;\r\n itemType = 0;\r\n selectedRiskData: any = [];\r\n disabledList: any = [];\r\n disabledList2: any = [];\r\n\r\n isDocumentExpanded = true;\r\n isCommonExpanded = true;\r\n singleSelectedNode = false;\r\n\r\n myControl = new FormControl();\r\n filteredOptions: IRelated[] = [];\r\n isInputValue = false;\r\n onSearch = new EventEmitter();\r\n @ViewChildren(TreeComponent, {}) dataTrees: QueryList<TreeComponent>;\r\n\r\n @ViewChild('autoCompleteInputSearch', { read: MatAutocompleteTrigger, static: true })\r\n autoComplete: MatAutocompleteTrigger;\r\n constructor(\r\n private cdRef: ChangeDetectorRef,\r\n public translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<RelatedPopupComponent>,\r\n public globalService: QMSRelatedGlobalService,\r\n private iconRegistry: MatIconRegistry,\r\n private sanitizer: DomSanitizer,\r\n @Inject(MAT_DIALOG_DATA) public data: PopupData\r\n ) {\r\n this.moduleId = data.moduleId;\r\n this.moduleName = data.moduleName;\r\n this.treeData1 = data.treeData1;\r\n this.treeData2 = data.treeData2;\r\n this.treeConfig1 = data.treeConfig1;\r\n this.treeConfig2 = data.treeConfig2;\r\n this.selectedRiskData = data?.selectedNode || [];\r\n this.singleSelectedNode = data.treeConfig1.singleSelectedNode;\r\n this.disabledList = data.disabledList || [];\r\n this.disabledList2 = data.disabledList2 || [];\r\n iconRegistry.addSvgIconLiteral('process', sanitizer.bypassSecurityTrustHtml(PROCESS_ICON));\r\n iconRegistry.addSvgIconLiteral('process_area', sanitizer.bypassSecurityTrustHtml(PROCESS_AREA_ICON));\r\n iconRegistry.addSvgIconLiteral('process_area_outlined', sanitizer.bypassSecurityTrustHtml(PROCESS_AREA_OUTLINED_ICON));\r\n iconRegistry.addSvgIconLiteral('document', sanitizer.bypassSecurityTrustHtml(DOCUMENT_ICON));\r\n iconRegistry.addSvgIconLiteral('checklist', sanitizer.bypassSecurityTrustHtml(CHECKLIST_ICON));\r\n iconRegistry.addSvgIconLiteral('deviation', sanitizer.bypassSecurityTrustHtml(DEVIATION_ICON));\r\n iconRegistry.addSvgIconLiteral('risk', sanitizer.bypassSecurityTrustHtml(RISK_ICON));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.ngUnsubscribe.next();\r\n this.ngUnsubscribe.complete();\r\n this.globalService.setSearchRelated([]);\r\n }\r\n\r\n @HostListener('window:message', ['$event'])\r\n onMessage(event) {\r\n if (event.data === RelatedConst.HIDE_SEARCH_RESULT) {\r\n this.autoComplete.closePanel();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n\r\n this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {\r\n if (res && res.length) {\r\n this.filteredOptions = res;\r\n }\r\n });\r\n\r\n this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {\r\n this.isInputValue = true;\r\n this.onSearchRelated(val);\r\n });\r\n\r\n this.itemType = this.getDataTypeId(this.moduleId);\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdRef.detectChanges();\r\n if (this.filteredOptions && this.filteredOptions.length) {\r\n this.autoComplete.openPanel();\r\n this.setResultHeight();\r\n } else if (this.autoComplete) {\r\n this.autoComplete.closePanel();\r\n }\r\n }\r\n\r\n getDataTypeId(moduleId: number) {\r\n let itemType;\r\n switch (moduleId) {\r\n case ModuleType.documentProcess:\r\n itemType = this.dataType.process;\r\n break;\r\n case ModuleType.deviation:\r\n itemType = this.dataType.deviation;\r\n break;\r\n case ModuleType.checklist:\r\n itemType = this.dataType.checklist;\r\n break;\r\n case ModuleType.risk:\r\n itemType = this.dataType.risk;\r\n break;\r\n default:\r\n itemType = this.dataType.document;\r\n break;\r\n }\r\n return itemType;\r\n }\r\n\r\n removeCheckedNodeList(item: TreeFlatNode) {\r\n this.selectedData = [];\r\n this.selectedData2 = [];\r\n\r\n this.checkedNodeList = this.checkedNodeList.filter(x => (x.id !== item.id || x.parentId !== item.parentId));\r\n const tempArr = [];\r\n const tempArrDocument = [];\r\n const newSelectProcessList = [];\r\n const newSelectDocumentList = [];\r\n\r\n \r\n this.commonCheckedList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id === x.id && element.parentId === x.parentId) {\r\n tempArr.push(element);\r\n }\r\n });\r\n });\r\n\r\n this.singleProcessList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id === x.id && element.parentId === x.parentId) {\r\n newSelectProcessList.push(element);\r\n }\r\n });\r\n })\r\n\r\n this.singleProcessList = newSelectProcessList;\r\n this.selectedData = [...tempArr];\r\n\r\n this.documentCheckedList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id === x.id && element.parentId === x.parentId) {\r\n tempArrDocument.push(element);\r\n }\r\n });\r\n });\r\n\r\n this.singleDocumentList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id === x.id && element.parentId === x.parentId) {\r\n newSelectDocumentList.push(element);\r\n }\r\n });\r\n })\r\n this.singleDocumentList = newSelectDocumentList;\r\n this.selectedData2 = [...tempArrDocument];\r\n\r\n }\r\n\r\n isMatchTrue(arr: any[], arr2: any[]) {\r\n return arr.every((i) => {\r\n return arr2.includes(i);\r\n });\r\n }\r\n setResultHeight(arr?: IRelated[]) {\r\n let maxHeight = 484;\r\n const popup_content = document.getElementsByClassName('qmslib_related_popup_content')[0] as HTMLElement;\r\n const line__divider = document.getElementsByClassName('line__divider')[0] as HTMLElement;\r\n if (popup_content && line__divider) {\r\n maxHeight = this.getOffsetHeight(popup_content, true) + this.getOffsetHeight(line__divider, true) * 2;\r\n }\r\n\r\n const contentResult = document.getElementsByClassName('cdk-virtual-scroll-content-wrapper')[0] as HTMLElement;\r\n const viewreports = document.getElementsByClassName('related-viewport')[0] as HTMLElement;\r\n\r\n if (viewreports) {\r\n if (contentResult.offsetHeight <= maxHeight) {\r\n viewreports.style.height = `${contentResult.offsetHeight}px`;\r\n }\r\n else {\r\n viewreports.style.height = `${maxHeight}px`;\r\n }\r\n }\r\n }\r\n onSearchRelated(_val: any) {\r\n this.filteredOptions = [];\r\n if (typeof (_val) === 'object') {\r\n this.myControl.setValue('')\r\n }\r\n else if (typeof (_val) === 'string') {\r\n if (!!_val) {\r\n this.onSearch.emit(_val);\r\n }\r\n }\r\n }\r\n\r\n getModuleFilteredOptions(moduleId: number) {\r\n return this.filteredOptions.filter(x => x.itemType === moduleId);\r\n }\r\n\r\n showSearchResult() {\r\n this.autoComplete.openPanel();\r\n }\r\n\r\n displayRelated(related?: IRelated): string | undefined {\r\n return related ? related.itemName : undefined;\r\n }\r\n\r\n selectRelated(item: IRelated) {\r\n let index = -1;\r\n this.selectedNode = [];\r\n if (this.treeConfig1.showCheckBox) {\r\n index = this.checkedNodeList.findIndex(x => {\r\n return x.id === item.id && x.parentId === item.parentId;\r\n });\r\n }\r\n\r\n if (index < 0) {\r\n let position = -1;\r\n let node: any;\r\n let typeId: number;\r\n\r\n if (item.itemType === this.dataType.document) {\r\n // document\r\n position = this.treeData2.findIndex(x => {\r\n return x.childId === item.id;\r\n });\r\n node = this.treeData2[position];\r\n typeId = this.dataType.document;\r\n this.dataTrees.toArray()[1].todoItemSelectionById([item.id]);\r\n }\r\n else if (item.itemType === this.dataType.folder) {\r\n position = this.treeData2.findIndex(x => {\r\n return x.rootId === item.id;\r\n });\r\n node = this.treeData2[position];\r\n typeId = item.itemType;\r\n if (position >= 0) {\r\n if (this.treeConfig2.showCheckBox) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.itemName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId\r\n });\r\n }\r\n else {\r\n this.selectedNode.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.itemName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId\r\n });\r\n }\r\n this.dataTrees.toArray()[1].todoItemSelectionById([item.id]);\r\n }\r\n return;\r\n }\r\n else if (item.itemType === this.dataType.deviationType\r\n || item.itemType === this.dataType.checklistCategory\r\n || item.itemType === this.dataType.riskFolder) {\r\n position = this.treeData1.findIndex(x => {\r\n return x.rootId === item.id;\r\n });\r\n this.selectNodeRecursive(this.treeData1[position], item.itemType);\r\n }\r\n else if (item.itemType === this.dataType.area) {\r\n position = this.treeData1.findIndex(x => {\r\n return x.rootId === item.id;\r\n });\r\n node = this.treeData1[position];\r\n typeId = item.itemType;\r\n\r\n if (position >= 0) {\r\n if (this.treeConfig1.showCheckBox) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: node.rootId,\r\n itemName: node.rootName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId\r\n });\r\n }\r\n else {\r\n this.selectedNode.push({\r\n moduleId: this.moduleId,\r\n id: node.rootId,\r\n itemName: node.rootName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId\r\n });\r\n }\r\n }\r\n this.dataTrees.toArray()[0].todoItemSelectionById([item.id]);\r\n return;\r\n }\r\n else if (item.itemType === this.dataType.deviation ||\r\n item.itemType === this.dataType.checklist) {\r\n position = this.treeData1.findIndex(x => {\r\n return x.childId === item.id && x.rootId === item.parentId;\r\n });\r\n node = this.treeData1[position];\r\n typeId = this.itemType;\r\n const treeNode = {\r\n id: node.childId,\r\n name: node.childName,\r\n children: [],\r\n parentId: node.rootId\r\n }\r\n this.dataTrees.toArray()[0].todoItemSelection([treeNode]);\r\n }\r\n else {\r\n // process, deviation, checklist,...\r\n position = this.treeData1.findIndex(x => {\r\n return x.childId === item.id;\r\n });\r\n node = this.treeData1[position];\r\n typeId = this.itemType;\r\n this.dataTrees.toArray()[0].todoItemSelectionById([item.id]);\r\n }\r\n }\r\n }\r\n\r\n selectNodeRecursive(item: TreeModel, itemType: DataType) {\r\n let position = this.treeData1.findIndex(x => {\r\n return x.rootId === item.rootId;\r\n });\r\n\r\n if (position >= 0) {\r\n\r\n const node: TreeNode = {\r\n id: item.rootId,\r\n name: item.rootName,\r\n children: [],\r\n parentId: item.parentId\r\n }\r\n\r\n let nodeChildren: TreeNode[] = this.treeData1.\r\n filter(x => x.rootId === item.rootId).\r\n map(x => {\r\n return {\r\n id: x.childId,\r\n name: item.childName,\r\n children: [],\r\n parentId: item.rootId\r\n };\r\n });\r\n let nodeSubfolders: TreeModel[] = this.treeData1.\r\n filter(x => x.parentId === item.rootId)\r\n\r\n if (this.treeConfig1.showCheckBox) {\r\n nodeChildren.forEach(x => {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: x.id,\r\n itemName: x.name,\r\n itemType: itemType,\r\n itemNumberId: item.displayId.toString(),\r\n parentId: item.rootId\r\n });\r\n });\r\n }\r\n else {\r\n nodeChildren.forEach(x => {\r\n this.selectedNode.push({\r\n moduleId: this.moduleId,\r\n id: x.id,\r\n itemName: x.name,\r\n itemType: itemType,\r\n itemNumberId: item.displayId.toString(),\r\n parentId: item.rootId\r\n });\r\n });\r\n }\r\n\r\n this.dataTrees.toArray()[0].todoItemSelection([node].concat(nodeChildren));\r\n if (nodeSubfolders) {\r\n nodeSubfolders.forEach(folder => {\r\n this.selectNodeRecursive(folder, itemType);\r\n });\r\n }\r\n }\r\n return;\r\n }\r\n\r\n setTypeProcess(expand) {\r\n return expand ? this.dataType.area : this.dataType.process;\r\n }\r\n\r\n getCommonCheckedNode(list: Array<TreeFlatNode>) {\r\n this.checkedNodeList = [];\r\n this.commonCheckedList = [];\r\n this.singleProcessList = [];\r\n this.checkedNodeList = [...this.singleDocumentList];\r\n\r\n if (list.length) {\r\n list.forEach(item => {\r\n const index = this.checkedNodeList.findIndex(x => x.id === item.id && x.parentId === item.parentId);\r\n\r\n if (item.id && index < 0) {\r\n this.commonCheckedList.push(item);\r\n }\r\n\r\n if (this.singleSelectedNode) {\r\n let position: number;\r\n if(item.expandable){\r\n position = this.treeData1.findIndex(p => p.rootId === item.id);\r\n }\r\n else{\r\n position = this.treeData1.findIndex(p => p.childId === item.id);\r\n }\r\n if(position > -1){\r\n this.singleProcessList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: (this.itemType === 2) ? this.setTypeProcess(item.expandable) : this.itemType,\r\n itemNumberId: this.treeData1[position].displayId.toString(),\r\n parentId: item.parentId\r\n });\r\n }\r\n }\r\n\r\n\r\n if (item.id && index < 0 && !item.expandable && !this.singleSelectedNode) {\r\n const position = this.treeData1.findIndex(p => p.childId === item.id && p.rootId === item.parentId);\r\n if (position > -1) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: this.itemType,\r\n parentId: item.parentId,\r\n parentName: this.treeData1[position].parentId? this.treeData1[position].subName: this.treeData1[position].rootName,\r\n itemNumberId: this.treeData1[position].displayId.toString()\r\n });\r\n }\r\n }\r\n });\r\n\r\n if (this.singleSelectedNode) {\r\n this.checkedNodeList = [...this.checkedNodeList, ...this.singleProcessList];\r\n }\r\n }\r\n }\r\n\r\n getDocumentCheckedNode(list: Array<TreeFlatNode>) {\r\n this.checkedNodeList = [];\r\n this.documentCheckedList = [];\r\n this.singleDocumentList = [];\r\n this.checkedNodeList = [...this.singleProcessList];\r\n\r\n\r\n if (list.length) {\r\n list.forEach(item => {\r\n const index = this.checkedNodeList.findIndex(x => x.id === item.id);\r\n\r\n if (item.id && index < 0) {\r\n this.documentCheckedList.push(item);\r\n }\r\n\r\n if (this.singleSelectedNode) {\r\n let position: number;\r\n if(item.expandable){\r\n position = this.treeData2.findIndex(p => p.rootId === item.id);\r\n }\r\n else{\r\n position = this.treeData2.findIndex(p => p.childId === item.id);\r\n }\r\n if(position > -1){\r\n this.singleDocumentList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: item.expandable ? this.dataType.folder : this.dataType.document,\r\n itemNumberId: this.treeData2[position].displayId.toString(),\r\n parentId: item.parentId\r\n });\r\n }\r\n \r\n }\r\n\r\n\r\n if (index < 0 && !item.expandable && !this.singleSelectedNode) {\r\n const position = this.treeData2.findIndex(p => p.childId === item.id);\r\n if(position > -1){\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: this.dataType.document,\r\n itemNumberId: this.treeData2[position].displayId.toString(),\r\n parentId: item.parentId,\r\n parentName: this.treeData2[position].rootName,\r\n });\r\n }\r\n }\r\n });\r\n\r\n if (this.singleSelectedNode) {\r\n this.checkedNodeList = [...this.checkedNodeList, ...this.singleDocumentList];\r\n }\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n this.dialogRef.close();\r\n };\r\n\r\n onAddClick() {\r\n // if (this.treeConfig1.showCheckBox) {\r\n this.dialogRef.close(this.checkedNodeList);\r\n // }\r\n // else {\r\n // this.dialogRef.close(this.selectedNode);\r\n // }\r\n }\r\n\r\n getOffsetHeight(element: HTMLElement, includeMargin: boolean): number {\r\n let elmHeight = 0, elmMargin = 0;\r\n\r\n elmHeight = element.offsetHeight;\r\n if (includeMargin) {\r\n const style = window.getComputedStyle(element);\r\n elmMargin = parseFloat(style.marginTop.replace('px', '')) + parseFloat(style.marginBottom.replace('px', ''));\r\n }\r\n\r\n return (elmHeight + elmMargin);\r\n }\r\n\r\n getItemChipName(item: SelectedNode) {\r\n if(item.itemType === DataType.checklist || item.itemType === DataType.deviation){\r\n return item.parentName ? `${item.parentName}/${item.itemName}` : item.itemName;\r\n }\r\n return item.itemName;\r\n }\r\n\r\n isEllipsisActive(e: HTMLElement): boolean {\r\n return e ? (e.clientWidth < e.scrollWidth) : false;\r\n }\r\n}\r\n","import { TreeConfig } from \"./tree-config.model\";\r\nimport { TreeModel } from \"./tree.model\";\r\n\r\nexport class RiskAnalysis {\r\n title: string;\r\n dangers: Array<TreeModel>;\r\n dangerConfig: TreeConfig;\r\n selectedDangers: any;\r\n disabledList?: Array<any>;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.dangers = [];\r\n this.selectedDangers = [];\r\n this.disabledList = [];\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { DataType } from \"../../common/data-type.enum\";\r\nimport { AnalysisDanger } from \"../../model/analysis-danger.model\";\r\nimport { RiskAnalysis } from \"../../model/risk-analysis.model\";\r\nimport { TreeConfig } from \"../../model/tree-config.model\";\r\nimport { TreeModel } from \"../../model/tree.model\";\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n disabled: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-risk-analysis',\r\n templateUrl: './analysis.component.html',\r\n styleUrls: ['./analysis.component.scss']\r\n})\r\nexport class RiskAnalysisComponent implements OnInit {\r\n LANG: any;\r\n title: string;\r\n dangers: Array<TreeModel> = [];\r\n dangerConfig: TreeConfig;\r\n analysisDanger: Array<AnalysisDanger> = [];;\r\n\r\n selectedData = [];\r\n nodeCheckedItem = [];\r\n disabledList = [];\r\n\r\n riskData: Array<any> = [];\r\n riskConfig: TreeConfig;\r\n\r\n constructor(\r\n public translate: TranslateLibraryService,\r\n private dialog: MatDialog,\r\n public dialogRef: MatDialogRef<RiskAnalysisComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: RiskAnalysis\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n\r\n this.title = this.data.title;\r\n this.dangers = this.data.dangers;\r\n this.dangerConfig = this.data.dangerConfig;\r\n this.selectedData = [...this.data.selectedDangers];\r\n this.disabledList = this.data.disabledList || [];\r\n\r\n // cheat not null when selected\r\n if (this.data.selectedDangers.length) {\r\n this.analysisDanger.push({\r\n analysisId: 1,\r\n analysisName: 'string',\r\n dangerId: 1,\r\n dangerName: 'string',\r\n });\r\n }\r\n\r\n this.riskConfig = {\r\n allowSelectFolder: false,\r\n areaOfCurrentProcess: '',\r\n showCheckBox: true,\r\n allowMultipleCheck: true,\r\n onlyCheckBoxForChild: false,\r\n moduleId: DataType.risk,\r\n openIcon: 'keyboard_arrow_up',\r\n openIconColor: '#1954A9',\r\n closeIcon: 'keyboard_arrow_down',\r\n closeIconColor: '',\r\n itemIcon: 'border_all',\r\n itemIconPath: '',\r\n itemIconBase64: '',\r\n singleSelectedNode: false,\r\n canHaveDupId: false\r\n };\r\n }\r\n\r\n toggleChileNode(list: Array<TreeFlatNode>) {\r\n this.analysisDanger = [];\r\n this.nodeCheckedItem = [];\r\n\r\n\r\n if (list.length) {\r\n this.dangers.forEach(el => {\r\n list.forEach(x => {\r\n if (x.id === el.childId) {\r\n // keep array node selected\r\n this.nodeCheckedItem.push(x);\r\n // create format show analysis \r\n this.analysisDanger.push({\r\n analysisId: +el.rootId,\r\n analysisName: el.rootName,\r\n dangerId: +el.childId,\r\n dangerName: el.childName\r\n })\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onFinishClick(): void {\r\n const data = {\r\n 'nodeSelected': this.nodeCheckedItem,\r\n 'analysisData': this.analysisDanger,\r\n 'riskData': this.dangers || []\r\n }\r\n\r\n this.dialogRef.close(data);\r\n }\r\n\r\n onCancelClick() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export enum Color {\r\n green = 1,\r\n yellow = 2,\r\n red = 3\r\n}\r\n","export class RiskResult {\r\n title: string;\r\n results: Array<Result>;\r\n isSimple?: number;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.results = [];\r\n this.isSimple = 0\r\n }\r\n}\r\n\r\nexport class Result {\r\n dangerId: number;\r\n dangerName: string;\r\n color: number;\r\n cause: string;\r\n consequenceArea: string;\r\n result: string;\r\n}\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from \"../../../../services/translation-registry.service\";\r\nimport { Color } from \"../../common/color.enum\";\r\nimport { Result, RiskResult } from \"../../model/risk-result.model\";\r\n\r\n@Component({\r\n selector: 'qms-risk-result',\r\n templateUrl: './result.component.html',\r\n styleUrls: ['./result.component.scss']\r\n})\r\nexport class RiskResultComponent implements OnInit {\r\n LANG: any;\r\n title: string;\r\n results: Array<Result> = [];\r\n color = Color;\r\n isSimple = 0;\r\n\r\n constructor(\r\n public translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<RiskResultComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: RiskResult\r\n ) {\r\n this.title = data.title;\r\n this.results = data.results;\r\n this.isSimple = data.isSimple || 0;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n onCloseClick(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export class SideNav {\r\n menu: string;\r\n icon: string;\r\n items: Array<SideNavItem>;\r\n\r\n constructor() {\r\n this.menu = '';\r\n this.icon = '';\r\n this.items = [];\r\n }\r\n}\r\n\r\nexport class SideNavItem {\r\n id: string;\r\n name: string;\r\n url: string;\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { SideNav, SideNavItem } from '../model/sidenav.model';\r\n\r\n@Component({\r\n selector: 'qms-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n})\r\nexport class SidenavComponent implements OnInit {\r\n @Input() data = new SideNav();\r\n @ViewChild('sidenav') sidenav: MatSidenav;\r\n\r\n menu = '';\r\n icon = '';\r\n items: Array<SideNavItem> = [];\r\n\r\n isExpanded = true;\r\n showSubmenu: boolean = false;\r\n isShowing = false;\r\n showSubSubMenu: boolean = false;\r\n\r\n ngOnInit(): void {\r\n this.menu = this.data.menu;\r\n this.icon = this.data.icon;\r\n this.items = this.data.items;\r\n }\r\n\r\n mouseenter() {\r\n if (!this.isExpanded) {\r\n this.isShowing = true;\r\n }\r\n }\r\n\r\n mouseleave() {\r\n if (!this.isExpanded) {\r\n this.isShowing = false;\r\n }\r\n }\r\n}\r\n","export enum ActionType {\r\n edit = 1,\r\n detail = 2,\r\n delete = 3\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { ActionType } from \"../../common/action-type.enum\";\r\nimport { DangerAction } from \"../../model/danger-action.model\";\r\nimport { DangerAssessment } from \"../../model/danger-assessment.model\";\r\nimport { Danger } from \"../../model/danger.model\";\r\nimport { RiskDanger } from \"../../model/risk-danger.model\";\r\nimport { TreeConfig } from \"../../model/tree-config.model\";\r\n\r\n@Component({\r\n selector: 'qms-risk-list',\r\n templateUrl: './list.component.html',\r\n styleUrls: ['./list.component.scss']\r\n})\r\nexport class RiskListComponent implements OnInit, OnChanges {\r\n LANG: any;\r\n title: string;\r\n isNotEditedItem: boolean;\r\n dangers: Array<Danger> = [];\r\n analysisDanger: Array<DangerAssessment> = [];\r\n dangerAction: DangerAction;\r\n show = 5;\r\n\r\n dangerConfig: TreeConfig;\r\n\r\n resultData: Array<any> = [];\r\n riskAnalysis: Array<any> = [];\r\n\r\n @Input() data: RiskDanger;\r\n @Output() updateData: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n public translate: TranslateLibraryService,\r\n private dialog: MatDialog\r\n ) {\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.data && JSON.stringify(changes.data.currentValue) !== JSON.stringify(changes.data.previousValue)) {\r\n this.dangers = [];\r\n this.title = changes.data.currentValue.title;\r\n this.isNotEditedItem = changes.data.currentValue['isNotEditedItem'] ?? false;\r\n this.dangers = [...changes.data.currentValue.data];\r\n this.show = changes.data.currentValue?.numRow || 5;\r\n\r\n this.analysisDanger = [];\r\n this.groupByDanger(changes.data.currentValue.data, 0);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.title = this.data?.title || '';\r\n this.isNotEditedItem = this.data['isNotEditedItem'] ?? false;\r\n this.dangers = this.data?.data || [];\r\n this.show = this.data?.numRow || 5;\r\n\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n if (this.dangers.length) {\r\n this.groupByDanger(this.dangers, 0);\r\n }\r\n }\r\n\r\n groupByDanger(dangers: Array<Danger>, i: number) {\r\n dangers.forEach(d => {\r\n const index = this.analysisDanger.findIndex(x => {\r\n return d.analysisId === x.id;\r\n });\r\n if (index < 0) {\r\n let count = 0;\r\n this.analysisDanger.push({\r\n id: d.analysisId,\r\n name: d.analysisName,\r\n childNumber: 0,\r\n show: this.show,\r\n remain: 0,\r\n dangers: [],\r\n folderId: d.folderId,\r\n statusId: d.statusId,\r\n simple: d.simple\r\n });\r\n dangers.forEach(d => {\r\n const index = this.analysisDanger[i].dangers.findIndex(x => {\r\n return x.dangerId === d.dangerId;\r\n });\r\n\r\n if (index < 0 && this.analysisDanger[i].id === d.analysisId) {\r\n this.analysisDanger[i].dangers.push(d);\r\n count++;\r\n }\r\n });\r\n\r\n this.analysisDanger[i].childNumber = count;\r\n this.analysisDanger[i].remain = count - this.show;\r\n i++;\r\n }\r\n });\r\n }\r\n\r\n editDanger(item) {\r\n this.dangerAction = {\r\n type: ActionType.edit,\r\n danger: {\r\n analysisId: 0,\r\n analysisName: '',\r\n dangerId: 0,\r\n dangerName: '',\r\n green: 0,\r\n yellow: 0,\r\n red: 0\r\n }\r\n }\r\n const data = { ...this.dangerAction, ...item };\r\n this.updateData.emit(data);\r\n\r\n }\r\n\r\n removeDanger(id: number) {\r\n const index = this.analysisDanger.findIndex(x => {\r\n return x.id === id;\r\n });\r\n const removedItem = this.analysisDanger[index];\r\n\r\n this.dangerAction = {\r\n type: ActionType.delete,\r\n danger: {\r\n analysisId: 0,\r\n analysisName: '',\r\n dangerId: 0,\r\n dangerName: '',\r\n green: 0,\r\n yellow: 0,\r\n red: 0\r\n }\r\n };\r\n\r\n const data = { ...this.dangerAction, ...removedItem };\r\n this.updateData.emit(data);\r\n }\r\n\r\n dangerDetail(danger: Danger) {\r\n this.dangerAction = {\r\n type: ActionType.detail,\r\n danger: {\r\n analysisId: 0,\r\n analysisName: '',\r\n dangerId: 0,\r\n dangerName: '',\r\n green: 0,\r\n yellow: 0,\r\n red: 0\r\n }\r\n };\r\n const data = { ...this.dangerAction, ...danger };\r\n this.updateData.emit(data);\r\n }\r\n\r\n increaseShow(id: number) {\r\n const index = this.analysisDanger.findIndex(x => {\r\n return x.id === id;\r\n });\r\n if (index >= 0) {\r\n this.analysisDanger[index].show = this.analysisDanger[index].childNumber;\r\n this.analysisDanger[index].remain = 0;\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n\r\n }\r\n}\r\n","import { Component, EventEmitter, Inject, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { MatIconRegistry } from \"@angular/material/icon\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { DataType } from \"../common/data-type.enum\";\r\nimport { PROCESS_AREA_ICON } from \"../common/qms-icon.const\";\r\nimport { RelatedData, RelatedItem } from \"../model/related-data.model\";\r\n\r\n@Component({\r\n selector: 'qms-related-list',\r\n templateUrl: './list-related.component.html',\r\n styleUrls: ['./list-related.component.scss']\r\n})\r\nexport class RelatedListComponent implements OnInit, OnChanges {\r\n LANG: any;\r\n title: string;\r\n isNotEditedItem: boolean;\r\n relatedData: Array<RelatedItem> = [];\r\n dataType = DataType;\r\n // imageProcess = '../qms-angular/src/assets/images/union.svg';\r\n imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';\r\n\r\n @Input() data: RelatedData;\r\n @Input() showStatus: boolean;\r\n @Output() updateData: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() onItemSelect: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n private domSanitizer: DomSanitizer,\r\n public translate: TranslateLibraryService,\r\n private iconRegistry: MatIconRegistry,\r\n ) {\r\n iconRegistry.addSvgIconLiteral('process_area', domSanitizer.bypassSecurityTrustHtml(PROCESS_AREA_ICON));\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.data && JSON.stringify(changes.data.currentValue) !== JSON.stringify(changes.data.previousValue)) {\r\n this.relatedData = [];\r\n this.title = changes.data.currentValue.title;\r\n this.isNotEditedItem = changes.data.currentValue['isNotEditedItem'] ?? false;\r\n this.relatedData = [...changes.data.currentValue.data];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.title = this.data.title;\r\n this.isNotEditedItem = this.data['isNotEditedItem'] ?? false;\r\n this.relatedData = this.data.data;\r\n\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n getImagePath() {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(this.imageProcess) as string;\r\n }\r\n\r\n removeItem(index: number) {\r\n this.updateData.emit(index);\r\n }\r\n\r\n onCloseClick(): void {\r\n\r\n }\r\n\r\n onItemClick(item: any): void{\r\n if(this.onItemSelect)\r\n this.onItemSelect.emit(item);\r\n }\r\n\r\n getItemStatus(item: any){\r\n return (this.showStatus && item?.statusName)? `, ${item?.statusName}`: '';\r\n }\r\n}\r\n","import { ScrollingModule } from \"@angular/cdk/scrolling\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatListModule } from \"@angular/material/list\";\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatTreeModule } from \"@angular/material/tree\";\r\nimport { QMSListModule } from \"../list/list.module\";\r\nimport { QmsAngularModule } from '../../qms-angular.module';\r\nimport { SharedMaterialModule } from '../../material-module';\r\nimport { RelatedContentComponent } from \"./content/related-content.component\";\r\nimport { RelatedPopupComponent } from \"./popup/related-popup.component\";\r\nimport { RiskAnalysisComponent } from \"./risk/analysis/analysis.component\";\r\nimport { RiskResultComponent } from \"./risk/result/result.component\";\r\nimport { SidenavComponent } from \"./sidenav/sidenav.component\";\r\nimport { TreeComponent } from \"./tree/tree.component\";\r\nimport { RiskListComponent } from \"./risk/list/list.component\";\r\nimport { RelatedListComponent } from \"./list-other-related/list-related.component\";\r\nimport { QMSScrollbarDirective } from \"../../directives/scrollbar/scrollbar.directive\";\r\n\r\n@NgModule({\r\n declarations: [\r\n TreeComponent,\r\n RelatedPopupComponent,\r\n RelatedContentComponent,\r\n SidenavComponent,\r\n RiskAnalysisComponent,\r\n RiskResultComponent,\r\n RiskListComponent,\r\n RelatedListComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatExpansionModule,\r\n MatAutocompleteModule,\r\n ReactiveFormsModule,\r\n ScrollingModule,\r\n MatCardModule,\r\n MatSidenavModule,\r\n MatListModule,\r\n SharedMaterialModule,\r\n QMSListModule,\r\n QmsAngularModule,\r\n ],\r\n exports: [\r\n TreeComponent,\r\n RelatedPopupComponent,\r\n RelatedContentComponent,\r\n SidenavComponent,\r\n RiskAnalysisComponent,\r\n RiskResultComponent,\r\n RiskListComponent,\r\n RelatedListComponent\r\n ]\r\n})\r\nexport class QMSRelatedModule { }\r\n","export class TreeModel {\r\n rootId: string;\r\n parentId: string;\r\n rootName: string;\r\n subName: string;\r\n childId: string;\r\n childName: string;\r\n statusId: number;\r\n displayId: number;\r\n levelType?: number;\r\n onlyRead?: boolean;\r\n}\r\n","import { DataType } from \"../common/data-type.enum\";\r\n\r\nexport class TreeConfig {\r\n allowSelectFolder: boolean;\r\n areaOfCurrentProcess: string;\r\n showCheckBox: boolean;\r\n allowMultipleCheck: boolean;\r\n onlyCheckBoxForChild: boolean;\r\n moduleId: DataType;\r\n openIcon?: string;\r\n openIconColor: string;\r\n closeIcon?: string;\r\n closeIconColor: string;\r\n itemIcon?: string;\r\n itemIconPath?: string;\r\n itemIconBase64?: string;\r\n itemIconSvg?: string;\r\n singleSelectedNode: boolean;\r\n canHaveDupId?: boolean;\r\n expandAll?: boolean;\r\n}\r\n","import { Danger } from \"./danger.model\";\r\n\r\nexport class RiskDanger {\r\n title: string;\r\n data: Array<Danger>;\r\n numRow: number;\r\n isNotEditedItem: boolean;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.data = [];\r\n this.numRow = 5;\r\n this.isNotEditedItem = false;\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Injectable, OnDestroy } from '@angular/core';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class QMSCKEditorBaseComponent implements OnDestroy {\r\n ngUnsubcribe = new Subject<void>();\r\n\r\n ngOnDestroy(): void {\r\n this.ngUnsubcribe.next();\r\n this.ngUnsubcribe.complete();\r\n }\r\n}\r\n","export class QMSCKEditorDialogData {\r\n title: string;\r\n\r\n content: string;\r\n\r\n checkText?: string;\r\n\r\n isMessage?: boolean;\r\n\r\n isAdvance?: boolean;\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { QMSCKEditorBaseComponent } from '../../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorDialogData } from '../../models/qms-ckeditor-dialog.model';\r\n\r\n@Component({\r\n selector: 'app-confirm-popup',\r\n templateUrl: './qms-ckeditor-confirm.component.html',\r\n styleUrls: ['./qms-ckeditor-confirm.component.scss']\r\n})\r\nexport class QMSCKEditorConfirmComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n isNotShowAgain = false;\r\n\r\n constructor(\r\n private translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<QMSCKEditorConfirmComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorDialogData\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n onCancelClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onConfirmClick() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n onAdvanceConfirmClick() {\r\n const obj = { isConfirmed: true, isNotShowAgain: this.isNotShowAgain };\r\n this.dialogRef.close(obj);\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Component, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\r\n\r\ninterface TreeNode {\r\n id: string;\r\n name: string;\r\n children?: TreeNode[];\r\n}\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n disabled: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-ckeditor-tree',\r\n templateUrl: './qms-ckeditor-tree.component.html',\r\n styleUrls: ['./qms-ckeditor-tree.component.scss']\r\n})\r\nexport class QMSCKEditorTreeComponent implements OnChanges {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() rawData: Array<any> = [];\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() treeData: Array<any> = [];\r\n\r\n @Input() useExpandFeature: boolean;\r\n\r\n @Input() docType: number;\r\n\r\n @Input() allowSelectFolder: boolean;\r\n\r\n @Output() selectNodeEvent: EventEmitter<string> = new EventEmitter();\r\n\r\n @Output() selectFolderEvent: EventEmitter<string> = new EventEmitter();\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() listParentObj: any;\r\n\r\n arrIndex: string[] = [];\r\n\r\n @Input() areaOfCurrentProcess: string;\r\n\r\n // tslint:disable-next-line:member-ordering\r\n treeControl = new FlatTreeControl<TreeFlatNode>(\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n }\r\n );\r\n\r\n ngOnChanges() {\r\n if (this.treeData) {\r\n this.dataSource.data = this.treeData;\r\n }\r\n }\r\n\r\n private transformer = (node: TreeNode, level: number) => {\r\n let checkHasChild = true;\r\n if (!node.children) {\r\n checkHasChild = false;\r\n } else if (!(!!node.children && node.children.length && node.children.length > 0)) {\r\n checkHasChild = false;\r\n }\r\n // tslint:disable-next-line:max-line-length\r\n else if (\r\n !!node.children &&\r\n node.children.length &&\r\n node.children.length === 1 &&\r\n !node.children[0].name.length &&\r\n node.id.toString() === this.areaOfCurrentProcess\r\n ) {\r\n checkHasChild = false;\r\n }\r\n\r\n if (!(this.listParentObj[node.id] === 1)) {\r\n checkHasChild = false;\r\n }\r\n\r\n return {\r\n expandable: !!node.children && node.children.length > 0,\r\n name: node.name,\r\n level,\r\n id: node.id,\r\n hasChild: checkHasChild\r\n };\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n treeFlattener = new MatTreeFlattener(\r\n this.transformer,\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n },\r\n (node) => {\r\n return node.children;\r\n }\r\n );\r\n\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\r\n\r\n hasChild = (_: number, node: TreeFlatNode) => {\r\n return node.expandable;\r\n };\r\n\r\n selectNode(node: TreeFlatNode) {\r\n this.selectNodeEvent.emit(node.id);\r\n }\r\n\r\n selectFolder(node: TreeFlatNode) {\r\n this.selectFolderEvent.emit(node.id);\r\n }\r\n\r\n onExpandNode(node: TreeFlatNode, isExpandNode?: boolean) {\r\n // set useExpandFeature = true to improve performance of tree loading\r\n if (!isExpandNode || !this.useExpandFeature) {\r\n for (let i = 0; i < this.arrIndex.length; i++) {\r\n if (this.arrIndex[i] === node.id) {\r\n this.arrIndex.splice(i, 1);\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n // get array index to expand node after refresh datasource\r\n let index = 0;\r\n let isChange = false;\r\n let isRemove = false;\r\n if (node.level === 0) {\r\n this.arrIndex.push(node.id);\r\n } else {\r\n this.arrIndex.push(node.id);\r\n }\r\n\r\n const childArray = this.rawData.filter((x) => {\r\n return x.parentId === node.id;\r\n });\r\n let rootId = 0;\r\n let parentElement: TreeNode;\r\n let childrenList: TreeNode[];\r\n if (childArray.length === 0) {\r\n return;\r\n }\r\n childArray.forEach((item) => {\r\n if (item.rootId === rootId) {\r\n return;\r\n }\r\n\r\n // get child node from original datasource\r\n const child = this.getChildNode(item.rootId, childArray);\r\n rootId = item.rootId;\r\n\r\n index = this.getNodeIndex(child.id, undefined, this.dataSource['_treeControl'].dataNodes);\r\n if (index > -1) {\r\n return;\r\n }\r\n\r\n // add child node to expand node\r\n parentElement = this.findParentNode(node.id, this.dataSource.data);\r\n if (parentElement) {\r\n // temporary remove all node without children => purpose to add node folder first\r\n if (!isRemove) {\r\n childrenList = [...parentElement.children];\r\n this.removeChildren(parentElement);\r\n isRemove = true;\r\n }\r\n // add node folder first\r\n parentElement.children.push(child);\r\n isChange = true;\r\n }\r\n });\r\n // add node without children again\r\n if (isRemove) {\r\n this.addChildren(parentElement, childrenList);\r\n }\r\n\r\n // refresh data and expand tree node from root node\r\n if (isChange) {\r\n this.refreshTreeData();\r\n this.arrIndex.forEach((item) => {\r\n index = this.getNodeIndex(item, undefined, this.dataSource['_treeControl'].dataNodes);\r\n this.treeControl.expand(this.treeControl.dataNodes[index]);\r\n });\r\n isChange = false;\r\n }\r\n }\r\n\r\n removeChildren(parentElement?: TreeNode) {\r\n if (parentElement.children) {\r\n parentElement.children.length = 0;\r\n }\r\n }\r\n\r\n addChildren(parentElement?: TreeNode, childrenList?: TreeNode[]) {\r\n if (childrenList) {\r\n childrenList.forEach((e) => {\r\n parentElement.children.push(e);\r\n });\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n getNodeIndex(id: string, level?: number, data?: any[]) {\r\n if (level) {\r\n return data.findIndex((x) => {\r\n return x.id === id && x.level === level;\r\n });\r\n }\r\n\r\n return data.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n getChildNode(rootId: string, data: any) {\r\n const childArray = data.filter((x) => {\r\n return x.rootId === rootId;\r\n });\r\n const child = { id: childArray[0].rootId, name: childArray[0].subName, children: [] } as TreeNode;\r\n childArray.forEach((item) => {\r\n child.children.push({ id: item.childId, name: item.childName });\r\n });\r\n return child;\r\n }\r\n\r\n findParentNode(id: string, data: TreeNode[]) {\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentFather of data) {\r\n if (currentFather.id === id) {\r\n return currentFather;\r\n }\r\n\r\n if (currentFather.children) {\r\n const currentChild = currentFather.children.find((x) => {\r\n return x.id === id;\r\n });\r\n if (currentChild) {\r\n return currentChild;\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentChild1 of currentFather.children) {\r\n if (id !== currentChild1.id) {\r\n const result = this.findParentNode(id, currentFather.children);\r\n if (result !== false) {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n refreshTreeData() {\r\n const data = this.dataSource.data;\r\n this.dataSource.data = [];\r\n this.dataSource.data = data;\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-fullscreen',\r\n templateUrl: './qms-ckeditor-fullscreen.component.html',\r\n styleUrls: ['./qms-ckeditor-fullscreen.component.scss']\r\n})\r\nexport class QMSCKEditorFullscreenComponent {\r\n public showFullScreen() {\r\n this.showHideFullScreen('none', 'hide-content-wrapper', '0px', '0px', '0px', '98vh');\r\n }\r\n\r\n public hideFullScreen() {\r\n this.showHideFullScreen('block', 'show-content-wrapper', '0px', '0px', '2px', '93vh');\r\n }\r\n\r\n public showHideFullScreen(\r\n display: string,\r\n className: string,\r\n paddingTop: string,\r\n paddingBottom: string,\r\n marginTopMain: string,\r\n heightIframe: string\r\n ) {\r\n const sidebar = window.parent.document.getElementById('sidebar_left');\r\n if (sidebar) {\r\n if (display === 'block') {\r\n if (!sidebar.classList.contains('show-sidebar_left')) {\r\n sidebar.classList.add('show-sidebar_left');\r\n }\r\n } else if (display === 'none') {\r\n if (sidebar.classList.contains('show-sidebar_left')) {\r\n sidebar.classList.remove('show-sidebar_left');\r\n }\r\n }\r\n }\r\n const topbars = window.parent.document.getElementsByClassName('navbar-fixed-top');\r\n if (topbars && topbars.length > 0) {\r\n const topbar = topbars[0] as HTMLElement;\r\n topbar.style.display = display;\r\n }\r\n const contentWrapper = window.parent.document.getElementById('content_wrapper');\r\n if (contentWrapper) {\r\n contentWrapper.className = className;\r\n }\r\n\r\n const bodies = window.parent.document.getElementsByTagName('body');\r\n if (bodies && bodies.length > 0) {\r\n const body = bodies[0] as HTMLElement;\r\n body.style.paddingTop = paddingTop;\r\n body.style.paddingBottom = paddingBottom;\r\n if (display === 'block') {\r\n body.classList.remove('sidebar-hidden');\r\n body.classList.add('sidebar-ltr');\r\n } else if (display === 'none') {\r\n body.classList.remove('sidebar-ltr');\r\n body.classList.add('sidebar-hidden');\r\n }\r\n }\r\n const main = window.parent.document.getElementById('main');\r\n if (main) {\r\n main.style.marginTop = marginTopMain;\r\n }\r\n\r\n const iframes = window.parent.document.getElementsByClassName('processIFrameModule');\r\n if (iframes && iframes.length > 0) {\r\n const iframe = iframes[0] as HTMLElement;\r\n iframe.style.height = heightIframe;\r\n }\r\n\r\n const ck = window.document.getElementById('qmsckeditor');\r\n if (ck) {\r\n if (display === 'none') {\r\n if (!ck.classList.contains('qmsckeditor__fullscreen')) {\r\n ck.classList.add('qmsckeditor__fullscreen');\r\n }\r\n } else if (display === 'block') {\r\n if (ck.classList.contains('qmsckeditor__fullscreen')) {\r\n ck.classList.remove('qmsckeditor__fullscreen');\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorGlobalService {\r\n getApiUrlSubject = new BehaviorSubject<any>(null);\r\n\r\n constructor() { }\r\n\r\n setApiUrl(apiUrl: string) {\r\n this.getApiUrlSubject.next(apiUrl);\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { QMSCKEditorBaseComponent } from '../qms-ckeditor-base.component';\r\nimport { QMSCKEditorGlobalService } from './qms-ckeditor-global.service';\r\n\r\n@Injectable()\r\nexport class QMSCKEditorBaseService extends QMSCKEditorBaseComponent {\r\n headers = new HttpHeaders();\r\n apiUrl: string;\r\n\r\n constructor(public http: HttpClient, private globalService: QMSCKEditorGlobalService) {\r\n super();\r\n this.globalService.getApiUrlSubject.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n this.apiUrl = res;\r\n })\r\n }\r\n\r\n protected get(url: string, params: any = {}): Observable<any> {\r\n return this.http.get(this.apiUrl + url, { headers: this.headers, params });\r\n }\r\n\r\n protected post(url: string, data: any): Observable<any> {\r\n return this.http.post(this.apiUrl + url, data, { headers: this.headers });\r\n }\r\n\r\n protected put(url: string, data: any): Observable<any> {\r\n return this.http.put(this.apiUrl + url, data, { headers: this.headers });\r\n }\r\n\r\n protected delete(url: string, params: any = {}): Observable<any> {\r\n return this.http.delete(this.apiUrl + url, { headers: this.headers, params });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { QMSCKEditorLinkAnchorDocument } from '../common/models/qms-ckeditor-link-anchor-document.model';\r\nimport QMSCKEditorLinkAttachment from '../common/models/qms-ckeditor-link-attachment.model';\r\nimport { QMSCKEditorBaseService } from './qms-ckeditor-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorLinkService extends QMSCKEditorBaseService {\r\n public getAttachmentList(\r\n module: number,\r\n entityId: string,\r\n supportFileArchiveAttachments: boolean\r\n ): Observable<QMSCKEditorLinkAttachment[]> {\r\n return this.get('ckeditorLink/LinkAttachmentList', { module, entityId, supportFileArchiveAttachments });\r\n }\r\n\r\n public getAnchorDocumentList(documentId: number): Observable<QMSCKEditorLinkAnchorDocument[]> {\r\n return this.get('ckeditorLink/LinkAnchorDoucmentList', { documentId });\r\n }\r\n}\r\n","export default class QMSCKEditorParamter {\r\n module: number;\r\n entityId: string;\r\n}\r\n","export enum CKEditorModule {\r\n document = 1,\r\n process = 2,\r\n deviation = 3,\r\n risk = 4,\r\n checklist = 5,\r\n dashboard = 6\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport QMSCKEditorLinkAttachment from '../../../common/models/qms-ckeditor-link-attachment.model';\r\nimport { QMSCKEditorBaseComponent } from '../../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorLinkService } from '../../../services/qms-ckeditor-link.service';\r\nimport QMSCKEditorParamter from '../../../common/models/qms-ckeditor-parameter.model';\r\nimport { CKEditorModule } from '../../../common/enums/module.enum';\r\n\r\nexport interface LinkUrl {\r\n url: string;\r\n title: string;\r\n}\r\n\r\n@Component({\r\n selector: 'link-attachment',\r\n templateUrl: './link-attachment.component.html',\r\n styleUrls: ['./link-attachment.component.scss']\r\n})\r\nexport class LinkAttachmentComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n module = 0;\r\n entityId = '';\r\n supportFileArchiveAttachments = false;\r\n attachments: QMSCKEditorLinkAttachment[] = [];\r\n linkUrl: LinkUrl;\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private linkService: QMSCKEditorLinkService,\r\n public dialogRef: MatDialogRef<LinkAttachmentComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorParamter\r\n ) {\r\n super();\r\n this.module = data.module;\r\n this.entityId = data.entityId;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.getAttachmentList(this.module, this.entityId, this.supportFileArchiveAttachments);\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getAttachmentList(module: number, itemId: string, supportFileArchiveAttachments: boolean) {\r\n this.linkService\r\n .getAttachmentList(module, itemId, supportFileArchiveAttachments)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n this.attachments = response;\r\n }\r\n });\r\n }\r\n\r\n onSelectedAttachment(extraId: string, fileName: string) {\r\n this.linkUrl = { url: '', title: '' };\r\n if (extraId) {\r\n if (this.module === CKEditorModule.document) {\r\n this.linkUrl.url = `/api/File/GetFile?entityId=${extraId}`;\r\n }\r\n else if (this.module === CKEditorModule.process) {\r\n this.linkUrl.url = `/api/processes/GetFileContents?fileId=${extraId}`;\r\n }\r\n this.linkUrl.title = fileName;\r\n }\r\n this.dialogRef.close(this.linkUrl);\r\n }\r\n}\r\n","export enum LinkAnchor {\r\n Blank = '',\r\n Attachment = 'Idattachment',\r\n Related = 'IdrelatedDocument'\r\n}\r\n","export enum LinkType {\r\n url = 0,\r\n anchorText = 1,\r\n email = 2,\r\n anchorDocument = 3\r\n}\r\n","export enum ProtocolType {\r\n http = 0,\r\n https = 1,\r\n fpt = 2,\r\n new = 3,\r\n other = 4\r\n}\r\n","export enum TargetType {\r\n new = 0,\r\n topmost = 1,\r\n same = 2,\r\n parent = 3\r\n}\r\n","export class QMSCKEditorRelation {\r\n isOnlyDocument: boolean;\r\n isEnableFolder: boolean;\r\n\r\n constructor() {\r\n this.isOnlyDocument = false;\r\n this.isEnableFolder = false;\r\n }\r\n}\r\n","export default class QMSCKEditorLink {\r\n typeId: number;\r\n targetId: number;\r\n protocolId: number;\r\n url: string;\r\n title: string;\r\n edit: boolean;\r\n editorContent: string;\r\n module: number;\r\n entityId: string;\r\n constructor() {\r\n this.typeId = 0;\r\n this.targetId = 0;\r\n this.protocolId = 0;\r\n this.url = '';\r\n this.title = '';\r\n this.edit = false;\r\n this.editorContent = '';\r\n this.entityId = '';\r\n }\r\n}\r\n","export enum QMSCKEditorDocumentType {\r\n document = 1,\r\n process = 2,\r\n area = 3,\r\n folder = 4\r\n}\r\n","export class TreeNode {\r\n children: TreeNode[];\r\n id: string;\r\n name: string;\r\n parentId?: string;\r\n}\r\n","import QMSCKEditorTree from '../models/qms-ckeditor-tree.model';\r\nimport { TreeNode } from '../models/qms-ckeditor-tree-node.model';\r\n\r\nlet objData = {};\r\n\r\nfunction buildArrayTree(obj: object, level: number): TreeNode[] {\r\n return Object.keys(obj).reduce<TreeNode[]>((accumulator, key) => {\r\n const value = obj[key];\r\n const node = new TreeNode();\r\n const index = key.indexOf('_');\r\n node.id = key.substr(0, index);\r\n node.name = key.substr(index + 1, key.length - index);\r\n\r\n if (value != null) {\r\n if (typeof value === 'object') {\r\n node.children = this.buildArrayTree(value, level + 1);\r\n } else {\r\n node.name = value;\r\n }\r\n }\r\n\r\n return accumulator.concat(node);\r\n }, []);\r\n}\r\n\r\nfunction buildObjectTree(arr: QMSCKEditorTree[]): object {\r\n objData = {};\r\n let objTreeData;\r\n const root = arr.filter((x: { parentId: string }) => {\r\n return x.parentId === '';\r\n });\r\n root.forEach((item) => {\r\n objTreeData = this.findParent(item.rootId, arr);\r\n });\r\n return objTreeData;\r\n}\r\n\r\nfunction findParent(id: string, array: QMSCKEditorTree[]) {\r\n const objParent = {};\r\n const parent = array.filter((x: { rootId: string }) => {\r\n return x.rootId === id;\r\n });\r\n\r\n parent.forEach((item) => {\r\n objParent[`${item.childId}_${item.childName}`] = null;\r\n });\r\n\r\n // find child\r\n const child = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n if (child.length > 0) {\r\n this.findChild(id, objParent, array);\r\n }\r\n\r\n // add node to tree\r\n objData[`${parent[0].rootId}_${parent[0].rootName}`] = objParent;\r\n return objData;\r\n}\r\n\r\nfunction findChild(id: string, objParent: object, array: QMSCKEditorTree[]) {\r\n const subNode = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n subNode.forEach((item) => {\r\n const processNode = {};\r\n processNode[`${item.childId}_${item.childName}`] = null;\r\n objParent[`${item.rootId}_${item.subName}`] = processNode;\r\n\r\n findChild(item.rootId, processNode, array);\r\n });\r\n}\r\n\r\nconst QMSCKEditorTreeFunctions = {\r\n buildArrayTree,\r\n buildObjectTree,\r\n findParent,\r\n findChild\r\n};\r\n\r\nexport default QMSCKEditorTreeFunctions;\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport QMSCKEditorTree from '../common/models/qms-ckeditor-tree.model';\r\nimport { QMSCKEditorBaseService } from './qms-ckeditor-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorTreeService extends QMSCKEditorBaseService {\r\n public getDocumentList(): Observable<QMSCKEditorTree[]> {\r\n return this.get('ckeditorTree/GetDocumentList');\r\n }\r\n\r\n public getProcessList(): Observable<QMSCKEditorTree[]> {\r\n return this.get('ckeditorTree/GetProcessList');\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { forkJoin } from 'rxjs';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorDocumentType } from '../../common/enums/document-type.enum';\r\nimport QMSCKEditorTreeFunctions from '../../common/functions/tree.function';\r\nimport { QMSCKEditorRelation } from '../../common/models/qms-ckeditor-relation.model';\r\nimport { TreeNode } from '../../common/models/qms-ckeditor-tree-node.model';\r\nimport QMSCKEditorTree from '../../common/models/qms-ckeditor-tree.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTreeService } from '../../services/qms-ckeditor-tree.service';\r\n\r\nexport interface Related {\r\n id: number;\r\n name: string;\r\n type: number;\r\n}\r\n\r\nexport interface SelectedNode {\r\n id: string;\r\n type: number;\r\n}\r\n\r\nexport interface LinkUrl {\r\n id: string;\r\n url: string;\r\n title: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './qmsckeditor-related.component.html',\r\n styleUrls: ['./qmsckeditor-related.component.scss']\r\n})\r\nexport class QMSCKEditorRelatedComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n selectedNode: SelectedNode;\r\n linkUrl: LinkUrl;\r\n documentType: QMSCKEditorDocumentType;\r\n processData: QMSCKEditorTree[];\r\n documentData: QMSCKEditorTree[];\r\n filterData: QMSCKEditorTree[];\r\n treeDataFile: object;\r\n treeProcessFile: object;\r\n treeDocumentFile: object;\r\n treeProcessData: TreeNode[];\r\n treeDocumentData: TreeNode[];\r\n processNumber = -1;\r\n listParentProcessId = {};\r\n listParentDocumentId = {};\r\n\r\n myControl = new FormControl();\r\n filteredOptions = [];\r\n isInputValue = false;\r\n isOnlyDocument = false;\r\n isEnableFolder = false;\r\n areaOfCurrentProcess: string;\r\n\r\n constructor(\r\n private treeService: QMSCKEditorTreeService,\r\n private translate: TranslateLibraryService,\r\n private dialogRef: MatDialogRef<QMSCKEditorRelatedComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorRelation\r\n ) {\r\n super();\r\n this.isOnlyDocument = data.isOnlyDocument;\r\n this.isEnableFolder = data.isEnableFolder;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.selectedNode = { id: '', type: 0 };\r\n this.getProcessAndDocumentData();\r\n this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {\r\n this.isInputValue = true;\r\n this.filteredOptions = this.onSearchRelated(val);\r\n });\r\n }\r\n\r\n getProcessAndDocumentData() {\r\n forkJoin([this.getProcessData(), this.getDocumentData()])\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe(([p, d]) => {\r\n this.mappingData(p, 2);\r\n this.mappingData(d, 1);\r\n\r\n // for process\r\n this.filterData = this.processData.filter((x) => {\r\n return x.parentId === '';\r\n });\r\n this.treeDataFile = QMSCKEditorTreeFunctions.buildObjectTree(this.filterData);\r\n this.treeProcessData = QMSCKEditorTreeFunctions.buildArrayTree(this.treeDataFile, 0);\r\n // for document\r\n this.filterData = this.documentData.filter((x) => {\r\n return x.parentId === '';\r\n });\r\n this.treeDataFile = QMSCKEditorTreeFunctions.buildObjectTree(this.filterData);\r\n this.treeDocumentData = QMSCKEditorTreeFunctions.buildArrayTree(this.treeDataFile, 0);\r\n });\r\n }\r\n\r\n getProcessData() {\r\n return this.treeService.getProcessList().pipe(takeUntil(this.ngUnsubcribe));\r\n }\r\n\r\n getDocumentData() {\r\n return this.treeService.getDocumentList().pipe(takeUntil(this.ngUnsubcribe));\r\n }\r\n\r\n mappingData(array: QMSCKEditorTree[], dataType: number) {\r\n if (array) {\r\n if (dataType === 1) {\r\n this.documentData = array.map((item) => {\r\n if (!!item.parentId && item.parentId.length > 0) {\r\n this.listParentDocumentId[item.parentId] = 1;\r\n }\r\n if (!!item.childId && item.childId.length > 0) {\r\n this.listParentDocumentId[item.rootId] = 1;\r\n }\r\n return {\r\n rootId: item.rootId,\r\n parentId: item.parentId,\r\n rootName: item.rootName,\r\n subName: item.subName,\r\n childId: item.childId,\r\n childName: item.childName,\r\n statusId: item.statusId,\r\n displayId: item.displayId\r\n };\r\n });\r\n } else if (dataType === 2) {\r\n this.processData = array.filter((item) => {\r\n if (!!item.parentId && item.parentId.length > 0) {\r\n this.listParentProcessId[item.parentId] = 1;\r\n }\r\n if (item.childId && item.childId.length > 0) {\r\n this.listParentProcessId[item.rootId] = 1;\r\n }\r\n if (Number(item.displayId) === this.processNumber) {\r\n item.childId = '';\r\n item.childName = '';\r\n this.areaOfCurrentProcess = item.rootId;\r\n }\r\n return {\r\n rootId: item.rootId,\r\n parentId: item.parentId,\r\n rootName: item.rootName,\r\n subName: item.subName,\r\n childId: item.childId,\r\n childName: item.childName,\r\n statusId: item.statusId,\r\n displayId: item.displayId\r\n };\r\n });\r\n }\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onAddDocumentProcess() {\r\n let data: QMSCKEditorTree;\r\n this.linkUrl = { id: '', url: '', title: '' };\r\n switch (this.selectedNode.type) {\r\n case QMSCKEditorDocumentType.document:\r\n data = this.documentData.find((e) => {\r\n return e.childId === this.selectedNode.id;\r\n });\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/document/${data.childId}`;\r\n this.linkUrl.title = data.childName;\r\n }\r\n break;\r\n case QMSCKEditorDocumentType.process:\r\n data = this.processData.find((e) => {\r\n return e.childId === this.selectedNode.id;\r\n });\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/process-detail/${data.displayId}`;\r\n this.linkUrl.title = data.childName;\r\n }\r\n break;\r\n case QMSCKEditorDocumentType.area:\r\n data = this.processData.find((e) => {\r\n return e.rootId === this.selectedNode.id;\r\n });\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/area/detail/${data.rootId}`;\r\n this.linkUrl.title = data.rootName;\r\n }\r\n break;\r\n case QMSCKEditorDocumentType.folder:\r\n data = this.documentData.find((e) => {\r\n return e.rootId === this.selectedNode.id;\r\n });\r\n\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/folder/${data.rootId}`;\r\n this.linkUrl.title = data.rootName;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n this.dialogRef.close(this.linkUrl);\r\n }\r\n\r\n selectAreaNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.area;\r\n }\r\n\r\n selectProcessNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.process;\r\n }\r\n\r\n selectDocumentNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.document;\r\n }\r\n\r\n selectHandbookNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.folder;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n isMatchTrue(arr: any[], arr2: any[]) {\r\n return arr.every((i) => {\r\n return arr2.includes(i);\r\n });\r\n }\r\n\r\n onSearchRelated(_val: string) {\r\n const arr: Related[] = [];\r\n let data = [];\r\n if (typeof _val !== 'string') {\r\n return arr;\r\n }\r\n const val = _val\r\n .trim()\r\n .split(' ')\r\n .map((v) => {\r\n return v.toLowerCase();\r\n });\r\n if (!val || val.length === 0) {\r\n return arr;\r\n }\r\n\r\n if (!this.isOnlyDocument) {\r\n data = this.processData.filter((item) => {\r\n const tempArr = item.childName.split(' ').map((v) => {\r\n return v.toLowerCase();\r\n });\r\n return this.isMatchTrue(val, tempArr);\r\n });\r\n\r\n if (data) {\r\n data.forEach((element) => {\r\n arr.push({\r\n id: element.childId,\r\n name: element.childName,\r\n type: 2\r\n });\r\n });\r\n }\r\n }\r\n\r\n data = this.documentData.filter((item) => {\r\n const tempArr = item.childName.split(' ').map((v) => {\r\n return v.toLowerCase();\r\n });\r\n return this.isMatchTrue(val, tempArr);\r\n });\r\n\r\n if (data) {\r\n data.forEach((element) => {\r\n arr.push({\r\n id: element.childId,\r\n name: element.childName,\r\n type: 1\r\n });\r\n });\r\n }\r\n this.setResultHeight(arr);\r\n return arr;\r\n }\r\n\r\n displayRelated(related?: Related): string | undefined {\r\n return related ? related.name : undefined;\r\n }\r\n\r\n selectRelated(id: string, type: number) {\r\n this.selectedNode = { id, type };\r\n this.onAddDocumentProcess();\r\n }\r\n\r\n setResultHeight(arr?: Related[]) {\r\n const viewreports = document.getElementsByClassName('related-viewport');\r\n if (viewreports) {\r\n let iHeight = 0;\r\n const view = viewreports[0] as HTMLElement;\r\n if (arr.length * 5 > 50) {\r\n iHeight = 51;\r\n } else {\r\n iHeight = arr.length * 5 + 1;\r\n if (iHeight > 0) {\r\n // window[ProcessRelatedConst.IS_DISPLAY_SEARCH_RESULT] = true;\r\n }\r\n }\r\n view.style.height = `${iHeight}vh`;\r\n view.style.display = 'block';\r\n }\r\n }\r\n\r\n hideSearchResult() {\r\n if (this.filteredOptions && this.filteredOptions.length > 0) {\r\n const viewreports = document.getElementsByClassName('related-viewport');\r\n if (viewreports && viewreports.length) {\r\n const view = viewreports[0] as HTMLElement;\r\n view.style.display = 'none';\r\n // window[ProcessRelatedConst.IS_DISPLAY_SEARCH_RESULT] = false;\r\n }\r\n }\r\n }\r\n\r\n showSearchResult() {\r\n if (this.filteredOptions && this.filteredOptions.length) {\r\n const viewreports = document.getElementsByClassName('related-viewport');\r\n if (viewreports && viewreports.length) {\r\n const view = viewreports[0] as HTMLElement;\r\n if (view.style.display === 'none') {\r\n view.style.display = 'block';\r\n // window[ProcessRelatedConst.IS_DISPLAY_SEARCH_RESULT] = true;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { AfterViewChecked, ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { LinkAnchor } from '../../common/enums/link-anchor.enum';\r\nimport { LinkType } from '../../common/enums/link-type.enum';\r\nimport { ProtocolType } from '../../common/enums/protocol-type.enum';\r\nimport { TargetType } from '../../common/enums/target-type.enum';\r\nimport { QMSCKEditorLinkAnchorDocument } from '../../common/models/qms-ckeditor-link-anchor-document.model';\r\nimport QMSCKEditorParamter from '../../common/models/qms-ckeditor-parameter.model';\r\nimport { QMSCKEditorRelation } from '../../common/models/qms-ckeditor-relation.model';\r\nimport QMSCKEditorLink from '../../common/models/qms-ckeditor-url.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorLinkService } from '../../services/qms-ckeditor-link.service';\r\nimport { QMSCKEditorRelatedComponent } from '../qms-ckeditor-relation/qmsckeditor-related.component';\r\nimport { LinkAttachmentComponent } from './attachments/link-attachment.component';\r\n\r\ninterface ILinkType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface ITarget {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface IProtocol {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface IAnchor {\r\n value: number;\r\n viewValue: string;\r\n anchorValue: string;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-ckeditor-link',\r\n templateUrl: './qms-ckeditor-link.component.html',\r\n styleUrls: ['./qms-ckeditor-link.component.scss']\r\n})\r\nexport class QMSCKEditorLinkComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {\r\n LANG: any;\r\n linkFormGroup: FormGroup = new FormGroup({\r\n targetList: new FormControl(),\r\n protocolList: new FormControl(),\r\n url: new FormControl('', [Validators.required]),\r\n advisoryTitle: new FormControl()\r\n });\r\n anchorTextFormGroup: FormGroup = new FormGroup({\r\n anchorText: new FormControl('', [Validators.required])\r\n });\r\n emailFormGroup: FormGroup = new FormGroup({\r\n emailAddress: new FormControl('', [Validators.required]),\r\n emailSubject: new FormControl('', [Validators.required]),\r\n emailBody: new FormControl('', [Validators.required])\r\n });\r\n anchorDocFormGroup: FormGroup = new FormGroup({\r\n anchorTitle: new FormControl('', [Validators.required]),\r\n anchorByName: new FormControl('', [Validators.required])\r\n });\r\n isExpanded = true;\r\n linkTypes: ILinkType[] = [];\r\n targets: ITarget[] = [];\r\n protocols: IProtocol[] = [];\r\n anchorDocuments: QMSCKEditorLinkAnchorDocument[] = [];\r\n anchors: IAnchor[];\r\n editorAnchors: IAnchor[];\r\n documentAnchors: IAnchor[];\r\n editorContent = '';\r\n selectedLink = 0;\r\n selectedTarget = 0;\r\n selectedProtocol = 0;\r\n url = '';\r\n advisoryTitle = '';\r\n edit = false;\r\n anchorText = '';\r\n emailAddress = '';\r\n emailSubject = '';\r\n emailBody = '';\r\n documentId = 0;\r\n anchorTitle = '';\r\n anchorByName = '';\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private linkService: QMSCKEditorLinkService,\r\n public dialogRef: MatDialogRef<QMSCKEditorLinkComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorLink\r\n ) {\r\n super();\r\n this.selectedLink = data.typeId;\r\n this.selectedTarget = data.targetId;\r\n this.selectedProtocol = data.protocolId;\r\n this.url = data.url;\r\n this.advisoryTitle = data.title;\r\n this.edit = data.edit;\r\n this.editorContent = data.editorContent;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.initLinkType();\r\n this.initTarget();\r\n this.initProtocol();\r\n this.initAnchor();\r\n if (this.data.edit) {\r\n this.parseLinkUrl(this.selectedLink, this.url);\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n initLinkType() {\r\n if (this.linkTypes) {\r\n this.linkTypes.push({ id: LinkType.url, name: this.LANG.QMSCKEDITOR.LINK_URL });\r\n this.linkTypes.push({\r\n id: LinkType.anchorText,\r\n name: this.LANG.QMSCKEDITOR.LINK_ANCHOR_IN_TEXT\r\n });\r\n this.linkTypes.push({ id: LinkType.email, name: this.LANG.QMSCKEDITOR.LINK_EMAIL });\r\n this.linkTypes.push({\r\n id: LinkType.anchorDocument,\r\n name: this.LANG.QMSCKEDITOR.LINK_ANCHOR_DOCUMENT\r\n });\r\n }\r\n }\r\n\r\n initTarget() {\r\n if (this.targets) {\r\n this.targets.push({ id: TargetType.new, name: this.LANG.QMSCKEDITOR.TARTGET_NEW });\r\n this.targets.push({ id: TargetType.topmost, name: this.LANG.QMSCKEDITOR.TARGET_TOPMOST });\r\n this.targets.push({ id: TargetType.same, name: this.LANG.QMSCKEDITOR.TARGET_SAME });\r\n this.targets.push({ id: TargetType.parent, name: this.LANG.QMSCKEDITOR.TARGET_PARENT });\r\n }\r\n }\r\n\r\n initProtocol() {\r\n if (this.protocols) {\r\n this.protocols.push({ id: ProtocolType.http, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTP });\r\n this.protocols.push({ id: ProtocolType.https, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTPS });\r\n this.protocols.push({ id: ProtocolType.fpt, name: this.LANG.QMSCKEDITOR.PROTOCOL_FTP });\r\n this.protocols.push({ id: ProtocolType.new, name: this.LANG.QMSCKEDITOR.PROTOCOL_NEW });\r\n this.protocols.push({ id: ProtocolType.other, name: this.LANG.QMSCKEDITOR.PROTOCOL_OTHER });\r\n }\r\n }\r\n\r\n initAnchor() {\r\n this.anchors = [];\r\n this.anchors = [{ value: 0, viewValue: '', anchorValue: LinkAnchor.Blank }];\r\n }\r\n\r\n parseLinkUrl(typeId: number, url: string) {\r\n if (typeId === LinkType.anchorText) {\r\n this.getEditorAnchor();\r\n this.anchorText = url.substr(1);\r\n } else if (typeId === LinkType.email) {\r\n const p1 = url.indexOf('mailto:');\r\n const p2 = url.indexOf('?subject=');\r\n const p3 = url.indexOf('&body=');\r\n this.emailAddress = url.substr(p1 + 7, p2 - 7);\r\n this.emailSubject = url.substr(p2 + 9, p3 - p2 - 9);\r\n this.emailBody = url.substr(p3 + 6, url.length - p3 - 6);\r\n } else if (typeId === LinkType.anchorDocument) {\r\n const flashIndex = url.lastIndexOf('/');\r\n const hashIndex = url.indexOf('#');\r\n const sId = url.substr(flashIndex + 1, hashIndex - 1 - flashIndex);\r\n const documentId = parseInt(sId, 10);\r\n this.getAnchorDocument(documentId);\r\n this.anchorByName = url.substr(hashIndex + 1, url.length - hashIndex);\r\n this.anchorTitle = this.data.title;\r\n }\r\n }\r\n\r\n onSelectedLinkType() {\r\n if (this.selectedLink === LinkType.anchorText) {\r\n this.getEditorAnchor();\r\n } else if (this.selectedLink === LinkType.anchorDocument) {\r\n if (!this.documentAnchors) {\r\n this.anchorDocuments = [];\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.documentAnchors = this.anchors;\r\n }\r\n }\r\n }\r\n\r\n eHandbook(isOnlyDocument: boolean, isAnchorDocument: boolean) {\r\n const data = new QMSCKEditorRelation();\r\n data.isOnlyDocument = isOnlyDocument;\r\n data.isEnableFolder = !isOnlyDocument;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorRelatedComponent, {\r\n width: '650px',\r\n height: '650px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n if (!isAnchorDocument) {\r\n this.url = result.url;\r\n if (!this.advisoryTitle) {\r\n this.advisoryTitle = result.title;\r\n }\r\n this.selectedProtocol = ProtocolType.other;\r\n } else {\r\n this.documentId = result.id;\r\n this.anchorTitle = `${result.title}(${result.id})`;\r\n this.getAnchorDocument(result.id);\r\n }\r\n }\r\n });\r\n }\r\n\r\n attachment() {\r\n const data = new QMSCKEditorParamter();\r\n data.module = this.data.module;\r\n data.entityId = this.data.entityId;\r\n const dialogTemplate = this.dialog.open(LinkAttachmentComponent, {\r\n width: '650px',\r\n height: '650px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.url = result.url;\r\n if (!this.advisoryTitle) {\r\n this.advisoryTitle = result.title;\r\n }\r\n this.selectedProtocol = ProtocolType.other;\r\n }\r\n });\r\n }\r\n\r\n getEditorAnchor() {\r\n this.anchorDocuments = [];\r\n if (this.editorContent) {\r\n this.anchorDocuments.push({\r\n id: 0,\r\n entityId: 0,\r\n documentId: 0,\r\n documentTypeId: 0,\r\n richText: this.editorContent\r\n });\r\n }\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.editorAnchors = this.anchors;\r\n }\r\n\r\n getAnchorDocument(documentId: number) {\r\n this.linkService\r\n .getAnchorDocumentList(documentId)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((res) => {\r\n if (res) {\r\n this.anchorDocuments = res;\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.documentAnchors = this.anchors;\r\n } else {\r\n this.anchorDocuments = [];\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.documentAnchors = this.anchors;\r\n }\r\n });\r\n }\r\n\r\n setAnchorDocument(anchorDocument: QMSCKEditorLinkAnchorDocument[]) {\r\n this.initAnchor();\r\n let id = 3;\r\n if (anchorDocument) {\r\n anchorDocument.forEach((e) => {\r\n const div = document.createElement('div');\r\n div.innerHTML = e.richText;\r\n const domContent = div;\r\n const aTags = domContent.getElementsByTagName('a');\r\n if (aTags) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < aTags.length; i++) {\r\n const tag = aTags[i];\r\n if (tag.name) {\r\n const index = this.anchors.findIndex((x) => {\r\n return x.anchorValue === tag.name;\r\n });\r\n if (index < 0) {\r\n this.anchors.push({\r\n value: id,\r\n viewValue: tag.name,\r\n anchorValue: tag.name\r\n });\r\n id += 1;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n this.anchors.push({\r\n value: 1,\r\n viewValue: this.LANG.QMSCKEDITOR.ANCHOR_ATTACHMENT,\r\n anchorValue: LinkAnchor.Attachment\r\n });\r\n this.anchors.push({\r\n value: 2,\r\n viewValue: this.LANG.QMSCKEDITOR.ANCHOR_RELATED_DOCUMENT,\r\n anchorValue: LinkAnchor.Related\r\n });\r\n }\r\n\r\n disableOkButton() {\r\n let isDisable = false;\r\n switch (this.selectedLink) {\r\n case LinkType.url:\r\n isDisable = this.linkFormGroup.invalid;\r\n break;\r\n case LinkType.anchorText:\r\n isDisable = this.anchorTextFormGroup.invalid;\r\n break;\r\n case LinkType.email:\r\n isDisable = this.emailFormGroup.invalid;\r\n break;\r\n case LinkType.anchorDocument:\r\n isDisable = this.anchorDocFormGroup.invalid;\r\n break;\r\n default:\r\n break;\r\n }\r\n return isDisable;\r\n }\r\n\r\n setLink() {\r\n const link = new QMSCKEditorLink();\r\n link.typeId = this.selectedLink;\r\n link.targetId = this.selectedTarget;\r\n link.protocolId = this.selectedProtocol;\r\n if (this.selectedLink === LinkType.url) {\r\n link.url = `${this.selectedLink}${this.selectedProtocol}${this.url}`;\r\n link.title = this.advisoryTitle;\r\n } else if (this.selectedLink === LinkType.anchorText) {\r\n link.url = `${this.selectedLink}${0}#${this.anchorText}`;\r\n link.title = `#${this.anchorText}`;\r\n link.targetId = TargetType.same;\r\n } else if (this.selectedLink === LinkType.email) {\r\n link.url = `${this.selectedLink}${0}mailto:${this.emailAddress}?subject=${this.emailSubject}&body=${this.emailBody\r\n }`;\r\n link.title = this.emailAddress;\r\n link.targetId = TargetType.same;\r\n } else if (this.selectedLink === LinkType.anchorDocument) {\r\n link.url = `${this.selectedLink}${0}/document/${this.documentId}#${this.anchorByName}`;\r\n link.title = this.anchorTitle;\r\n link.targetId = TargetType.same;\r\n }\r\n this.dialogRef.close(link);\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Injectable, Injector } from '@angular/core';\r\n\r\n// @dynamic\r\nexport class QMSCKEditorInjector {\r\n private static injector: Injector;\r\n\r\n static setInjector(injector: Injector) {\r\n QMSCKEditorInjector.injector = injector;\r\n }\r\n\r\n static getInjector(): Injector {\r\n return QMSCKEditorInjector.injector;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n static getService(type: any) {\r\n const injector = QMSCKEditorInjector.getInjector();\r\n const service = injector.get(type);\r\n return service;\r\n }\r\n}\r\n","import {\r\n MatSnackBar,\r\n MatSnackBarConfig,\r\n MatSnackBarHorizontalPosition,\r\n MatSnackBarVerticalPosition\r\n} from '@angular/material/snack-bar';\r\nimport { QMSCKEditorInjector } from '../../services/qms-ckeditor-injector.service';\r\n\r\nexport class QMSCKEditorToastService {\r\n static horizontalPosition: MatSnackBarHorizontalPosition = 'right';\r\n\r\n static verticalPosition: MatSnackBarVerticalPosition = 'top';\r\n\r\n static actionButtonLabel = 'Close';\r\n\r\n static action = true;\r\n\r\n static setAutoHide = true;\r\n\r\n static autoHide = 3000;\r\n\r\n static success(msg) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = this.setAutoHide ? this.autoHide : 0;\r\n config.panelClass = ['toast-success'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n\r\n static warning(msg, duration?: number) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = duration || (this.setAutoHide ? this.autoHide : 0);\r\n config.panelClass = ['toast-warning'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n\r\n static info(msg) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = this.setAutoHide ? this.autoHide : 0;\r\n config.panelClass = ['toast-infor'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n\r\n static error(msg) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = 0;\r\n config.panelClass = ['toast-error'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n}\r\n","export class QMSCKEditorTemplate {\r\n id: number;\r\n title: string;\r\n description: string;\r\n content: string;\r\n deleted: boolean;\r\n createdBy: number;\r\n edit: boolean;\r\n\r\n constructor() {\r\n this.id = 0;\r\n this.title = '';\r\n this.description = '';\r\n this.content = '';\r\n this.deleted = false;\r\n this.createdBy = 0;\r\n this.edit = false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { QMSCKEditorTemplate } from '../models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseService } from './qms-ckeditor-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorTemplateService extends QMSCKEditorBaseService {\r\n public deleteTemplate(id: number): Observable<boolean> {\r\n return this.delete('ckeditorTemplate/DeleteTemplate', { id });\r\n }\r\n public getTemplate(): Observable<QMSCKEditorTemplate[]> {\r\n return this.get('ckeditorTemplate/GetTemplateList');\r\n }\r\n\r\n public modifyTemplate(template: QMSCKEditorTemplate): Observable<boolean> {\r\n return this.post('ckeditorTemplate/ModifyTemplate', template);\r\n }\r\n}\r\n","import { AfterViewChecked, ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorDialogData } from '../../common/models/qms-ckeditor-dialog.model';\r\nimport { QMSCKEditorConfirmComponent } from '../../common/module/confirm/qms-ckeditor-confirm.component';\r\nimport { QMSCKEditorToastService } from '../../common/toast/qms-ckeditor-toast.service';\r\nimport { QMSCKEditorTemplate } from '../../models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTemplateService } from '../../services/qms-ckedtior-template.service';\r\n\r\ninterface ITemplate {\r\n id: number;\r\n title: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-qmsck-template',\r\n templateUrl: './qms-ckeditor-template.component.html',\r\n styleUrls: ['./qms-ckeditor-template.component.scss']\r\n})\r\nexport class QMSCKEditorTemplateComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {\r\n LANG: any;\r\n templateFormGroup: FormGroup = new FormGroup({\r\n templateList: new FormControl(),\r\n title: new FormControl('', [Validators.required]),\r\n description: new FormControl('', [Validators.required])\r\n });\r\n isExpanded = true;\r\n content: string;\r\n templateList: QMSCKEditorTemplate[] = [];\r\n templates: ITemplate[] = [];\r\n template = new QMSCKEditorTemplate();\r\n selectedId = 0;\r\n isEdit = false;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private templateService: QMSCKEditorTemplateService,\r\n public dialogRef: MatDialogRef<QMSCKEditorTemplateComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorTemplate\r\n ) {\r\n super();\r\n this.content = data.content;\r\n this.selectedId = data.id;\r\n this.isEdit = data.edit;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.getTemplate();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getTemplate() {\r\n this.templateService\r\n .getTemplate()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n this.templateList = response;\r\n this.templates = response.map((x) => {\r\n return {\r\n id: x.id,\r\n title: x.title\r\n };\r\n });\r\n this.addNoneTemplate(this.templates);\r\n } else {\r\n this.addNoneTemplate(this.templates);\r\n }\r\n\r\n if (this.isEdit && this.selectedId !== 0) {\r\n this.onSelectChange();\r\n }\r\n });\r\n }\r\n\r\n addNoneTemplate(template: ITemplate[]) {\r\n if (template && !this.isEdit) {\r\n template.unshift({\r\n id: 0,\r\n title: this.LANG.QMSCKEDITOR.CREATE_NEW_TEMPLATE\r\n });\r\n }\r\n }\r\n\r\n onSelectChange() {\r\n if (this.selectedId === 0) {\r\n this.template.id = this.selectedId;\r\n this.template.title = '';\r\n this.template.description = '';\r\n this.template.content = this.content;\r\n this.template.deleted = false;\r\n this.template.createdBy = 0;\r\n } else if (this.templateList.length > 0) {\r\n const index = this.templateList.findIndex((x) => {\r\n return x.id === this.selectedId;\r\n });\r\n this.template.id = this.templateList[index].id;\r\n this.template.title = this.templateList[index].title;\r\n this.template.description = this.templateList[index].description;\r\n this.template.content = this.templateList[index].content;\r\n this.template.deleted = this.templateList[index].deleted;\r\n this.template.createdBy = this.templateList[index].createdBy;\r\n }\r\n }\r\n\r\n deleteTemplate() {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = this.LANG.QMSCKEDITOR.DELETE_TEMPLATE;\r\n data.content = this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_DELETE_TEMPLATE;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.templateService\r\n .deleteTemplate(this.selectedId)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === this.selectedId;\r\n });\r\n if (index >= 0) {\r\n this.templates.splice(index, 1);\r\n }\r\n this.selectedId = 0;\r\n this.onSelectChange();\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.DELETED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.DELETE_FAILED);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n saveTemplate() {\r\n if (this.selectedId === 0) {\r\n this.template.content = this.content;\r\n }\r\n this.templateService\r\n .modifyTemplate(this.template)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === this.selectedId;\r\n });\r\n if (index >= 0 && this.selectedId !== 0) {\r\n this.templates[index].title = this.template.title;\r\n }\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);\r\n }\r\n });\r\n }\r\n\r\n cancelTemplate() {\r\n this.dialogRef.close();\r\n }\r\n\r\n updateTemplate() {\r\n this.templateService\r\n .modifyTemplate(this.template)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n if (this.isEdit) {\r\n this.dialogRef.close(this.template);\r\n } else {\r\n let index = this.templates.findIndex((x) => {\r\n return x.id === this.template.id;\r\n });\r\n if (index >= 0) {\r\n this.templates[index].title = this.template.title;\r\n }\r\n index = this.templateList.findIndex((x) => {\r\n return x.id === this.template.id;\r\n });\r\n if (index >= 0) {\r\n this.templateList[index].description = this.template.description;\r\n }\r\n }\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorDialogData } from '../../common/models/qms-ckeditor-dialog.model';\r\nimport { QMSCKEditorConfirmComponent } from '../../common/module/confirm/qms-ckeditor-confirm.component';\r\nimport { QMSCKEditorToastService } from '../../common/toast/qms-ckeditor-toast.service';\r\nimport { QMSCKEditorTemplate } from '../../models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTemplateService } from '../../services/qms-ckedtior-template.service';\r\nimport { QMSCKEditorTemplateComponent } from '../qms-ckeditor-template/qms-ckeditor-template.component';\r\n\r\n@Component({\r\n selector: 'app-qmsck-load-template',\r\n templateUrl: './qms-ckeditor-load-template.component.html',\r\n styleUrls: ['./qms-ckeditor-load-template.component.scss']\r\n})\r\nexport class QMSCKEditorLoadTemplateComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n templates: QMSCKEditorTemplate[] = [];\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private templateService: QMSCKEditorTemplateService,\r\n public dialogRef: MatDialogRef<QMSCKEditorLoadTemplateComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: string\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.getTemplate();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getTemplate() {\r\n this.templateService\r\n .getTemplate()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n this.templates = response;\r\n }\r\n });\r\n }\r\n\r\n onSelectTemplate(id: number) {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = this.LANG.QMSCKEDITOR.CHANGE_TEMPLATE;\r\n data.content = this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_CHANGE_TEMPLATE;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n const content = this.templates[index].content;\r\n this.dialogRef.close(content);\r\n }\r\n });\r\n }\r\n\r\n onEditTemplate(id: number) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n const data: QMSCKEditorTemplate = new QMSCKEditorTemplate();\r\n data.id = this.templates[index].id;\r\n data.content = this.templates[index].content;\r\n data.edit = true;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorTemplateComponent, {\r\n width: '650px',\r\n height: '500px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.templates[index].title = result.title;\r\n this.templates[index].description = result.description;\r\n }\r\n });\r\n }\r\n\r\n onDeleteTemplate(id: number) {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = this.LANG.QMSCKEDITOR.DELETE_TEMPLATE;\r\n data.content = this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_DELETE_TEMPLATE;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.templateService\r\n .deleteTemplate(id)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n if (index >= 0) {\r\n this.templates.splice(index, 1);\r\n }\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.DELETED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.DELETE_FAILED);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { QMSCKEditorToastService } from '../toast/qms-ckeditor-toast.service';\r\nexport class UploadAdapter {\r\n loader: any;\r\n constructor(loader) {\r\n this.loader = loader;\r\n }\r\n\r\n upload() {\r\n return this.loader.file\r\n .then((file) => {\r\n return new Promise((resolve, reject) => {\r\n const myReader = new FileReader();\r\n myReader.onloadend = () => {\r\n resolve({ default: myReader.result });\r\n };\r\n // if (file.size > 512000) {\r\n // const msg = `${file.name} is more than 500kb. Sorry, it has to be less than or equal to 500kb`;\r\n // QMSCKEditorToastService.error(msg);\r\n // reject();\r\n // }\r\n myReader.readAsDataURL(file);\r\n });\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n }\r\n}\r\n","export class CKEditorEventConst {\r\n public static QMSCK_FULLSCREEN_PLUGIN_MSG = 'QMSCK_FULLSCREEN_PLUGIN_MSG';\r\n public static QMSCK_TEMPLATE_PLUGIN_MSG = 'QMSCK_TEMPLATE_PLUGIN_MSG';\r\n public static QMSCK_LOAD_TEMPLATE_PLUGIN_MSG = 'QMSCK_LOAD_TEMPLATE_PLUGIN_MSG';\r\n public static QMSCK_LOAD_TEMPLATE_PLUGIN_RESP = 'QMSCK_LOAD_TEMPLATE_PLUGIN_RESP';\r\n public static QMSCK_LINK_PLUGIN_MSG = 'QMSCK_LINK_PLUGIN_MSG';\r\n public static QMSCK_LINK_PLUGIN_RESP = 'QMSCK_LINK_PLUGIN_RESP';\r\n}\r\n","var IFRAME_SRC = '//cdn.iframe.ly/api/iframe';\r\nvar API_KEY = 'b499e92e857f435c39c14d';\r\n\r\nfunction getCKEditorConfiguration(itemToolbar: string) {\r\n const ckeditorConfig = {\r\n toolbar: {\r\n items: [\r\n ],\r\n viewportTopOffset: 30,\r\n shouldNotGroupWhenFull: true\r\n },\r\n language: 'en',\r\n table: {\r\n contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells']\r\n },\r\n image: {\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n toolbar: [\r\n 'imageResize:25',\r\n 'imageResize:50',\r\n 'imageResize:75',\r\n 'imageResize:original',\r\n 'imageStyle:alignLeft',\r\n 'imageStyle:alignCenter',\r\n 'imageStyle:alignRight',\r\n '|',\r\n 'imageTextAlternative',\r\n '|',\r\n 'linkImage'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'imageResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'imageResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'imageResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'imageResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'medium'\r\n }\r\n ]\r\n },\r\n video: {\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n resizeUnit: '%',\r\n toolbar: [\r\n 'videoResize',\r\n '|',\r\n 'videoResize:25',\r\n 'videoResize:50',\r\n 'videoResize:75',\r\n 'videoResize:original',\r\n 'videoStyle:alignLeft',\r\n 'videoStyle:alignCenter',\r\n 'videoStyle:alignRight'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'videoResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'videoResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'videoResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'videoResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'large'\r\n }\r\n ]\r\n },\r\n media: {\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n resizeUnit: '%',\r\n toolbar: [\r\n 'mediaResize',\r\n '|',\r\n 'mediaResize:25',\r\n 'mediaResize:50',\r\n 'mediaResize:75',\r\n 'mediaResize:original',\r\n 'mediaStyle:alignLeft',\r\n 'mediaStyle:alignCenter',\r\n 'mediaStyle:alignRight'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'mediaResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'mediaResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'mediaResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'mediaResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'large'\r\n }\r\n ]\r\n },\r\n // Configure 'mediaEmbed' with Iframely previews.\r\n mediaEmbed: {\r\n // Previews are always enabled if there’s a provider for a URL (below regex catches all URLs)\r\n // By default `previewsInData` are disabled, but let’s set it to `false` explicitely to be sure\r\n previewsInData: true,\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n resizeUnit: '%',\r\n toolbar: [\r\n 'mediaResize',\r\n '|',\r\n 'mediaResize:25',\r\n 'mediaResize:50',\r\n 'mediaResize:75',\r\n 'mediaResize:original',\r\n 'mediaStyle:alignLeft',\r\n 'mediaStyle:alignCenter',\r\n 'mediaStyle:alignRight'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'mediaResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'mediaResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'mediaResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'mediaResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'large'\r\n }\r\n ],\r\n // providers: [\r\n // {\r\n // // hint: this is just for previews. Get actual HTML codes by making API calls from your CMS\r\n // name: 'iframely previews',\r\n // // Match all URLs or just the ones you need:\r\n // url: /.+/,\r\n\r\n // html: match => {\r\n // const url = match[0];\r\n\r\n // var iframeUrl = IFRAME_SRC + '?app=1&api_key=' + API_KEY + '&url=' + encodeURIComponent(url);\r\n // // alternatively, use &key= instead of &api_key with the MD5 hash of your api_key\r\n // // more about it: https://iframely.com/docs/allow-origins\r\n\r\n // return (\r\n // // If you need, set maxwidth and other styles for 'iframely-embed' class - it's yours to customize\r\n // '<div class=\"iframely-embed\">' +\r\n // '<div class=\"iframely-responsive\">' +\r\n // `<iframe src=\"${iframeUrl}\" ` +\r\n // 'frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen>' +\r\n // '</iframe>' +\r\n // '</div>' +\r\n // '</div>'\r\n // );\r\n // }\r\n // }\r\n // ]\r\n },\r\n link: {\r\n addTargetToExternalLinks: false,\r\n decorators: [\r\n {\r\n mode: 'manual',\r\n label: 'New window',\r\n attributes: {\r\n target: '_blank',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n mode: 'manual',\r\n label: 'Topmost window',\r\n attributes: {\r\n target: '_top',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n mode: 'manual',\r\n label: 'Same window',\r\n attributes: {\r\n target: '_self',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n mode: 'manual',\r\n label: 'Parent window',\r\n attributes: {\r\n target: '_parent',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n // alway put this one a the bottom\r\n mode: 'manual',\r\n label: 'Select range',\r\n attributes: {\r\n selectedRange: true\r\n }\r\n }\r\n ]\r\n }\r\n };\r\n\r\n if (itemToolbar) {\r\n const itemArray = itemToolbar.split(',');\r\n itemArray.forEach(i => {\r\n ckeditorConfig.toolbar.items.push(i);\r\n });\r\n }\r\n\r\n return ckeditorConfig;\r\n}\r\n\r\nconst CKEditorCommonFunctions = {\r\n getCKEditorConfiguration\r\n};\r\nexport default CKEditorCommonFunctions;\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, HostListener, Input, OnInit, Output, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { UploadAdapter } from './common/classes/uploadAdapter';\r\nimport { CKEditorEventConst } from './common/constants/ckeditorEvent.constant';\r\nimport CKEditorCommonFunctions from './common/functions/common.function';\r\nimport { QMSCKEdtiorInputData } from './common/models/qms-ckeditor-input.model';\r\nimport { QMSCKEditorPlugin } from './common/models/qms-ckeditor-plugin.model';\r\nimport QMSCKEditorLink from './common/models/qms-ckeditor-url.model';\r\nimport { QMSCKEditorFullscreenComponent } from './components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component';\r\nimport { QMSCKEditorLinkComponent } from './components/qms-ckeditor-link/qms-ckeditor-link.component';\r\nimport { QMSCKEditorLoadTemplateComponent } from './components/qms-ckeditor-load-template/qms-ckeditor-load-template.component';\r\nimport { QMSCKEditorTemplateComponent } from './components/qms-ckeditor-template/qms-ckeditor-template.component';\r\nimport { QMSCKEditorTemplate } from './models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseComponent } from './qms-ckeditor-base.component';\r\nimport { QMSCKEditorGlobalService } from './services/qms-ckeditor-global.service';\r\n\r\n@Component({\r\n selector: 'qms-ckeditor',\r\n templateUrl: './qms-ckeditor.component.html',\r\n styleUrls: ['./qms-ckeditor.component.scss'],\r\n providers: [\r\n QMSCKEditorFullscreenComponent,\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => QMSCKEditorComponent),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => QMSCKEditorComponent),\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class QMSCKEditorComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewInit, Validator {\r\n @Input() qmsckData: QMSCKEdtiorInputData;\r\n @Input() qmsckPlugin: QMSCKEditorPlugin;\r\n @Input() qmsckContentInput: string;\r\n @Input('disabled') isDisabled: boolean;\r\n @Input('required') required: boolean = false;\r\n @Output() qmsckContentOutput: EventEmitter<string> = new EventEmitter();\r\n\r\n ckEditor: any;\r\n name: string;\r\n ckeditorConfig: any;\r\n ckEditorEventConst = CKEditorEventConst;\r\n countWord: number;\r\n countChar: number;\r\n editorInstance: any;\r\n\r\n @HostListener('window:message', ['$event'])\r\n onMessage(event) {\r\n switch (event.data.eventName) {\r\n case this.ckEditorEventConst.QMSCK_FULLSCREEN_PLUGIN_MSG:\r\n this.fullscreenEventHandling();\r\n break;\r\n case this.ckEditorEventConst.QMSCK_TEMPLATE_PLUGIN_MSG:\r\n this.templateEventHandling();\r\n break;\r\n case this.ckEditorEventConst.QMSCK_LOAD_TEMPLATE_PLUGIN_MSG:\r\n this.loadTemplateEventHandling();\r\n break;\r\n case this.ckEditorEventConst.QMSCK_LINK_PLUGIN_MSG:\r\n this.linkEventHandling(event.data.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Constructor\r\n */\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private globalService: QMSCKEditorGlobalService,\r\n private qmsCKEditorFullscreenComponent: QMSCKEditorFullscreenComponent,\r\n private renderer: Renderer2,\r\n private elRef: ElementRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.name = 'CKEditor custom build';\r\n this.ckEditor = this.qmsckPlugin.pluginObject;\r\n this.ckeditorConfig = CKEditorCommonFunctions.getCKEditorConfiguration(this.qmsckPlugin.itemToolbar);\r\n this.globalService.setApiUrl(this.qmsckData.apiUrl);\r\n }\r\n\r\n onChange: (content: any) => void;\r\n onTouched: () => void;\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n if (this.isDisabled) {\r\n this.renderer.addClass(this.elRef.nativeElement, 'ck-disabled');\r\n }\r\n }\r\n\r\n public onChanged({ editor }) {\r\n this.qmsckContentOutput.emit(this.qmsckContentInput);\r\n }\r\n\r\n public onBlur({ editor }) {\r\n this.qmsckContentOutput.emit(this.qmsckContentInput);\r\n }\r\n\r\n validate(c: FormControl) {\r\n if (!this.required) {\r\n return null;\r\n }\r\n return (this.qmsckContentInput && !this.required) ? null : {\r\n type: {\r\n valid: false,\r\n actual: c.value\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * onReady\r\n */\r\n public onReady(editor) {\r\n this.editorInstance = editor;\r\n if (this.qmsckContentInput) {\r\n editor.setData(this.qmsckContentInput);\r\n }\r\n\r\n this.initEditor(editor);\r\n\r\n }\r\n\r\n private initEditor(editor) {\r\n editor.ui\r\n .getEditableElement()\r\n .parentElement.insertBefore(editor.ui.view.toolbar.element, editor.ui.getEditableElement());\r\n\r\n editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {\r\n return new UploadAdapter(loader);\r\n };\r\n\r\n // Apped Wordcount to CKeditor\r\n editor.plugins.get('WordCount').on('update', (evt, stats) => {\r\n // Prints the current content statistics.\r\n const wordsBox = document.querySelector('.wordcount-content');\r\n wordsBox.textContent = `Words: ${stats.words} / Characters: ${stats.characters}`;\r\n });\r\n\r\n }\r\n\r\n /**\r\n * Full screen - Restore down\r\n */\r\n public fullscreenEventHandling() {\r\n const ck = window.document.getElementById('qmsckeditor');\r\n if (ck) {\r\n if (!ck.classList.contains('qmsckeditor__fullscreen')) {\r\n this.qmsCKEditorFullscreenComponent.showFullScreen();\r\n } else {\r\n this.qmsCKEditorFullscreenComponent.hideFullScreen();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Add template - Load template\r\n */\r\n public templateEventHandling() {\r\n const data: QMSCKEditorTemplate = new QMSCKEditorTemplate();\r\n data.id = 0;\r\n data.content = this.qmsckContentInput;\r\n data.edit = false;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorTemplateComponent, {\r\n width: '650px',\r\n height: '520px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n // TDO\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Add template - Load template\r\n */\r\n public loadTemplateEventHandling() {\r\n const dialogTemplate = this.dialog.open(QMSCKEditorLoadTemplateComponent, {\r\n width: '650px',\r\n height: '700px',\r\n data: this.qmsckContentInput,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_LOAD_TEMPLATE_PLUGIN_RESP, {\r\n detail: result\r\n });\r\n window.dispatchEvent(evt);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Anchor - Link - Image mapping\r\n */\r\n public linkEventHandling(link) {\r\n let data = new QMSCKEditorLink();\r\n data = link;\r\n data.editorContent = this.qmsckContentInput;\r\n data.module = this.qmsckData.module;\r\n data.entityId = this.qmsckData.entityId;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorLinkComponent, {\r\n width: '650px',\r\n height: '660px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_LINK_PLUGIN_RESP, {\r\n detail: result\r\n });\r\n window.dispatchEvent(evt);\r\n }\r\n });\r\n }\r\n}\r\n","import { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { Injector, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\r\nimport { QMSCKEditorConfirmComponent } from './common/module/confirm/qms-ckeditor-confirm.component';\r\nimport { QMSCKEditorTreeComponent } from './common/module/tree/qms-ckeditor-tree.component';\r\nimport { QMSCKEditorFullscreenComponent } from './components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component';\r\nimport { LinkAttachmentComponent } from './components/qms-ckeditor-link/attachments/link-attachment.component';\r\nimport { QMSCKEditorLinkComponent } from './components/qms-ckeditor-link/qms-ckeditor-link.component';\r\nimport { QMSCKEditorLoadTemplateComponent } from './components/qms-ckeditor-load-template/qms-ckeditor-load-template.component';\r\nimport { QMSCKEditorRelatedComponent } from './components/qms-ckeditor-relation/qmsckeditor-related.component';\r\nimport { QMSCKEditorTemplateComponent } from './components/qms-ckeditor-template/qms-ckeditor-template.component';\r\nimport { QMSCKEditorComponent } from './qms-ckeditor.component';\r\nimport { QMSCKEditorInjector } from './services/qms-ckeditor-injector.service';\r\nimport { SharedModule } from '../shared.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n QMSCKEditorFullscreenComponent,\r\n QMSCKEditorComponent,\r\n QMSCKEditorTemplateComponent,\r\n QMSCKEditorLoadTemplateComponent,\r\n QMSCKEditorConfirmComponent,\r\n QMSCKEditorLinkComponent,\r\n QMSCKEditorTreeComponent,\r\n QMSCKEditorRelatedComponent,\r\n LinkAttachmentComponent\r\n ],\r\n imports: [\r\n CKEditorModule,\r\n CommonModule,\r\n MatCommonModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n MatExpansionModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n MatCardModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatButtonModule,\r\n MatTreeModule,\r\n MatAutocompleteModule,\r\n ScrollingModule,\r\n HttpClientModule,\r\n SharedModule\r\n ],\r\n providers: [],\r\n exports: [QMSCKEditorComponent],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class QMSCKEditorModule {\r\n constructor(private injectors: Injector) {\r\n QMSCKEditorInjector.setInjector(this.injectors);\r\n }\r\n}\r\n","export class QMSCKEditorData {\r\n apiUrl: string;\r\n module: number;\r\n entityId: string;\r\n documentId: number;\r\n\r\n constructor() {\r\n this.apiUrl = '';\r\n this.module = 0;\r\n this.entityId = '';\r\n this.documentId = 0;\r\n }\r\n}\r\n","export class QMSCKEdtiorInputData {\r\n apiUrl: string;\r\n module: number;\r\n entityId: string;\r\n documentId: number;\r\n\r\n constructor() {\r\n this.apiUrl = '';\r\n this.module = 0;\r\n this.entityId = '';\r\n this.documentId = 0;\r\n }\r\n}\r\n","export class QMSCKEditorLinkAnchorDocument {\r\n id: number;\r\n entityId: number;\r\n documentId: number;\r\n documentTypeId: number;\r\n richText: string;\r\n\r\n constructor() {\r\n this.id = 0;\r\n this.entityId = 0;\r\n this.documentId = 0;\r\n this.documentTypeId = 0;\r\n this.richText = '';\r\n }\r\n}\r\n","export default class QMSCKEditorLinkAttachment {\r\n itemId: string;\r\n fileName: string;\r\n placementId: number;\r\n processrelationTypeId: number;\r\n extension: string;\r\n description: string;\r\n sort: number;\r\n extraId: string;\r\n}\r\n","export default class QMSCKEditorTree {\r\n rootId: string;\r\n parentId: string;\r\n rootName: string;\r\n subName: string;\r\n childId: string;\r\n childName: string;\r\n statusId: number;\r\n displayId: number;\r\n}\r\n","export class QMSCKEditorPlugin {\r\n pluginObject: any;\r\n itemToolbar: string;\r\n\r\n constructor() {\r\n this.pluginObject = null;\r\n this.itemToolbar = '';\r\n }\r\n}\r\n","import { ViewChild } from '@angular/core';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { IconModel } from './qms-app-bar.model';\r\n\r\n@Component({\r\n selector: 'app-qms-app-bar',\r\n templateUrl: './qms-app-bar.component.html',\r\n styleUrls: ['./qms-app-bar.component.scss']\r\n})\r\nexport class QmsAppBarComponent implements OnInit {\r\n @ViewChild('menu', { static: true }) menu: MatButton;\r\n\r\n // nomal style\r\n @Input() isNomalType = false;\r\n @Input() leftFirstIcon = 'keyboard_backspace';\r\n @Input() title: string;\r\n @Input() cancelTitle: string;\r\n @Input() confirmTitle: string;\r\n @Input() disabledConfirmAction: boolean;\r\n @Output() onClickLeftFirstIconEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() onCancelEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() onConfirmEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n // modern style\r\n @Input() hideMenuDropdown: boolean;\r\n @Input() logoSvgPath: string;\r\n @Input() imgSvgPath: string;\r\n @Input() isImgSvgTransparent: boolean;\r\n @Input() rightIcons: IconModel[] = [];\r\n @Input() notifications = 0;\r\n @Output() onMenuClickedEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() onRightIconClickedEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor() { }\r\n \r\n ngOnInit(): void {\r\n }\r\n\r\n onCancel() {\r\n this.onCancelEvent.emit();\r\n }\r\n\r\n onClickLeftFirstIcon() {\r\n this.onClickLeftFirstIconEvent.emit();\r\n }\r\n\r\n onConfirm() {\r\n this.onConfirmEvent.emit();\r\n }\r\n\r\n onMenuClicked() {\r\n this.onMenuClickedEvent.emit();\r\n }\r\n\r\n onRightIconClicked(icon: string) {\r\n this.onRightIconClickedEvent.emit(icon);\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QmsAppBarComponent } from './qms-app-bar.component';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { QMSButtonModule } from '../button/button.module';\r\n\r\n@NgModule(\r\n {\r\n declarations: [\r\n QmsAppBarComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatToolbarModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatBadgeModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n QmsAppBarComponent\r\n ]\r\n }\r\n)\r\n\r\nexport class QmsAppBarModule {\r\n}\r\n","export class IconModel {\r\n icon: string;\r\n tooltip: string;\r\n cssClass: string;\r\n svg: boolean;\r\n isShow: boolean;\r\n constructor(icon: string, tooltip: string, cssClass = '', svg = false, isShow = true) {\r\n this.icon = icon;\r\n this.tooltip = tooltip;\r\n this.svg = svg;\r\n this.cssClass = cssClass;\r\n this.isShow = isShow;\r\n }\r\n}","import { MatDialogConfig } from \"@angular/material/dialog\";\r\n\r\nexport class ConfirmDialog {\r\n title: string;\r\n body: string;\r\n normalTitle: string;\r\n closeButton: boolean;\r\n buttonType: string;\r\n actionText: string;\r\n cancelText: string;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.body = '';\r\n this.normalTitle = '';\r\n this.buttonType = 'normal';\r\n this.closeButton = false;\r\n this.actionText = 'Confirm';\r\n this.cancelText = 'Cancel';\r\n }\r\n}\r\n\r\n\r\n\r\nexport class QMSDialogConfig extends MatDialogConfig {\r\n constructor(data: ConfirmDialog, width: string = '', minHeight: string = '', panelClass: string = '') {\r\n super();\r\n this.data = data;\r\n this.width = width;\r\n this.disableClose = true;\r\n this.panelClass = ['qms-dialog'];\r\n this.panelClass.push(panelClass);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { QMSToolTipComponent } from './tooltip';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n CommonModule\r\n ],\r\n exports: [\r\n QMSToolTipComponent,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n \r\n ],\r\n declarations: [\r\n QMSToolTipComponent\r\n ],\r\n})\r\nexport class QMSTooltipModule { }","export class QmsBannerContent {\r\n text: string;\r\n tooltip?: string;\r\n bold?: boolean;\r\n}\r\n\r\nexport enum BannerType {\r\n primary = 'primary',\r\n warning = 'warning',\r\n success = 'success',\r\n error = 'error',\r\n light = 'light',\r\n none = 'none',\r\n}\r\n\r\nexport class QmsBannerConfirmButton {\r\n id: string | number;\r\n text: string;\r\n}\r\n\r\nexport class QmsBannerConfirmButtonClick {\r\n button: QmsBannerConfirmButton;\r\n event: PointerEvent;\r\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BannerType, QmsBannerContent } from '../models/qms-banner.model';\r\n\r\n@Component({\r\n selector: 'qms-banner',\r\n templateUrl: './qms-banner.component.html',\r\n styleUrls: ['./qms-banner.component.scss']\r\n})\r\nexport class QmsBannerComponent {\r\n @Input() type = BannerType.primary;\r\n @Input() contents: QmsBannerContent[] = [];\r\n @Input() icon: string;\r\n @Input() buttonText: string;\r\n @Input() buttonMinWidth: number;\r\n\r\n @Output() buttonClick = new EventEmitter<PointerEvent>();\r\n\r\n public onClickButton(event: PointerEvent) {\r\n this.buttonClick.emit(event);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QmsBannerComponent } from './qms-banner.component';\r\nimport { QMSButtonModule } from '../../button/button.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsBannerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n QmsBannerComponent\r\n ]\r\n})\r\nexport class QmsBannerModule { }\r\n","import { Component, Input } from '@angular/core';\r\nimport { BannerType } from '../models/qms-banner.model';\r\n\r\n@Component({\r\n selector: 'qms-banner-loading',\r\n templateUrl: './qms-banner-loading.component.html',\r\n styleUrls: ['./qms-banner-loading.component.scss']\r\n})\r\nexport class QmsBannerLoadingComponent {\r\n @Input() type = BannerType.primary;\r\n @Input() title: string;\r\n @Input() percent: number;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { QmsBannerLoadingComponent } from './qms-banner-loading.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsBannerLoadingComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatProgressSpinnerModule\r\n ],\r\n exports: [\r\n QmsBannerLoadingComponent\r\n ]\r\n})\r\nexport class QmsBannerLoadingModule { }\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BannerType, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerContent } from '../models/qms-banner.model';\r\n\r\n@Component({\r\n selector: 'qms-banner-confirm',\r\n templateUrl: './qms-banner-confirm.component.html',\r\n styleUrls: ['./qms-banner-confirm.component.scss']\r\n})\r\nexport class QmsBannerConfirmComponent {\r\n @Input() type = BannerType.primary;\r\n @Input() contents: QmsBannerContent[] = [];\r\n @Input() icon: string;\r\n @Input() title: string;\r\n @Input() buttons: QmsBannerConfirmButton[];\r\n\r\n @Output() buttonClick = new EventEmitter<QmsBannerConfirmButtonClick>();\r\n\r\n public onClickButton(event: PointerEvent, button: QmsBannerConfirmButton) {\r\n this.buttonClick.emit({\r\n event: event,\r\n button: button\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QmsBannerConfirmComponent } from './qms-banner-confirm.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { QMSButtonModule } from '../../button/button.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsBannerConfirmComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n QmsBannerConfirmComponent\r\n ]\r\n})\r\nexport class QmsBannerConfirmModule { }\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit, ChangeDetectionStrategy, Component,\r\n ContentChildren, Directive, ElementRef, HostListener, Input, OnInit,\r\n QueryList, Renderer2, ViewEncapsulation\r\n} from \"@angular/core\";\r\n\r\n\r\n@Component({\r\n selector: 'qms-table-action',\r\n templateUrl: 'table-action.html',\r\n styleUrls: ['table.scss'],\r\n host: { 'class': 'qms-table-action' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSTableAction implements OnInit {\r\n\r\n constructor(private elRef: ElementRef) { }\r\n ngOnInit() { }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-table-action-block',\r\n templateUrl: 'table-action-block.html',\r\n styleUrls: ['table.scss'],\r\n host: {\r\n 'class': 'qms-table-action-block',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSTableActionBlock implements AfterViewInit {\r\n\r\n constructor(private elRef: ElementRef<HTMLElement>, private renderer: Renderer2) { }\r\n\r\n ngAfterViewInit() {\r\n }\r\n}\r\n\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nimport { QMSTableAction, QMSTableActionBlock } from './table-action';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n QMSTableAction,\r\n QMSTableActionBlock,\r\n ],\r\n declarations: [\r\n QMSTableAction,\r\n QMSTableActionBlock,\r\n ],\r\n providers: []\r\n})\r\nexport class QMSTableModule { }\r\n","export const BREADCRUMB_DROPDOWN_ICON = `<svg width=\"28\" height=\"28\" viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.3552 5.35508C11.9118 4.91175 11.3168 4.66675 10.6985 4.66675H4.66683C3.3835 4.66675 2.34516 5.71675 2.34516 7.00008L2.3335 21.0001C2.3335 22.2834 3.3835 23.3334 4.66683 23.3334H23.3335C24.6168 23.3334 25.6668 22.2834 25.6668 21.0001V9.33341C25.6668 8.05008 24.6168 7.00008 23.3335 7.00008H14.0002L12.3552 5.35508Z\" fill=\"#00324E\"/>\r\n<path d=\"M10.25 13.125L14 16.875L17.75 13.125H10.25Z\" fill=\"white\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;","import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';\r\nimport { AfterViewInit, ContentChild, Directive, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, Renderer2} from '@angular/core';\r\nimport { QMSToolTipRendererDirective } from '../../directives/tooltip/tooltip-renderer.directive';\r\n\r\n@Directive({\r\n selector: '[qms-breadcrumb-item]',\r\n})\r\nexport class QMSBreadcrumbItemDirective implements OnInit, AfterViewInit {\r\n @Input() isLastItem: boolean;\r\n @Input() showTooltip: boolean;\r\n @Output() showTooltipChange = new EventEmitter();\r\n @ContentChild(\"breadcrumbItemText\", {static: false}) breadcrumbItemText: ElementRef;\r\n constructor(public ele: ElementRef, private renderer: Renderer2) {\r\n }\r\n ngAfterViewInit(): void {\r\n if(this.breadcrumbItemText){\r\n this.breadcrumbItemText.nativeElement.classList.add('qms-breadcrumb-item-text')\r\n if(this.breadcrumbItemText.nativeElement.innerText.length > 30){\r\n this.showTooltipChange.emit(true);\r\n }\r\n }\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-item');\r\n if(this.isLastItem){\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-last-item')\r\n }\r\n }\r\n }\r\n}","import { AfterViewChecked, AfterViewInit, Component, ElementRef, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatIconRegistry } from \"@angular/material/icon\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { BREADCRUMB_DROPDOWN_ICON } from \"../../common/qms-icon.const\";\r\nimport { ItemIconType } from \"../related/common/item-icon-type.enum\";\r\nimport { QMSBreadcrumbItemDirective } from \"./breadcrumb-item.directive\";\r\nimport { BreadcrumbNode } from \"./model/breadcrumb-node.model\";\r\n\r\n@Component({\r\n selector: 'qms-breadcrumb',\r\n templateUrl: 'breadcrumb.html',\r\n styleUrls: ['breadcrumb.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\n\r\nexport class QMSBreadcrumb implements OnInit, AfterViewInit {\r\n @Input() nodes: BreadcrumbNode[];\r\n @Input() type: string;\r\n @Input() maxLine: number;\r\n @Output() onItemClick: EventEmitter<any> = new EventEmitter<any>();\r\n @ViewChildren(QMSBreadcrumbItemDirective, {}) breadCrumbNodes: QueryList<QMSBreadcrumbItemDirective>;\r\n \r\n dropdownNodes: BreadcrumbNode[] = [];\r\n isOverflow = false;\r\n homeNode: BreadcrumbNode;\r\n previousNode: BreadcrumbNode;\r\n itemNodes: BreadcrumbNode[];\r\n itemSpace: number = 12;\r\n itemIconType;\r\n isMobileType: boolean = false;\r\n\r\n constructor(private ele: ElementRef,\r\n private iconRegistry: MatIconRegistry, \r\n private sanitizer: DomSanitizer){\r\n iconRegistry.addSvgIconLiteral('breadcrumb_dropdown', sanitizer.bypassSecurityTrustHtml(BREADCRUMB_DROPDOWN_ICON)); \r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if(!this.isMobileType){\r\n if(!this.maxLine || this.maxLine < 2){\r\n const nodeWidths = this.breadCrumbNodes.filter((x, index) => \r\n index != 0).map(x => x.ele.nativeElement.offsetWidth);\r\n let currentWidth = 0;\r\n nodeWidths.forEach(width => {\r\n currentWidth += width + this.itemSpace * 2;\r\n })\r\n this.isOverflow = this.ele.nativeElement.offsetWidth < currentWidth;\r\n if(this.isOverflow){\r\n if(this.type !== 'table'){\r\n this.dropdownNodes.push(this.homeNode);\r\n }\r\n nodeWidths.forEach((eleWidth, index) => {\r\n if(currentWidth - eleWidth + this.itemSpace > this.ele.nativeElement.offsetWidth){\r\n this.itemNodes[index].isShow = false;\r\n this.dropdownNodes.push(this.itemNodes[index]);\r\n currentWidth -= eleWidth + this.itemSpace;\r\n }\r\n })\r\n }\r\n }\r\n else{\r\n const nodeWidths = this.breadCrumbNodes.filter((x, index) => \r\n index != 0).map(x => x.ele.nativeElement.offsetWidth);\r\n let currentWidth = 0;\r\n nodeWidths.forEach(width => {\r\n currentWidth += width + this.itemSpace * 2;\r\n })\r\n this.isOverflow = this.ele.nativeElement.offsetWidth * 2 < currentWidth;\r\n if(this.isOverflow){\r\n if(this.type !== 'table'){\r\n this.dropdownNodes.push(this.homeNode);\r\n }\r\n nodeWidths.forEach((eleWidth, index) => {\r\n if(currentWidth - eleWidth + this.itemSpace > this.ele.nativeElement.offsetWidth * 2){\r\n this.itemNodes[index].isShow = false;\r\n this.dropdownNodes.push(this.itemNodes[index]);\r\n currentWidth -= eleWidth + this.itemSpace;\r\n }\r\n })\r\n }\r\n }\r\n }\r\n }\r\n \r\n ngOnInit() {\r\n this.itemIconType = ItemIconType;\r\n if(this.nodes && this.nodes.length > 0){\r\n this.nodes.forEach(ele => {\r\n ele.isOverflow = ele.isOverflow? ele.isOverflow: false;\r\n ele.isShow = true;\r\n ele.displayType = this.getItemIconType(ele);\r\n })\r\n if(this.type !== 'mobile'){\r\n this.homeNode = this.nodes[0];\r\n this.itemNodes = this.nodes.slice(1);\r\n }\r\n else{\r\n this.isMobileType = true;\r\n this.previousNode = this.nodes[this.nodes.length >= 2? this.nodes.length - 2: 0];\r\n }\r\n }\r\n\r\n if(this.type === 'table'){\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-table');\r\n this.itemSpace = 12;\r\n }\r\n if(this.maxLine && this.maxLine > 1){\r\n this.ele.nativeElement.classList.add('qms-breadcrumb__multi-line');\r\n }\r\n }\r\n\r\n getItemIconType(treeConfig: BreadcrumbNode) {\r\n if (treeConfig.itemIcon) return ItemIconType.name;\r\n if (treeConfig.itemIconPath) return ItemIconType.path;\r\n if (treeConfig.itemIconBase64) return ItemIconType.base64;\r\n if (treeConfig.itemIconSvg) return ItemIconType.svg;\r\n return ItemIconType.none;\r\n }\r\n\r\n getImagePath(node: BreadcrumbNode){\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(node.itemIconBase64) as string;\r\n }\r\n\r\n onKeyPressed(event){\r\n [...event.target.children].forEach(x => x.click());\r\n }\r\n\r\n onItemSelect(item: BreadcrumbNode){\r\n if(this.onItemClick){\r\n this.onItemClick.emit(item);\r\n }\r\n }\r\n}","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-breadcrumb-direction-icon]',\r\n})\r\nexport class QMSBreadcrumbDirectionIconDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-direction-icon');\r\n }\r\n }\r\n}","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { QMSToolTipRendererDirective } from \"../../directives/tooltip/tooltip-renderer.directive\";\r\nimport { QmsAngularModule } from \"../../qms-angular.module\";\r\nimport { QMSButtonModule } from \"../button/button.module\";\r\nimport { QMSBreadcrumb } from \"./breadcrumb\";\r\nimport { QMSBreadcrumbDirectionIconDirective } from \"./breadcrumb-direction-icon.directive\";\r\nimport { QMSBreadcrumbItemDirective } from \"./breadcrumb-item.directive\";\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n QmsAngularModule,\r\n QMSButtonModule,\r\n MatMenuModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n QMSBreadcrumb,\r\n QMSBreadcrumbItemDirective,\r\n QMSBreadcrumbDirectionIconDirective,\r\n ],\r\n declarations: [\r\n QMSBreadcrumb,\r\n QMSBreadcrumbItemDirective,\r\n QMSBreadcrumbDirectionIconDirective,\r\n ],\r\n providers: []\r\n })\r\n export class QMSBreadcrumbModule { }","import { ItemIconType } from \"../../related/common/item-icon-type.enum\";\r\n\r\nexport class BreadcrumbNode {\r\n icon: string;\r\n iconColor: string;\r\n itemIcon: string;\r\n itemIconSvg: string;\r\n itemIconPath: string;\r\n itemIconBase64: string;\r\n name: string;\r\n isOverflow?: boolean;\r\n isShow?: boolean;\r\n displayType?: ItemIconType;\r\n}\r\n ","export class StepModel {\r\n id: string;\r\n name: string;\r\n disabled: boolean;\r\n selected: boolean;\r\n constructor(id: string, name: string, disabled: boolean, selected: boolean) {\r\n this.id = id;\r\n this.disabled = disabled;\r\n this.name = name;\r\n this.selected = selected;\r\n }\r\n}","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\r\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { StepModel } from './qms-stepper.model';\r\n\r\n@Component({\r\n selector: 'app-qms-stepper',\r\n templateUrl: './qms-stepper.component.html',\r\n styleUrls: ['./qms-stepper.component.scss']\r\n})\r\nexport class QmsStepperComponent implements OnInit {\r\n @ViewChild('stepper', { static: false }) stepper;\r\n @Input() steps: StepModel[] = [];\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() isHorizontal = false;\r\n @Input() currentStep = 0;\r\n @Input() labelPosition = 'end';\r\n @Output() selectionChangeEvent: EventEmitter<number> = new EventEmitter();\r\n constructor(private changeDetector: ChangeDetectorRef) {\r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n changeStep(selectedIndex: number): void {\r\n this.currentStep = selectedIndex;\r\n this.selectionChangeEvent.emit(selectedIndex);\r\n }\r\n}\r\n","import { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { QmsStepperComponent } from './qms-stepper.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n@NgModule(\r\n {\r\n declarations: [\r\n QmsStepperComponent\r\n ],\r\n imports: [\r\n MatStepperModule,\r\n CommonModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n QmsStepperComponent\r\n ],\r\n entryComponents: [\r\n QmsStepperComponent\r\n ],\r\n providers: [{\r\n provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false }\r\n }]\r\n }\r\n)\r\n\r\nexport class QmsStepperModule {\r\n}","import { MatSnackBarConfig, MatSnackBarHorizontalPosition } from \"@angular/material/snack-bar\";\r\n\r\nexport class QMSSnackbarConfig extends MatSnackBarConfig {\r\n constructor(duration: number = 3000, horizontalPosition: MatSnackBarHorizontalPosition = 'right', panelClass: string | string[] = ['c-snackbar-qms']) {\r\n super();\r\n this.duration = duration;\r\n this.horizontalPosition = horizontalPosition;\r\n this.panelClass = panelClass;\r\n }\r\n}\r\n","/*\r\n * Public API Surface of qms-angular\r\n */\r\n\r\nimport { from } from 'rxjs';\r\n\r\nexport * from './lib/qms-angular.service';\r\nexport * from './lib/qms-angular.component';\r\nexport * from './lib/qms-angular.module';\r\n\r\n// directives\r\n// export * from './lib/directives/directive.module';\r\nexport * from './lib/directives/margin.directive';\r\nexport * from './lib/directives/form.directive';\r\n\r\n// //components\r\nexport * from './lib/components/test-only/test-only.component';\r\n\r\nexport * from './lib/components/button/button.module';\r\nexport * from './lib/components/button/button';\r\nexport * from './lib/components/button/color';\r\n\r\nexport * from './lib/components/comment/comment';\r\n\r\n\r\nexport * from './lib/directives/search-field.directive';\r\nexport * from './lib/directives/range-slider/range-slider.directive';\r\nexport * from './lib/directives/range-slider/range-slider-lockup.directive';\r\nexport * from './lib/components/list/list.module';\r\nexport * from './lib/components/list/list';\r\nexport * from './lib/components/suffix-field/suffix-field.directive';\r\n\r\nexport * from './lib/services/translation-registry.service';\r\nexport * from './lib/shared.module';\r\nexport * from './lib/model/en';\r\nexport * from './lib/model/no';\r\n\r\nexport * from './lib/components/rich-text/rich-text.module';\r\nexport * from './lib/components/rich-text/rich-text';\r\n\r\n\r\n\r\nexport * from './lib/directives/chips/chip.directive';\r\nexport * from './lib/directives/chips/chip-body.directive';\r\nexport * from './lib/components/edit-file-name-dialog/edit-file-name-dialog.module';\r\nexport * from './lib/components/edit-file-name-dialog/edit-file-name-dialog';\r\nexport * from './lib/components/upload-file-error-dialog/upload-file-error-dialog.module';\r\nexport * from './lib/components/upload-file-error-dialog/upload-file-error-dialog';\r\n\r\nexport * from './lib/directives/file-upload/file-upload.directive';\r\nexport * from './lib/directives/file-upload/file-upload-attachment-list.directive';\r\nexport * from './lib/directives/file-upload/file-upload-selector.directive';\r\nexport * from './lib/directives/file-upload/file-upload-display.directive';\r\nexport * from './lib/directives/file-upload/file-upload-scrollable-attachment-list.directive';\r\nexport * from './lib/directives/file-upload/file-upload-multiple.directive';\r\nexport * from './lib/directives/file-upload/file-upload-multiple-selector.directive';\r\nexport * from './lib/directives/file-upload/file-upload-multiple-display.directive';\r\nexport * from './lib/directives/file-upload/qms-file-upload-attachment.model';\r\n\r\n\r\nexport * from './lib/directives/dropdown-menu/dropdown-item.directive';\r\n\r\nexport * from './lib/directives/scrollbar/scrollbar.directive';\r\nexport * from './lib/directives/scroll-selected/scroll-to-selected.directive';\r\n\r\n// export * from './lib/components/substance-conflict/substance-conflict.module';\r\n// export * from './lib/components/substance-conflict/substaince-conflict.base';\r\n// export * from './lib/components/substance-conflict/substance-conflict.component';\r\n\r\nexport * from './lib/components/related/related.module';\r\nexport * from './lib/components/related/tree/tree.component';\r\nexport * from './lib/components/related/common/tree.function';\r\nexport * from './lib/components/related/model/tree-node.model';\r\nexport * from './lib/components/related/model/tree.model';\r\nexport * from './lib/components/related/popup/related-popup.component';\r\nexport * from './lib/components/related/model/popup-data.model';\r\nexport * from './lib/components/related/content/related-content.component';\r\nexport * from './lib/components/related/sidenav/sidenav.component';\r\nexport * from './lib/components/related/model/sidenav.model';\r\nexport * from './lib/components/related/risk/analysis/analysis.component';\r\nexport * from './lib/components/related/model/risk-analysis.model';\r\nexport * from './lib/components/related/model/tree-config.model';\r\nexport * from './lib/components/related/model/risk-danger.model';\r\nexport * from './lib/components/related/risk/result/result.component';\r\nexport * from './lib/components/related/model/risk-result.model';\r\nexport * from './lib/components/related/risk/list/list.component';\r\nexport * from './lib/components/related/list-other-related/list-related.component'\r\nexport * from './lib/components/related/service/related-global.service';\r\nexport * from './lib/components/related/common/qms-icon.const';\r\n/* qms-ckeditor */\r\nexport * from './lib/qms-ckeditor-components/qms-ckeditor.module';\r\nexport * from './lib/qms-ckeditor-components/qms-ckeditor-base.component';\r\nexport * from './lib/qms-ckeditor-components/qms-ckeditor.component';\r\n\r\nexport * from './lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant';\r\nexport * from './lib/qms-ckeditor-components/common/enums/document-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/link-anchor.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/link-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/protocol-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/target-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/module.enum';\r\nexport * from './lib/qms-ckeditor-components/common/functions/common.function';\r\nexport * from './lib/qms-ckeditor-components/common/functions/tree.function';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-dialog.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-link-anchor-document.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-link-attachment.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-relation.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-tree.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-url.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-plugin.model';\r\nexport * from './lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component';\r\nexport * from './lib/qms-ckeditor-components/common/module/tree/qms-ckeditor-tree.component';\r\nexport * from './lib/qms-ckeditor-components/common/toast/qms-ckeditor-toast.service';\r\n\r\nexport * from './lib/qms-ckeditor-components/models/qms-ckeditor-template.model';\r\n\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component';\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component';\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component';\r\n// export * from './lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component';\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component';\r\n\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-global.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-injector.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-base.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckedtior-template.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckedtior-template.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-link.service';\r\n\r\nexport * from './lib/directives/text-block/text-block.directive';\r\nexport * from './lib/directives/text-block/text-block-line.directive';\r\nexport * from './lib/components/qms-app-bar/qms-app-bar.module';\r\nexport * from './lib/components/qms-app-bar/qms-app-bar.model';\r\nexport * from './lib/components/qms-app-bar/qms-app-bar.component';\r\n\r\nexport * from './lib/components/dialog/constant';\r\nexport * from './lib/components/dialog/dialog';\r\n\r\nexport * from './lib/directives/side-sheet/drawer.directive';\r\nexport * from './lib/directives/side-sheet/drawer-header.directive';\r\nexport * from './lib/directives/side-sheet/drawer-content.directive';\r\nexport * from './lib/directives/side-sheet/drawer-header-action.directive';\r\nexport * from './lib/directives/tooltip/tooltip-renderer.directive';\r\nexport * from './lib/directives/tooltip/tooltip-image.directive';\r\nexport * from './lib/components/tooltip/tooltip';\r\nexport * from './lib/components/tooltip/tooltip.module';\r\n\r\nexport * from './lib/directives/tab/tab-label.directive';\r\nexport * from './lib/directives/tab/tab-group.directive';\r\nexport * from './lib/directives/tab/tab-group-advanced.directive';\r\n\r\nexport * from './lib/components/banner/qms-banner/qms-banner.module';\r\nexport * from './lib/components/banner/qms-banner/qms-banner.component';\r\nexport * from './lib/components/banner/qms-banner-loading/qms-banner-loading.module';\r\nexport * from './lib/components/banner/qms-banner-loading/qms-banner-loading.component';\r\nexport * from './lib/components/banner/qms-banner-confirm/qms-banner-confirm.module';\r\nexport * from './lib/components/banner/qms-banner-confirm/qms-banner-confirm.component';\r\nexport * from './lib/components/banner/models/qms-banner.model';\r\n\r\nexport * from './lib/components/button/button-toggle';\r\nexport * from './lib/pipe/dateFormat.pipe';\r\n\r\nexport * from './lib/directives/chip-input/chip-input-field.directive';\r\nexport * from './lib/directives/chip-input/chip-input-select-field.directive';\r\nexport * from './lib/directives/chip-input/chip-input-select-trigger.directive';\r\nexport * from './lib/directives/chip-input/chip-input-select-dropdown.directive';\r\nexport * from './lib/directives/chip-input/chip-input-chip-list.directive';\r\nexport * from './lib/components/table/table.module';\r\nexport * from './lib/components/table/table-action';\r\n\r\n\r\nexport * from './lib/components/breadcrumb/breadcrumb';\r\nexport * from './lib/components/breadcrumb/breadcrumb.module';\r\nexport * from './lib/components/breadcrumb/breadcrumb-item.directive';\r\nexport * from './lib/components/breadcrumb/breadcrumb-direction-icon.directive';\r\nexport * from './lib/components/breadcrumb/model/breadcrumb-node.model';\r\n\r\nexport * from './lib/common/qms-icon.const';\r\n\r\nexport * from './lib/components/qms-stepper/qms-stepper.model';\r\nexport * from './lib/components/qms-stepper/qms-stepper.module';\r\nexport * from './lib/components/qms-stepper/qms-stepper.component';\r\nexport * from './lib/components/snackbar/snackbar';\r\n\r\nexport * from './lib/directives/scroll-selected/scroll-to-selected.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {SharedMaterialModule as ɵa} from './lib/material-module';\nexport {LinkAttachmentComponent as ɵd} from './lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component';\nexport {QMSCKEditorTemplateComponent as ɵb} from './lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component';\nexport {QMSCKEditorTreeService as ɵc} from './lib/qms-ckeditor-components/services/qms-ckeditor-tree.service';"],"names":["Injectable","BehaviorSubject","Component","EventEmitter","ChangeDetectionStrategy","Input","Output","FormBuilder","ElementRef","MatDialogRef","Inject","MAT_DIALOG_DATA","ViewChild","HostListener","Directive","ContentChild","MatAutocompleteTrigger","NgControl","Optional","FileErrorType","MatDialog","Renderer2","ViewEncapsulation","ComponentPortal","Overlay","OverlayPositionBuilder","InjectionToken","NG_VALUE_ACCESSOR","forwardRef","coerceBooleanProperty","SelectionModel","ChangeDetectorRef","ContentChildren","mixinDisableRipple","FocusMonitor","Attribute","mixinDisabled","ANIMATION_MODULE_TYPE","NgModule","MatCommonModule","MatIconModule","MatProgressSpinnerModule","MatInputModule","MatCardModule","MatDialogModule","CUSTOM_ELEMENTS_SCHEMA","moment","Pipe","CommonModule","FormsModule","ReactiveFormsModule","MAT_FORM_FIELD_DEFAULT_OPTIONS","MAT_RADIO_DEFAULT_OPTIONS","setLines","MatListModule","MatExpansionModule","MAT_EXPANSION_PANEL_DEFAULT_OPTIONS","NO_ERRORS_SCHEMA","NG_VALIDATORS","MatButtonModule","MatFormFieldModule","objData","buildArrayTree","TreeNode","buildObjectTree","findParent","findChild","FlatTreeControl","MatTreeFlattener","MatTreeFlatDataSource","DomSanitizer","MatIconRegistry","Subject","FormControl","takeUntil","debounceTime","ViewChildren","MatTreeModule","MatCheckboxModule","MatAutocompleteModule","ScrollingModule","MatSidenavModule","HttpHeaders","HttpClient","CKEditorModule","LinkAnchor","LinkType","ProtocolType","TargetType","QMSCKEditorDocumentType","forkJoin","FormGroup","Validators","MatSnackBarConfig","MatSnackBar","MatSnackBarModule","MatSelectModule","HttpClientModule","Injector","MatToolbarModule","MatTooltipModule","MatBadgeModule","MatDialogConfig","BannerType","MatMenuModule","MatStepperModule","STEPPER_GLOBAL_OPTIONS"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"qms-angular.umd.js","sources":["../../../projects/qms-angular/src/lib/qms-angular.service.ts","../../../projects/qms-angular/src/lib/model/en.ts","../../../projects/qms-angular/src/lib/model/no.ts","../../../projects/qms-angular/src/lib/services/translation-registry.service.ts","../../../projects/qms-angular/src/lib/qms-angular.component.ts","../../../projects/qms-angular/src/lib/components/comment/comment.ts","../../../projects/qms-angular/src/lib/components/dialog/dialog.ts","../../../projects/qms-angular/src/lib/components/suffix-field/suffix-field.directive.ts","../../../projects/qms-angular/src/lib/components/test-only/test-only.component.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-chip-list.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-field.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-select-dropdown.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-select-trigger.directive.ts","../../../projects/qms-angular/src/lib/directives/chip-input/chip-input-select-field.directive.ts","../../../projects/qms-angular/src/lib/directives/chips/chip-body.directive.ts","../../../projects/qms-angular/src/lib/directives/chips/chip.directive.ts","../../../projects/qms-angular/src/lib/directives/dropdown-menu/dropdown-item.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-attachment-list.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-display.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-multiple-display.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/qms-file-upload-attachment.model.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-multiple-selector.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-multiple.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-scrollable-attachment-list.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload-selector.directive.ts","../../../projects/qms-angular/src/lib/directives/file-upload/file-upload.directive.ts","../../../projects/qms-angular/src/lib/directives/form.directive.ts","../../../projects/qms-angular/src/lib/directives/margin.directive.ts","../../../projects/qms-angular/src/lib/directives/range-slider/range-slider-lockup.directive.ts","../../../projects/qms-angular/src/lib/directives/range-slider/range-slider.directive.ts","../../../projects/qms-angular/src/lib/directives/scroll-selected/scroll-to-selected.directive.ts","../../../projects/qms-angular/src/lib/directives/scrollbar/scrollbar.directive.ts","../../../projects/qms-angular/src/lib/directives/search-field.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer-content.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer-header-action.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer-header.directive.ts","../../../projects/qms-angular/src/lib/directives/side-sheet/drawer.directive.ts","../../../projects/qms-angular/src/lib/directives/tab/tab-group-advanced.directive.ts","../../../projects/qms-angular/src/lib/directives/tab/tab-group.directive.ts","../../../projects/qms-angular/src/lib/directives/tab/tab-label.directive.ts","../../../projects/qms-angular/src/lib/directives/text-block/text-block-line.directive.ts","../../../projects/qms-angular/src/lib/directives/text-block/text-block.directive.ts","../../../projects/qms-angular/src/lib/directives/tooltip/tooltip-image.directive.ts","../../../projects/qms-angular/src/lib/components/tooltip/tooltip.ts","../../../projects/qms-angular/src/lib/directives/tooltip/tooltip-renderer.directive.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/qms-angular/src/lib/components/button/button-toggle.ts","../../../projects/qms-angular/src/lib/components/button/color.ts","../../../projects/qms-angular/src/lib/components/button/button.ts","../../../projects/qms-angular/src/lib/components/button/button.module.ts","../../../projects/qms-angular/src/lib/material-module.ts","../../../projects/qms-angular/src/lib/pipe/dateFormat.pipe.ts","../../../projects/qms-angular/src/lib/shared.module.ts","../../../projects/qms-angular/src/lib/qms-angular.module.ts","../../../projects/qms-angular/src/lib/components/list/list.ts","../../../projects/qms-angular/src/lib/components/list/list.module.ts","../../../projects/qms-angular/src/lib/components/rich-text/rich-text.ts","../../../projects/qms-angular/src/lib/components/rich-text/rich-text.module.ts","../../../projects/qms-angular/src/lib/components/edit-file-name-dialog/edit-file-name-dialog.ts","../../../projects/qms-angular/src/lib/components/edit-file-name-dialog/edit-file-name-dialog.module.ts","../../../projects/qms-angular/src/lib/components/upload-file-error-dialog/upload-file-error-dialog.ts","../../../projects/qms-angular/src/lib/components/upload-file-error-dialog/upload-file-error-dialog.module.ts","../../../projects/qms-angular/src/lib/components/related/common/qms-icon.const.ts","../../../projects/qms-angular/src/lib/components/app-icon/icon-registry.service.ts","../../../projects/qms-angular/src/lib/components/app-icon/app-icon.module.ts","../../../projects/qms-angular/src/lib/common/qms-icon.const.ts","../../../projects/qms-angular/src/lib/components/related/common/item-icon-type.enum.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb-item.directive.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/enum/dropdown-node-width.enum.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb-direction-icon.directive.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../projects/qms-angular/src/lib/components/related/common/data-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/content/related-content.component.ts","../../../projects/qms-angular/src/lib/components/related/common/document-folder-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/list-other-related/list-related.component.ts","../../../projects/qms-angular/src/lib/components/related/common/module-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/common/related.const.ts","../../../projects/qms-angular/src/lib/components/related/model/popup-data.model.ts","../../../projects/qms-angular/src/lib/components/related/model/related-data.model.ts","../../../projects/qms-angular/src/lib/components/related/service/related-global.service.ts","../../../projects/qms-angular/src/lib/components/related/model/tree-node.model.ts","../../../projects/qms-angular/src/lib/components/related/common/tree.function.ts","../../../projects/qms-angular/src/lib/components/related/tree/tree.component.ts","../../../projects/qms-angular/src/lib/components/related/popup/related-popup.component.ts","../../../projects/qms-angular/src/lib/components/related/model/risk-analysis.model.ts","../../../projects/qms-angular/src/lib/components/related/risk/analysis/analysis.component.ts","../../../projects/qms-angular/src/lib/components/related/common/action-type.enum.ts","../../../projects/qms-angular/src/lib/components/related/risk/list/list.component.ts","../../../projects/qms-angular/src/lib/components/related/common/color.enum.ts","../../../projects/qms-angular/src/lib/components/related/model/risk-result.model.ts","../../../projects/qms-angular/src/lib/components/related/risk/result/result.component.ts","../../../projects/qms-angular/src/lib/components/related/model/sidenav.model.ts","../../../projects/qms-angular/src/lib/components/related/sidenav/sidenav.component.ts","../../../projects/qms-angular/src/lib/components/related/related.module.ts","../../../projects/qms-angular/src/lib/components/related/model/tree.model.ts","../../../projects/qms-angular/src/lib/components/related/model/tree-config.model.ts","../../../projects/qms-angular/src/lib/components/related/model/risk-danger.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/qms-ckeditor-base.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-dialog.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/module/tree/qms-ckeditor-tree.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-global.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-base.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-link.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-parameter.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/module.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/link-anchor.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/link-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/protocol-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/target-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-relation.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-url.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/enums/document-type.enum.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-tree-node.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/functions/tree.function.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckeditor-injector.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/toast/qms-ckeditor-toast.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/models/qms-ckeditor-template.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/services/qms-ckedtior-template.service.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/classes/uploadAdapter.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/functions/common.function.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/models/qms-ckeditor-tooltip.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/qms-ckeditor.component.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/qms-ckeditor.module.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-link-anchor-document.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-link-attachment.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-tree.model.ts","../../../projects/qms-angular/src/lib/qms-ckeditor-components/common/models/qms-ckeditor-plugin.model.ts","../../../projects/qms-angular/src/lib/components/qms-app-bar/qms-app-bar.component.ts","../../../projects/qms-angular/src/lib/components/qms-app-bar/qms-app-bar.module.ts","../../../projects/qms-angular/src/lib/components/qms-app-bar/qms-app-bar.model.ts","../../../projects/qms-angular/src/lib/components/dialog/constant.ts","../../../projects/qms-angular/src/lib/components/tooltip/tooltip.module.ts","../../../projects/qms-angular/src/lib/components/banner/models/qms-banner.model.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner/qms-banner.component.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner/qms-banner.module.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-loading/qms-banner-loading.component.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-loading/qms-banner-loading.module.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-confirm/qms-banner-confirm.component.ts","../../../projects/qms-angular/src/lib/components/banner/qms-banner-confirm/qms-banner-confirm.module.ts","../../../projects/qms-angular/src/lib/components/table/table-action.ts","../../../projects/qms-angular/src/lib/components/table/table.module.ts","../../../projects/qms-angular/src/lib/components/breadcrumb/model/breadcrumb-node.model.ts","../../../projects/qms-angular/src/lib/components/qms-stepper/qms-stepper.model.ts","../../../projects/qms-angular/src/lib/components/qms-stepper/qms-stepper.component.ts","../../../projects/qms-angular/src/lib/components/qms-stepper/qms-stepper.module.ts","../../../projects/qms-angular/src/lib/components/snackbar/snackbar.ts","../../../projects/qms-angular/src/public-api.ts","../../../projects/qms-angular/src/qms-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QmsAngularService {\r\n\r\n constructor() { }\r\n}\r\n","export const en = {\r\n \"MY_COMPONENT\": \"My component\",\r\n \"SAVE_BUTTON\": \"Save\",\r\n \"CANCEL_BUTTON\": \"Cancel\",\r\n \"DELETE_MESSAGE_COMMENT\": \"This message has been deleted.\",\r\n \"REGRET\": \"Regret\",\r\n \"EDIT\": \"Edit\",\r\n \"DELETE\": \"Delete\",\r\n \"SAVE\": \"Save\",\r\n \"CANCEL\": \"Cancel\",\r\n \"EDIT_FILE_NAME\": \"Edit file name\",\r\n \"FILE_NAME\": \"File name\",\r\n \"UPLOAD_LEAVE_WARNING\": \"Files you're uploading may not be saved.\",\r\n \"SOME_FILES_WERE_NOT_ADDED\": \"Some files were not added\",\r\n \"YOU_CAN_ONLY_ADD\": \"You can only upload\",\r\n \"SELECT\": \"Select\",\r\n \"PROCESSES\": \"Processes\",\r\n \"DOCUMENTS\": \"Documents\",\r\n \"DEVIATION\": \"Categories\",\r\n \"CHECKLIST\": \"Checklists\",\r\n \"ASSESSMENT\": \"Assessments\",\r\n \"ADD\": \"Add\",\r\n \"SEARCH\": \"Search\",\r\n \"REGULAR_TITLE\": \"What do you want to include in the risk assessment(s)?\",\r\n \"CAPTION_TITLE\": \"In causal assessments, all causes related to the event are automatically added.\",\r\n \"CAUSAL_ANALYZES\": \"Selected Assessments\",\r\n \"FINISHED\": \"Finished\",\r\n \"PROCESS_ID\": \"Process ID\",\r\n \"DOCUMENT_ID\": \"Document ID\",\r\n \"PROCESS_AREA\": \"Process area\",\r\n \"FOLDER\": \"Folder\",\r\n \"DEVIATION_TYPE\": \"Deviation type\",\r\n \"CHECKLIST_CATEGORY\": \"Categories\",\r\n \"EVENT\": \"Event\",\r\n \"AREA_OF_IMPACT\": \"Consequence Area\",\r\n \"RESULT\": \"Result\",\r\n \"NOT_ACCEPTED\": \"Not accepted\",\r\n \"MUST_BE_EVALUATED\": \"Must be evaluated\",\r\n \"ACCEPTED\": \"Accepted\",\r\n \"ARCHIVED\": \"Archived\",\r\n \"CAUSE\": \"Cause\",\r\n \"ERROR\": {\r\n \"SELECT_DANGER\": \"You must select one or more events\"\r\n },\r\n \"MESSAGE\": {\r\n \"PROCESSES_IN\": \"Processes in\",\r\n \"DOCUMENTS_IN\": \"Documents in\"\r\n }\r\n ,\r\n \"QMSCKEDITOR\": {\r\n \"INSERT_TOOLTIP\": \"Insert a tooltip\",\r\n \"CONTENT\": \"Content\",\r\n \"TEMPLATE\": \"Template\",\r\n \"CONTENT_TEMPLATE\": \"Content Template\",\r\n \"CREATE_NEW_TEMPLATE\": \"Create new tempplate\",\r\n \"UPDATE_TEMPLATE\": \"Update tempplate\",\r\n \"TITLE\": \"Title\",\r\n \"DESCRIPTION\": \"Description\",\r\n \"SAVE\": \"Save\",\r\n \"CHOOSE_TEMPLATE\": \"Please select the template to open in the editor\",\r\n \"REPLACE_CONTENT\": \"Replace actual contents\",\r\n \"SAVED\": \"Saved\",\r\n \"SAVE_FAILED\": \"Save failed\",\r\n \"DELETE\": \"Delete\",\r\n \"DELETED\": \"Deleted\",\r\n \"DELETE_FAILED\": \"Delete failed\",\r\n \"DELETE_TEMPLATE\": \"Delete template\",\r\n \"CHANGE_TEMPLATE\": \"Change template\",\r\n \"CANCEL\": \"Cancel\",\r\n \"LINK\": \"Link\",\r\n \"LINK_TYPE\": \"Link type\",\r\n \"LINK_URL\": \"URL\",\r\n \"LINK_ANCHOR_IN_TEXT\": \"Link to anchor in the text\",\r\n \"LINK_EMAIL\": \"Email\",\r\n \"LINK_ANCHOR_DOCUMENT\": \"Anchor in other document\",\r\n \"TARGET\": \"Target\",\r\n \"TARTGET_NEW\": \"New Window (_blank)\",\r\n \"TARGET_TOPMOST\": \"Topmost Window (_top)\",\r\n \"TARGET_SAME\": \"Same Window (_self)\",\r\n \"TARGET_PARENT\": \"Parent Window (_parent)\",\r\n \"PROTOCOL\": \"Protocol\",\r\n \"PROTOCOL_HTTP\": \"http://\",\r\n \"PROTOCOL_HTTPS\": \"https://\",\r\n \"PROTOCOL_FTP\": \"ftp://\",\r\n \"PROTOCOL_NEW\": \"news://\",\r\n \"PROTOCOL_OTHER\": \"<other>\",\r\n \"ADVISORY_TITLE\": \"Advisory Title\",\r\n \"HANDBOOK\": \"eHandbook\",\r\n \"ATTACHMENT\": \"Attachment\",\r\n \"OK\": \"Ok\",\r\n \"URL_HEADER\": \"URL information\",\r\n \"ANCHOR_TEXT_HEADER\": \"Select an Anchor\",\r\n \"ANCHOR_BY_NAME\": \"Anchor by name\",\r\n \"EMAIL_HEADER\": \"Email information\",\r\n \"EMAIL_ADDRESS\": \"Address\",\r\n \"EMAIL_SUBJECT\": \"Subject\",\r\n \"EMAIL_BODY\": \"Body\",\r\n \"ANCHOR_ATTACHMENT\": \"Attachments\",\r\n \"ANCHOR_RELATED_DOCUMENT\": \"Related document\",\r\n \"ADD_DOCUMENT_PROCESS\": \"Add document/ process\",\r\n \"ADD_DOCUMENT\": \"Add document\",\r\n \"ADD\": \"Add\",\r\n \"PROCESSES\": \"Processes\",\r\n \"DOCUMENTS\": \"Documents\",\r\n \"UPDATE\": \"Update\",\r\n \"DOCUMENT\": \"Document\",\r\n \"CONFIRM\": \"Confirm\",\r\n \"SEARCH\": \"Search\",\r\n },\r\n \"QMSCKEDITOR_MESSAGE\": {\r\n \"CONFIRM_DELETE_TEMPLATE\": \"Are you sure you want to delete this template?\",\r\n \"CONFIRM_CHANGE_TEMPLATE\": \"Are you sure you want to apply this template to the editor?\"\r\n }\r\n}\r\n","export const no = {\r\n \"MY_COMPONENT\": \"Min komponent\",\r\n \"SAVE_BUTTON\": \"Lagre\",\r\n \"CANCEL_BUTTON\": \"Avbryt\",\r\n \"DELETE_MESSAGE_COMMENT\": \"Denne meldingen er slettet.\",\r\n \"REGRET\": \"Angre\",\r\n \"EDIT\": \"Rediger\",\r\n \"DELETE\": \"Slett\",\r\n \"SAVE\": \"Lagre\",\r\n \"CANCEL\": \"Avbryt\",\r\n \"EDIT_FILE_NAME\": \"Rediger filnavn\",\r\n \"FILE_NAME\": \"Filnavn\",\r\n \"UPLOAD_LEAVE_WARNING\": \"Filene du laster opp vil kanskje ikke bli lagret\",\r\n \"SOME_FILES_WERE_NOT_ADDED\": \"Noen filer ble ikke lagt til\",\r\n \"YOU_CAN_ONLY_ADD\": \"Du kan kun laste opp\",\r\n \"SELECT\": \"Velg\",\r\n \"PROCESSES\": \"Prosesser\",\r\n \"DOCUMENTS\": \"Dokumenter\",\r\n \"DEVIATION\": \"Kategorier\",\r\n \"CHECKLIST\": \"Sjekklister\",\r\n \"ASSESSMENT\": \"Analyser\",\r\n \"ADD\": \"Legg til\",\r\n \"SEARCH\": \"Søk\",\r\n \"REGULAR_TITLE\": \"Hva ønsker du å inkludere av hendeler i risikoanalysen(e)?\",\r\n \"CAPTION_TITLE\": \"I årsaksanalyser blir automatisk alle årsaker knyttet til hendelsen lagt til.\",\r\n \"CAUSAL_ANALYZES\": \"Valgte Analyser\",\r\n \"FINISHED\": \"Ferdig\",\r\n \"PROCESS_ID\": \"Prosess ID\",\r\n \"DOCUMENT_ID\": \"Dokument ID\",\r\n \"PROCESS_AREA\": \"Prosessområder\",\r\n \"FOLDER\": \"Mappe\",\r\n \"DEVIATION_TYPE\": \"Sakstype\",\r\n \"CHECKLIST_CATEGORY\": \"Kategorier\",\r\n \"EVENT\": \"Hendelse\",\r\n \"AREA_OF_IMPACT\": \"Konsekvensområde\",\r\n \"RESULT\": \"Resultat\",\r\n \"NOT_ACCEPTED\": \"Ikke akseptert\",\r\n \"MUST_BE_EVALUATED\": \"Må vurderes\",\r\n \"ACCEPTED\": \"Akseptert\",\r\n \"ARCHIVED\": \"Arkivert\",\r\n \"CAUSE\": \"Årsak\",\r\n \"ERROR\": {\r\n \"SELECT_DANGER\": \"Du må velge en eller flere hendelser\"\r\n },\r\n \"MESSAGE\": {\r\n \"PROCESSES_IN\": \"Prosesser i\",\r\n \"DOCUMENTS_IN\": \"Dokumenter i\"\r\n },\r\n \"QMSCKEDITOR\": {\r\n \"INSERT_TOOLTIP\": \"Sett inn et verktøytips\",\r\n \"CONTENT\": \"Innhold\",\r\n \"TEMPLATE\": \"Mal\",\r\n \"CONTENT_TEMPLATE\": \"Innholdsmal\",\r\n \"CREATE_NEW_TEMPLATE\": \"Lag ny mal\",\r\n \"UPDATE_TEMPLATE\": \"Oppdater mal\",\r\n \"TITLE\": \"Tittel\",\r\n \"DESCRIPTION\": \"Beskrivelse\",\r\n \"SAVE\": \"Lagre\",\r\n \"CHOOSE_TEMPLATE\": \"Velg malen du vil åpne i redigeringsprogrammet\",\r\n \"REPLACE_CONTENT\": \"Bytt ut faktisk innhold\",\r\n \"SAVED\": \"Lagret\",\r\n \"SAVE_FAILED\": \"Lagringen mislyktes\",\r\n \"DELETE\": \"Slett\",\r\n \"DELETED\": \"Slettet\",\r\n \"DELETE_FAILED\": \"Sletting mislyktes\",\r\n \"DELETE_TEMPLATE\": \"Slett mal\",\r\n \"CHANGE_TEMPLATE\": \"Endre mal\",\r\n \"CANCEL\": \"Avbryt\",\r\n \"LINK\": \"Link\",\r\n \"LINK_TYPE\": \"Koblingstype\",\r\n \"LINK_URL\": \"URL\",\r\n \"LINK_ANCHOR_IN_TEXT\": \"Lenke til anker i teksten\",\r\n \"LINK_EMAIL\": \"E-post\",\r\n \"LINK_ANCHOR_DOCUMENT\": \"Anker i annet dokument\",\r\n \"TARGET\": \"Target\",\r\n \"TARTGET_NEW\": \"Nytt vindu (_blank)\",\r\n \"TARGET_TOPMOST\": \"Det øverste vinduet (_top)\",\r\n \"TARGET_SAME\": \"Samme vindu (selv)\",\r\n \"TARGET_PARENT\": \"Overordnet vindu (_parent)\",\r\n \"PROTOCOL\": \"Protocol\",\r\n \"PROTOCOL_HTTP\": \"http: //\",\r\n \"PROTOCOL_HTTPS\": \"https: //\",\r\n \"PROTOCOL_FTP\": \"ftp: //\",\r\n \"PROTOCOL_NEW\": \"nyheter: //\",\r\n \"PROTOCOL_OTHER\": \"<other>\",\r\n \"ADVISORY_TITLE\": \"Rådgivende tittel\",\r\n \"HANDBOOK\": \"eHandbook\",\r\n \"ATTACHMENT\": \"Attachment\",\r\n \"OK\": \"OK\",\r\n \"URL_HEADER\": \"URL-informasjon\",\r\n \"ANCHOR_TEXT_HEADER\": \"Velg et anker\",\r\n \"ANCHOR_BY_NAME\": \"Anker ved navn\",\r\n \"EMAIL_HEADER\": \"E-postinformasjon\",\r\n \"EMAIL_ADDRESS\": \"Adresse\",\r\n \"EMAIL_SUBJECT\": \"Emne\",\r\n \"EMAIL_BODY\": \"Kropp\",\r\n \"ANCHOR_ATTACHMENT\": \"Vedlegg\",\r\n \"ANCHOR_RELATED_DOCUMENT\": \"Beslektet dokument\",\r\n \"ADD_DOCUMENT_PROCESS\": \"Legg til dokument / prosess\",\r\n \"ADD_DOCUMENT\": \"Legg til dokument\",\r\n \"ADD\": \"Legg til\",\r\n \"PROSESSER\": \"Prosesser\",\r\n \"DOCUMENTS\": \"Dokumenter\",\r\n \"UPDATE\": \"Oppdater\",\r\n \"DOCUMENT\": \"Dokument\",\r\n \"CONFIRM\": \"Bekreft\",\r\n \"SEARCH\": \"Søk\",\r\n },\r\n \"QMSCKEDITOR_MESSAGE\": {\r\n \"CONFIRM_DELETE_TEMPLATE\": \"Er du sikker på at du vil slette denne malen?\",\r\n \"CONFIRM_CHANGE_TEMPLATE\": \"Er du sikker på at du vil bruke denne malen på redaktøren?\"\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { en } from '../model/en';\r\nimport { no } from '../model/no';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TranslateLibraryService {\r\n\r\n getLanguageSubject$ = new BehaviorSubject<any>(null);\r\n private availableLanguages = { en, no };\r\n\r\n constructor() { }\r\n\r\n setLanguage(item: any) {\r\n this.getLanguageSubject$.next(item);\r\n }\r\n\r\n getObjectLang(lang) {\r\n let language = lang && lang.toLowerCase() || 'en';\r\n if (language !== 'en' && language !== 'no') {\r\n language = 'en';\r\n }\r\n return this.availableLanguages[language];\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateLibraryService } from './services/translation-registry.service';\r\n\r\n@Component({\r\n selector: 'lib-qms-angular',\r\n templateUrl: 'qms-angular.component.html',\r\n styles: []\r\n})\r\nexport class QmsAngularComponent implements OnInit {\r\n\r\n LANG: any;\r\n\r\n constructor(public trans: TranslateLibraryService) { }\r\n\r\n ngOnInit() {\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","// Import the core angular services.\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from \"@angular/core\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\n\r\nexport interface Logs {\r\n user: string,\r\n date: any,\r\n isDraft: boolean,\r\n isEdit: boolean,\r\n content: string,\r\n editedContent: string\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-comment',\r\n templateUrl: 'comment.html',\r\n styleUrls: ['comment.scss'],\r\n host: { 'class': 'qms-comment' },\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSComment implements OnInit, OnChanges {\r\n @Input() sourceLog: Logs[];\r\n @Output() updateLog = new EventEmitter();\r\n\r\n LANG: any;\r\n\r\n constructor(public trans: TranslateLibraryService) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n for (const propName in changes) {\r\n const changedProp = changes[propName];\r\n const to = JSON.stringify(changedProp.currentValue);\r\n if (changedProp.isFirstChange()) {\r\n console.log('Initial value of');\r\n } else {\r\n const from = JSON.stringify(changedProp.previousValue);\r\n console.log('changed from');\r\n }\r\n }\r\n console.log('value changed', changes.sourceLog.currentValue);\r\n // this.sourceLog = changes.sourceLog.currentValue;\r\n }\r\n\r\n ngOnInit() {\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n console.log(this.LANG);\r\n\r\n }\r\n });\r\n }\r\n\r\n showContent(content) {\r\n return content.replace(/(?:\\r\\n|\\r|\\n)/g, '<br>');\r\n }\r\n\r\n editContent(item) {\r\n item.editedContent = item.content;\r\n item.isEdit = true;\r\n }\r\n\r\n saveEditedContent(item) {\r\n item.content = item.editedContent;\r\n item.isEdit = false;\r\n this.updateLog.emit(item);\r\n }\r\n\r\n removeItem(item) {\r\n item.isDelete = true;\r\n this.updateLog.emit(item);\r\n }\r\n}\r\n","import { AfterViewInit, Component, ElementRef, HostListener, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ConfirmDialog } from './constant';\r\n\r\n@Component({\r\n selector: 'qms-dialog-confirm',\r\n templateUrl: 'dialog-confirm.html',\r\n styleUrls: ['dialog.scss']\r\n})\r\nexport class QMSConfirmDialog implements OnInit, AfterViewInit {\r\n info: ConfirmDialog;\r\n\r\n @ViewChild('actionGroup') actionGroup: ElementRef;\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.orderActionButton();\r\n }\r\n\r\n constructor(private fb: FormBuilder,\r\n private _elRef: ElementRef,\r\n private dialogRef: MatDialogRef<QMSConfirmDialog>,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n\r\n this.info = { ...data };\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.orderActionButton();\r\n }\r\n\r\n orderActionButton() {\r\n const divHeight = this.actionGroup.nativeElement.offsetHeight;\r\n document.getElementById('action-btn').style.order = divHeight > 68 ? '1' : '2';\r\n }\r\n\r\n save() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-dialog-form',\r\n templateUrl: 'dialog-form.html',\r\n styleUrls: ['dialog.scss']\r\n})\r\nexport class QMSFormDialog implements OnInit {\r\n ngOnInit() {\r\n\r\n }\r\n}\r\n\r\n","import { AfterViewChecked, AfterViewInit, ContentChild, Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-suffix]',\r\n})\r\nexport class QMSSuffixDirective {\r\n constructor(private el: ElementRef) {\r\n el.nativeElement.classList.add('qms-suffix');\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'mat-form-field[qms-suffix-field]',\r\n})\r\nexport class QMSSuffixFieldDirective implements AfterViewChecked {\r\n @ContentChild(QMSSuffixDirective, {static: false}) qmsSuffix: QMSSuffixDirective;\r\n\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngAfterViewChecked(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-suffix-field');\r\n }\r\n }\r\n\r\n removeFocus = () => {\r\n this.ele.nativeElement.classList.remove('mat-focused');\r\n }\r\n}\r\n\r\n\r\n","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'qms-test-only',\r\n styleUrls: ['./test-only.component.scss'],\r\n templateUrl: './test-only.component.html'\r\n})\r\nexport class TestOnlyComponent {\r\n @Input() text: string = \"\";\r\n}","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-input-chip-list]',\r\n})\r\nexport class QMSChipInputChipListDirective implements OnInit {\r\n @Input() maxRows: number;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-input-chip-list');\r\n if(this.maxRows && this.maxRows > 0){\r\n this.ele.nativeElement.classList.add(`qms-chip-input-max-${this.maxRows}`)\r\n }\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input]',\r\n})\r\nexport class QMSChipInputDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input-dropdown]',\r\n})\r\nexport class QMSChipInputSelectDropWDownDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input-dropdown');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, OnInit } from \"@angular/core\";\r\nimport { MatAutocompleteTrigger } from \"@angular/material/autocomplete\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input-select-trigger]',\r\n})\r\nexport class QMSChipInputSelectTriggerDirective implements OnInit {\r\n public eleSelect: ElementRef;\r\n public autocomplete: MatAutocompleteTrigger;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input');\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event.target'])\r\n click(){\r\n if(this.autocomplete){\r\n if(!this.autocomplete.panelOpen)\r\n this.autocomplete.openPanel();\r\n else\r\n this.autocomplete.closePanel();\r\n }\r\n \r\n }\r\n}\r\n","import { AfterViewInit, ContentChild, Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\nimport { MatAutocompleteTrigger } from \"@angular/material/autocomplete\";\r\nimport { QMSChipInputSelectTriggerDirective } from \"./chip-input-select-trigger.directive\";\r\n\r\n@Directive({\r\n selector: '[qms-chip-input-select]',\r\n})\r\nexport class QMSChipInputSelectFieldDirective implements OnInit, AfterViewInit {\r\n @ContentChild(QMSChipInputSelectTriggerDirective, {static: false}) selectTrigger: QMSChipInputSelectTriggerDirective;\r\n @ContentChild(MatAutocompleteTrigger) autocomplete: MatAutocompleteTrigger;\r\n\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngAfterViewInit(): void {\r\n if(this.selectTrigger){\r\n this.selectTrigger.autocomplete = this.autocomplete;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-input-select');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-chip-body]',\r\n})\r\nexport class QMSChipBodyDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip-body');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'mat-chip[qms-chip]',\r\n})\r\nexport class QMSInputChipDirective implements OnInit, OnChanges {\r\n\r\n @Input() selected: boolean;\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.selected) {\r\n this.ele.nativeElement.classList.add('qms-chip-selected');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-chip-selected');\r\n }\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-chip');\r\n if (this.selected) {\r\n this.ele.nativeElement.classList.add('qms-chip-selected');\r\n }\r\n }\r\n }\r\n}\r\n","import { AfterViewInit, ContentChild, Directive, ElementRef, HostListener, Input, OnChanges, OnInit, SimpleChanges } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-menu-item]',\r\n})\r\nexport class QMSDropdownMenuItem implements OnInit, AfterViewInit, OnChanges{\r\n @ContentChild(\"menuItemContent\", {static: false}) menuItemContent: ElementRef;\r\n @Input() selected: boolean;\r\n \r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.selected){\r\n this.ele.nativeElement.classList.add('qms-dropdown-menu-item-selected');\r\n }\r\n else{\r\n this.ele.nativeElement.classList.remove('qms-dropdown-menu-item-selected');\r\n }\r\n }\r\n \r\n ngAfterViewInit(): void {\r\n if(this.menuItemContent){\r\n if(this.menuItemContent.nativeElement){\r\n this.menuItemContent.nativeElement.classList.add('qms-dropdown-menu-item__content')\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-dropdown-menu-item');\r\n if(this.selected){\r\n this.ele.nativeElement.classList.add('qms-dropdown-menu-item-selected');\r\n }\r\n }\r\n }\r\n}","import { AfterContentChecked, ContentChild, Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-attachment-list]',\r\n})\r\n\r\nexport class QMSAttachmentListDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-attachment-list');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input, OnChanges, OnInit, Optional } from \"@angular/core\";\r\nimport { NgControl } from \"@angular/forms\";\r\nimport { QMSFileAttachment } from \"./qms-file-upload-attachment.model\";\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-display]',\r\n})\r\nexport class QMSFileUploadDisplayDirective implements OnInit, OnChanges{\r\n public eleInput: ElementRef;\r\n public removeInvalid: () => void;\r\n public addInvalid: () => void;\r\n @Input() value;\r\n constructor(public ele: ElementRef, \r\n @Optional() private control: NgControl) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n ngOnChanges(): void {\r\n if(this.control){\r\n this.control.control.setValue(this.value? this.value : '');\r\n this.control.control.updateValueAndValidity();\r\n if(this.control.control.valid && this.removeInvalid){\r\n this.removeInvalid();\r\n }\r\n if(this.control.control.invalid && this.addInvalid){\r\n this.addInvalid();\r\n }\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event.target'])\r\n Click() {\r\n this.eleInput.nativeElement.click();\r\n }\r\n}","import { Directive, ElementRef, HostListener, Input, OnChanges, OnInit, Optional } from \"@angular/core\";\r\nimport { NgControl } from \"@angular/forms\";\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-multiple-display]',\r\n})\r\nexport class QMSFileUploadMultipleDisplayDirective implements OnInit{\r\n public eleInput: ElementRef;\r\n @Input() acceptExtension: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n \r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event.target'])\r\n Click() {\r\n this.eleInput.nativeElement.click();\r\n }\r\n}","\r\nexport enum FileErrorType{\r\n noError,\r\n notSupportedExtension,\r\n exceedMaxSize,\r\n}\r\nexport class QMSFileAttachment {\r\n file: File;\r\n fileName: string;\r\n fileContent: string;\r\n fileContentBase64: string;\r\n extension: string;\r\n isSuccessful: boolean;\r\n typeError: FileErrorType;\r\n progress: number;\r\n}","import { Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { QMSUploadFileErrorDialog } from \"../../components/upload-file-error-dialog/upload-file-error-dialog\";\r\nimport { FileErrorType, QMSFileAttachment } from \"./qms-file-upload-attachment.model\";\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-multiple-selector]',\r\n})\r\n\r\nexport class QMSFileUploadMultipleSelectorDirective implements OnInit, OnChanges {\r\n @Input() filesForInput: QMSFileAttachment[];\r\n @Output() filesForInputChange = new EventEmitter();\r\n @Input() acceptExtensions: string[];\r\n @Output('onFileUploaded') onFileUploaded: EventEmitter<any> = new EventEmitter();\r\n @Input() maxSize: number;\r\n invokeMyFunc(){\r\n if(this.onFileUploaded)\r\n this.onFileUploaded.emit();\r\n }\r\n\r\n constructor(public ele: ElementRef, public dialog: MatDialog) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(!this.filesForInput || this.filesForInput.length === 0){\r\n this.ele.nativeElement.value = '';\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n @HostListener('change', ['$event']) OnChanges(event) {\r\n if(event.target && event.target.files){\r\n const listFiles: FileList = event.target.files;\r\n let listAttachments : QMSFileAttachment[] = [];\r\n for (let i = 0; i < listFiles.length; i++) {\r\n const file = event.target.files[i];\r\n let attachment = new QMSFileAttachment();\r\n attachment.fileName = file.name;\r\n attachment.extension = file.name.split('.').pop();\r\n attachment.file = file; \r\n attachment.isSuccessful = true;\r\n attachment.typeError = FileErrorType.noError;\r\n if(this.acceptExtensions){\r\n const check = this.acceptExtensions.filter(type => type.toLowerCase() === attachment.extension.toLowerCase())\r\n if(check.length === 0){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.notSupportedExtension;\r\n }\r\n }\r\n if(this.maxSize && file.size > this.maxSize){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.exceedMaxSize;\r\n }\r\n listAttachments.push(attachment);\r\n }\r\n this.filesForInputChange.emit(listAttachments);\r\n this.invokeMyFunc();\r\n }\r\n }\r\n}","import { AfterViewInit, ContentChild, Directive, ElementRef,\r\n HostListener, Input, OnChanges, OnInit } from \"@angular/core\";\r\nimport { QMSFileUploadMultipleDisplayDirective } from \"./file-upload-multiple-display.directive\";\r\nimport { QMSFileUploadMultipleSelectorDirective } from \"./file-upload-multiple-selector.directive\";\r\nimport { ComponentCanDeactivate } from \"./file-upload.directive\";\r\n\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-multiple]',\r\n})\r\nexport class QMSFileUploadMultipleDirective implements OnInit, AfterViewInit, OnChanges {\r\n @Input() isLoading;\r\n @ContentChild(QMSFileUploadMultipleSelectorDirective, {static: false}) fileSelector: QMSFileUploadMultipleSelectorDirective;\r\n @ContentChild(QMSFileUploadMultipleDisplayDirective, {static: false}) fileDisplay: QMSFileUploadMultipleDisplayDirective;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-file-upload-loading');\r\n }\r\n \r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n }\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n if (this.fileSelector) {\r\n this.fileDisplay.eleInput = this.fileSelector.ele;\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-scrollable-attachment-list]',\r\n})\r\n\r\nexport class QMSScrolableAttachmentListDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-scrollable-attachment-list');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { FileErrorType, QMSFileAttachment } from \"./qms-file-upload-attachment.model\";\r\n\r\n\r\nexport function requiredFileType( types: string[] ) {\r\n return function (control: FormControl) {\r\n const fileName = control.value;\r\n if ( fileName ) {\r\n const extension = fileName.split('.').pop();\r\n const check = types.filter(type => type.toLowerCase() === extension.toLowerCase())\r\n if(check.length === 0){\r\n return {\r\n requiredFileType: true\r\n };\r\n }\r\n return null;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\nexport function notExceedSize( size: number ) {\r\n return function (control: FormControl) {\r\n const file = control.value;\r\n if ( file ) {\r\n \r\n if(file.size > size){\r\n return {\r\n notExceedSize: true\r\n };\r\n }\r\n return null;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-file-upload-selector]',\r\n})\r\n\r\nexport class QMSFileUploadSelectorDirective implements OnInit, OnChanges {\r\n @Input() inputFile: any;\r\n @Output() inputFileChange = new EventEmitter();\r\n @Input() acceptExtensions: string[];\r\n @Output('onFileUploaded') onFileUploaded: EventEmitter<any> = new EventEmitter();\r\n @Input() maxSize: number;\r\n public isLoading: boolean;\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(!this.inputFile){\r\n this.ele.nativeElement.value = '';\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n }\r\n }\r\n\r\n invokeMyFunc(){\r\n if(this.onFileUploaded)\r\n this.onFileUploaded.emit();\r\n }\r\n\r\n @HostListener('change', ['$event']) OnChanges(event) {\r\n if(event.target && event.target.files[0]){\r\n const file = event.target.files[0];\r\n let attachment = new QMSFileAttachment();\r\n attachment.fileName = file.name;\r\n attachment.extension = file.name.split('.').pop();\r\n attachment.file = file;\r\n attachment.isSuccessful = true;\r\n attachment.typeError = FileErrorType.noError;\r\n if(this.acceptExtensions){\r\n const check = this.acceptExtensions.filter(type => type.toLowerCase() === attachment.extension.toLowerCase())\r\n if(check.length === 0){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.notSupportedExtension;\r\n }\r\n }\r\n if(this.maxSize && file.size > this.maxSize){\r\n attachment.isSuccessful = false;\r\n attachment.typeError = FileErrorType.exceedMaxSize;\r\n }\r\n this.inputFileChange.emit(attachment);\r\n this.invokeMyFunc();\r\n }\r\n }\r\n}","import { AfterContentChecked, AfterViewInit, ContentChild, Directive, ElementRef,\r\n EventEmitter,\r\n HostListener, Injectable, Input, OnChanges, OnInit, Output, Renderer2, SimpleChanges } from \"@angular/core\";\r\nimport { CanDeactivate } from \"@angular/router\";\r\nimport { Observable } from \"rxjs\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\nimport { QMSFileUploadDisplayDirective } from \"./file-upload-display.directive\";\r\nimport { QMSFileUploadSelectorDirective } from \"./file-upload-selector.directive\";\r\n\r\n\r\nexport interface ComponentCanDeactivate {\r\n canDeactivate: () => Observable<boolean> | Promise<boolean> | boolean;\r\n}\r\n \r\n@Injectable()\r\nexport class QMSUploadingFileGuard implements CanDeactivate<ComponentCanDeactivate> {\r\n constructor(){}\r\n canDeactivate(component: ComponentCanDeactivate) {\r\n // if there are no pending changes, just allow deactivation; else confirm first\r\n return component.canDeactivate? component.canDeactivate(): true;\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-file-upload]',\r\n})\r\nexport class QMSFileUploadDirective implements OnInit, AfterViewInit, OnChanges {\r\n @Input() isLoading;\r\n @ContentChild(QMSFileUploadSelectorDirective, {static: false}) fileSelector: QMSFileUploadSelectorDirective;\r\n @ContentChild(QMSFileUploadDisplayDirective, {static: false}) fileDisplay: QMSFileUploadDisplayDirective;\r\n\r\n constructor(private ele: ElementRef, private renderer: Renderer2) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-file-upload-loading');\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-file-upload');\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-file-upload-loading');\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.fileSelector) {\r\n this.fileDisplay.eleInput = this.fileSelector.ele;\r\n this.fileDisplay.removeInvalid = this.removeInvalid;\r\n this.fileDisplay.addInvalid = this.addInvalid;\r\n this.fileSelector.isLoading = this.isLoading;\r\n }\r\n }\r\n\r\n removeInvalid = () => {\r\n this.ele.nativeElement.classList.remove('mat-form-field-invalid');\r\n }\r\n\r\n addInvalid = () => {\r\n this.ele.nativeElement.classList.add('mat-form-field-invalid');\r\n }\r\n}\r\n","import { AfterContentInit, Directive, ElementRef, Renderer2 } from \"@angular/core\";\r\n\r\n\r\n@Directive({\r\n selector: '[qms-form]',\r\n host: { 'class': 'qms-form' }\r\n})\r\nexport class QMSFormFieldDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-form-textarea]',\r\n host: { 'class': 'qms-form form-textarea' }\r\n})\r\nexport class QMSFormFieldTextareaDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-form-date]',\r\n host: { 'class': 'qms-form form-datepicker' }\r\n})\r\nexport class QMSFormFieldDatePickerDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n\r\n@Directive({\r\n selector: '[qms-group-options]',\r\n host: { 'class': 'qms-group-options' }\r\n})\r\nexport class QMSGroupOptionDirective implements AfterContentInit {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-group-options]',\r\n host: { 'class': 'qms-group-options' }\r\n})\r\n\r\nexport class AutocompleteOffDirective {\r\n constructor(private _el: ElementRef) {\r\n this._el.nativeElement.setAttribute('autocomplete', 'off');\r\n this._el.nativeElement.setAttribute('autocorrect', 'off');\r\n this._el.nativeElement.setAttribute('autocapitalize', 'none');\r\n this._el.nativeElement.setAttribute('spellcheck', 'false');\r\n }\r\n}","import { Directive, Input, ElementRef, OnInit, OnDestroy } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-margin]'\r\n})\r\n\r\nexport class MarginDirective implements OnInit {\r\n @Input() dim: string;\r\n @Input() value: string;\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dim ?\r\n this.el.nativeElement.style[`margin-${this.dim}`] = `${this.value}px` :\r\n this.value.includes('px')\r\n ? this.el.nativeElement.style[`margin`] = `${this.value}`\r\n : this.el.nativeElement.style[`margin`] = `${this.value}px`;\r\n }\r\n}","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'mat-slider[qms-range-slider-lockup]',\r\n})\r\nexport class QMSRangeSliderLockUpDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-range-slider-lockup');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: 'mat-slider[qms-range-slider]',\r\n})\r\nexport class QMSRangeSliderDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-range-slider');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input, OnInit, Renderer2 } from '@angular/core';\r\n@Directive({\r\n selector: '[scrollToSelected]'\r\n})\r\nexport class ScrollToSelectedDirective implements OnInit {\r\n @Input() scrollToClass: string;\r\n @HostListener('document:click', ['$event'])\r\n onClick(e) {\r\n const isStepElement = e.currentTarget.activeElement.classList.contains('mat-step-header');\r\n const isStepElementActive = e.currentTarget.activeElement.classList.contains('mat-primary');\r\n if (isStepElement && isStepElementActive) {\r\n this.rerenderView();\r\n }\r\n }\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {\r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n rerenderView() {\r\n if (this.el.nativeElement.classList.contains(this.scrollToClass)) {\r\n this.el.nativeElement.scrollIntoView(true, { behavior: 'smooth', block: 'start' });\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.rerenderView();\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-scrollbar]',\r\n})\r\nexport class QMSScrollbarDirective implements OnInit {\r\n @Input() isNoneBackground: boolean;\r\n\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-scrollbar');\r\n\r\n if (this.isNoneBackground) {\r\n this.ele.nativeElement.classList.add('none-scroll-bg');\r\n }\r\n }\r\n }\r\n}","import { AfterViewChecked, AfterViewInit, ContentChild, Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, \r\n OnDestroy,\r\n OnInit, Output, Renderer2, SimpleChanges, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[qms-input-clear]',\r\n})\r\nexport class QMSInputClearDirective {\r\n inputDemo;\r\n inputDemoChange;\r\n constructor(public el: ElementRef) {\r\n el.nativeElement.classList.add('qms-input-clear');\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'mat-form-field[qms-search-field]',\r\n})\r\nexport class QMSSearchFieldDirective implements OnInit, AfterViewInit, OnChanges {\r\n @Input() isLoading;\r\n constructor(private ele: ElementRef, private renderer: Renderer2) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-search-field-loading');\r\n } else {\r\n this.ele.nativeElement.classList.remove('qms-search-field-loading');\r\n }\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-search-field');\r\n if (this.isLoading) {\r\n this.ele.nativeElement.classList.add('qms-search-field-loading');\r\n }\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer-content]',\r\n})\r\nexport class QMSDrawerContentDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer-content');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer-header-action]',\r\n})\r\nexport class QMSDrawerHeaderActionDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer-header__action');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer-header]',\r\n})\r\nexport class QMSDrawerHeaderDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer-header');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-drawer]',\r\n})\r\nexport class QMSDrawerDirective implements OnInit {\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-drawer');\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tab-group-advanced]',\r\n})\r\nexport class QMSTabGroupAdvancedDirective implements OnInit{\r\n @Input() color: string;\r\n @Input() type: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tab-group-advanced');\r\n if(this.color){\r\n this.ele.nativeElement.classList.add(this.color);\r\n }\r\n if(this.type==='fixed'){\r\n this.ele.nativeElement.classList.add('qms-tab-group-advanced-fixed');\r\n }\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tab-group]',\r\n})\r\nexport class QMSTabGroupDirective implements OnInit{\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tab-group');\r\n }\r\n \r\n }\r\n}","import { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tab-label]',\r\n})\r\nexport class QMSTabLabelDirective implements OnInit{\r\n constructor(private ele: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tab-label');\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, Renderer2 } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-text-block-line]'\r\n})\r\nexport class QMSTextBlockLine {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n @Input('size') size: string;\r\n @Input('type') type: string;\r\n @Input('color') color: string;\r\n\r\n ngOnInit(): void {\r\n if (this.type === 'caption-semibold') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption-semibold');\r\n }\r\n else if (this.type == 'caption'){\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption');\r\n }\r\n else if (this.type === 'body') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `content size-${this.size ? this.size : 'none'}`);\r\n } else {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `qms-text-block-line size-${this.size ? this.size : 'none'}`);\r\n }\r\n\r\n if (this.color) {\r\n this.renderer.addClass(this.elRef.nativeElement, this.color);\r\n }\r\n\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-text-block]',\r\n})\r\nexport class QMSTextBlockDirective implements OnInit {\r\n\r\n @Input('appearance') appearance: string;\r\n @Input('mode') mode: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-text-block');\r\n if(this.appearance == 'fill'){\r\n this.ele.nativeElement.classList.add('qms-text-block-filled')\r\n }\r\n if(this.mode === 'dark'){\r\n this.ele.nativeElement.classList.add('qms-text-block-dark')\r\n }\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[qms-tooltip-image]',\r\n})\r\nexport class QMSTooltipImageDirective implements OnInit {\r\n @Input('type') type: string;\r\n constructor(private ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-tooltip-image');\r\n if (this.type) { \r\n this.ele.nativeElement.classList.add(this.type);\r\n }\r\n }\r\n }\r\n}\r\n","import { AfterViewInit, Component, ContentChild, ElementRef, Input, OnInit, TemplateRef, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'qms-tooltip',\r\n templateUrl: './tooltip.html',\r\n styleUrls: ['./tooltip.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n })\r\nexport class QMSToolTipComponent implements OnInit, AfterViewInit {\r\n\r\n /**\r\n * This is simple text which is to be shown in the tooltip\r\n */\r\n @Input() text: string;\r\n @Input() mode: string;\r\n\r\n /**\r\n * This provides finer control on the content to be visible on the tooltip\r\n * This template will be injected in McToolTipRenderer directive in the consumer template\r\n * <ng-template #template>\r\n * content.....\r\n * </ng-template>\r\n */\r\n @Input() contentTemplate: TemplateRef<any>;\r\n @ViewChild('qmsTooltipContainer', {static: false}) qmsTooltipContainer: ElementRef;\r\n constructor(private ele: ElementRef) { }\r\n ngAfterViewInit(): void {\r\n if(this.mode == 'dark'){\r\n this.qmsTooltipContainer.nativeElement.classList.add('qms-tooltip-container-dark')\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n}","import { ConnectedPosition, ConnectionPositionPair, Overlay, OverlayPositionBuilder, OverlayRef } from \"@angular/cdk/overlay\";\r\nimport { ComponentPortal } from \"@angular/cdk/portal\";\r\nimport { ComponentRef, Directive, ElementRef, HostListener, Input, TemplateRef } from \"@angular/core\";\r\nimport { QMSToolTipComponent } from \"../../components/tooltip/tooltip\";\r\n\r\n@Directive({\r\n selector: '[qms-tool-tip]'\r\n})\r\nexport class QMSToolTipRendererDirective {\r\n\r\n /**\r\n * This will be used to show tooltip or not\r\n * This can be used to show the tooltip conditionally\r\n */\r\n @Input() showToolTip: boolean = true;\r\n @Input() mode: string;\r\n //If this is specified then specified text will be showin in the tooltip\r\n @Input(`qms-tool-tip`) text: string;\r\n\r\n //If this is specified then specified template will be rendered in the tooltip\r\n @Input() contentTemplate: TemplateRef<any>;\r\n @Input() position: string;\r\n private _overlayRef: OverlayRef;\r\n\r\n constructor(private _overlay: Overlay,\r\n private _overlayPositionBuilder: OverlayPositionBuilder,\r\n private _elementRef: ElementRef) { }\r\n\r\n /**\r\n * Init life cycle event handler\r\n */\r\n ngOnInit() {\r\n let positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: 5,\r\n }]);\r\n switch (this.position) {\r\n case 'left': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetY: 0,\r\n offsetX: -10,\r\n }]);\r\n break;\r\n }\r\n case 'right': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n offsetY: 0,\r\n offsetX: 10,\r\n }]);\r\n break;\r\n }\r\n case 'top': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n offsetY: -10,\r\n offsetX: 0,\r\n }]);\r\n break;\r\n }\r\n case 'bottom': {\r\n positionStrategy = this._overlayPositionBuilder\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions([{\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: 10,\r\n offsetX: 0\r\n }]);\r\n break;\r\n }\r\n }\r\n\r\n this._overlayRef = this._overlay.create({ positionStrategy });\r\n }\r\n\r\n /**\r\n * This method will be called whenever mouse enters in the Host element\r\n * i.e. where this directive is applied\r\n * This method will show the tooltip by instantiating the McToolTipComponent and attaching to the overlay\r\n */\r\n @HostListener('focus')\r\n @HostListener('mouseenter')\r\n show() {\r\n if (!this.showToolTip) {\r\n return;\r\n }\r\n //attach the component if it has not already attached to the overlay\r\n if ((this.text || this.contentTemplate) && this._overlayRef && !this._overlayRef.hasAttached()) {\r\n const tooltipRef: ComponentRef<QMSToolTipComponent>\r\n = this._overlayRef.attach(new ComponentPortal(QMSToolTipComponent));\r\n if(this.text)\r\n tooltipRef.instance.text = this.text;\r\n if (this.mode) {\r\n tooltipRef.instance.mode = this.mode;\r\n }\r\n tooltipRef.instance.contentTemplate = this.contentTemplate;\r\n }\r\n }\r\n\r\n /**\r\n * This method will be called when mouse goes out of the host element\r\n * i.e. where this directive is applied\r\n * This method will close the tooltip by detaching the overlay from the view\r\n */\r\n @HostListener('focusout')\r\n @HostListener('mouseleave')\r\n hide() {\r\n this.closeToolTip();\r\n }\r\n\r\n /**\r\n * Destroy lifecycle event handler\r\n * This method will make sure to close the tooltip\r\n * It will be needed in case when app is navigating to different page\r\n * and user is still seeing the tooltip; In that case we do not want to hang around the\r\n * tooltip after the page [on which tooltip visible] is destroyed\r\n */\r\n ngOnDestroy() {\r\n this.closeToolTip();\r\n }\r\n\r\n /**\r\n * This method will close the tooltip by detaching the component from the overlay\r\n */\r\n private closeToolTip() {\r\n if (this._overlayRef) {\r\n this._overlayRef.detach();\r\n }\r\n }\r\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport {\r\n AfterContentInit,\r\n Attribute,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n QueryList,\r\n ViewChild,\r\n ViewEncapsulation,\r\n InjectionToken,\r\n Inject,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n CanDisableRipple,\r\n mixinDisableRipple,\r\n} from '@angular/material/core';\r\n\r\n\r\n\r\nexport type ButtonToggleAppearance = 'standard' | 'active' | 'dark';\r\n\r\nexport interface ButtonToggleDefaultOptions {\r\n appearance?: ButtonToggleAppearance;\r\n}\r\n\r\n\r\nexport const BUTTON_TOGGLE_DEFAULT_OPTIONS =\r\n new InjectionToken<ButtonToggleDefaultOptions>('BUTTON_TOGGLE_DEFAULT_OPTIONS');\r\n\r\n\r\nexport const BUTTON_TOGGLE_GROUP =\r\n new InjectionToken<QMSButtonToggleGroup>('QMSButtonToggleGroup');\r\n\r\n\r\nexport const BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => QMSButtonToggleGroup),\r\n multi: true\r\n};\r\n\r\n\r\nlet uniqueIdCounter = 0;\r\n\r\n\r\nexport class ButtonToggleChange {\r\n constructor(\r\n public source: QMSButtonToggle,\r\n public value: any) { }\r\n}\r\n\r\n\r\n@Directive({\r\n selector: 'qms-button-toggle-group',\r\n providers: [\r\n BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,\r\n { provide: BUTTON_TOGGLE_GROUP, useExisting: QMSButtonToggleGroup },\r\n ],\r\n host: {\r\n 'role': 'group',\r\n 'class': 'qms-button-toggle-group',\r\n '[attr.aria-disabled]': 'disabled',\r\n '[class.qms-button-toggle-vertical]': 'vertical',\r\n '[class.qms-button-toggle-group-appearance-standard]': 'appearance === \"standard\"',\r\n '[class.qms-button-toggle-group-appearance-active]': 'appearance === \"active\"',\r\n '[class.qms-button-toggle-group-appearance-dark]': 'appearance === \"dark\"',\r\n },\r\n exportAs: 'qmsButtonToggleGroup',\r\n})\r\nexport class QMSButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\r\n private _vertical = false;\r\n private _disabled = false;\r\n private _selectionModel: SelectionModel<QMSButtonToggle>;\r\n\r\n private _rawValue: any;\r\n\r\n _controlValueAccessorChangeFn: (value: any) => void = () => { };\r\n\r\n _onTouched: () => any = () => { };\r\n\r\n @ContentChildren(forwardRef(() => QMSButtonToggle), {\r\n descendants: true\r\n }) _buttonToggles: QueryList<QMSButtonToggle>;\r\n\r\n\r\n @Input() appearance: ButtonToggleAppearance;\r\n\r\n @Input()\r\n get name(): string { return this._name; }\r\n set name(value: string) {\r\n this._name = value;\r\n\r\n if (this._buttonToggles) {\r\n this._buttonToggles.forEach(toggle => {\r\n toggle.name = this._name;\r\n toggle._markForCheck();\r\n });\r\n }\r\n }\r\n private _name = `qms-button-toggle-group-${uniqueIdCounter++}`;\r\n\r\n\r\n @Input()\r\n get vertical(): boolean { return this._vertical; }\r\n set vertical(value: boolean) {\r\n this._vertical = coerceBooleanProperty(value);\r\n }\r\n\r\n\r\n @Input()\r\n get value(): any {\r\n const selected = this._selectionModel ? this._selectionModel.selected : [];\r\n\r\n return selected[0] ? selected[0].value : undefined;\r\n }\r\n set value(newValue: any) {\r\n this._setSelectionByValue(newValue);\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n\r\n @Output() readonly valueChange = new EventEmitter<any>();\r\n\r\n\r\n get selected(): QMSButtonToggle | QMSButtonToggle[] {\r\n const selected = this._selectionModel ? this._selectionModel.selected : [];\r\n return (selected[0] || null);\r\n }\r\n\r\n\r\n @Input()\r\n get disabled(): boolean { return this._disabled; }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n\r\n if (this._buttonToggles) {\r\n this._buttonToggles.forEach(toggle => toggle._markForCheck());\r\n }\r\n }\r\n\r\n @Output() readonly change: EventEmitter<ButtonToggleChange> =\r\n new EventEmitter<ButtonToggleChange>();\r\n\r\n constructor(\r\n private _changeDetector: ChangeDetectorRef,\r\n @Optional() @Inject(BUTTON_TOGGLE_DEFAULT_OPTIONS)\r\n defaultOptions?: ButtonToggleDefaultOptions) {\r\n\r\n this.appearance =\r\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\r\n }\r\n\r\n ngOnInit() {\r\n this._selectionModel = new SelectionModel<QMSButtonToggle>(false, undefined, false);\r\n }\r\n\r\n ngAfterContentInit() {\r\n this._selectionModel.select(...this._buttonToggles.filter(toggle => toggle.checked));\r\n }\r\n\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n this._changeDetector.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: (value: any) => void) {\r\n this._controlValueAccessorChangeFn = fn;\r\n }\r\n\r\n\r\n registerOnTouched(fn: any) {\r\n this._onTouched = fn;\r\n }\r\n\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n\r\n _emitChangeEvent(): void {\r\n const selected = this.selected;\r\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\r\n const event = new ButtonToggleChange(source!, this.value);\r\n this._controlValueAccessorChangeFn(event.value);\r\n this.change.emit(event);\r\n }\r\n\r\n _syncButtonToggle(toggle: QMSButtonToggle,\r\n select: boolean,\r\n isUserInput = false,\r\n deferEvents = false) {\r\n\r\n if (this.selected && !toggle.checked) {\r\n (this.selected as QMSButtonToggle).checked = false;\r\n }\r\n\r\n if (this._selectionModel) {\r\n if (select) {\r\n this._selectionModel.select(toggle);\r\n } else {\r\n this._selectionModel.deselect(toggle);\r\n }\r\n } else {\r\n deferEvents = true;\r\n }\r\n\r\n\r\n if (deferEvents) {\r\n Promise.resolve().then(() => this._updateModelValue(isUserInput));\r\n } else {\r\n this._updateModelValue(isUserInput);\r\n }\r\n }\r\n\r\n\r\n _isSelected(toggle: QMSButtonToggle) {\r\n return this._selectionModel && this._selectionModel.isSelected(toggle);\r\n }\r\n\r\n\r\n _isPrechecked(toggle: QMSButtonToggle) {\r\n if (typeof this._rawValue === 'undefined') {\r\n return false;\r\n }\r\n\r\n return toggle.value === this._rawValue;\r\n }\r\n\r\n\r\n private _setSelectionByValue(value: any | any[]) {\r\n this._rawValue = value;\r\n\r\n if (!this._buttonToggles) {\r\n return;\r\n }\r\n\r\n this._clearSelection();\r\n this._selectValue(value);\r\n }\r\n\r\n\r\n private _clearSelection() {\r\n this._selectionModel.clear();\r\n this._buttonToggles.forEach(toggle => toggle.checked = false);\r\n }\r\n\r\n\r\n private _selectValue(value: any) {\r\n const correspondingOption = this._buttonToggles.find(toggle => {\r\n return toggle.value != null && toggle.value === value;\r\n });\r\n\r\n if (correspondingOption) {\r\n correspondingOption.checked = true;\r\n this._selectionModel.select(correspondingOption);\r\n }\r\n }\r\n\r\n private _updateModelValue(isUserInput: boolean) {\r\n if (isUserInput) {\r\n this._emitChangeEvent();\r\n }\r\n\r\n\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n static ngAcceptInputType_multiple: BooleanInput;\r\n static ngAcceptInputType_vertical: BooleanInput;\r\n}\r\n\r\n\r\nconst _ButtonToggleBase = mixinDisableRipple(class { });\r\n\r\n\r\n@Component({\r\n selector: 'qms-button-toggle',\r\n templateUrl: 'button-toggle.html',\r\n styleUrls: ['button-toggle.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'qmsButtonToggle',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n inputs: ['disableRipple'],\r\n host: {\r\n '[class.qms-button-toggle-standalone]': '!buttonToggleGroup',\r\n '[class.qms-button-toggle-checked]': 'checked',\r\n '[class.qms-button-toggle-disabled]': 'disabled',\r\n '[class.qms-button-toggle-appearance-standard]': 'appearance === \"standard\"',\r\n '[class.qms-button-toggle-appearance-active]': 'appearance === \"active\"',\r\n '[class.qms-button-toggle-appearance-dark]': 'appearance === \"dark\"',\r\n 'class': 'qms-button-toggle',\r\n '[attr.aria-label]': 'null',\r\n '[attr.aria-labelledby]': 'null',\r\n '[attr.id]': 'id',\r\n '[attr.name]': 'null',\r\n '(focus)': 'focus()',\r\n 'role': 'presentation',\r\n }\r\n})\r\nexport class QMSButtonToggle extends _ButtonToggleBase implements OnInit, AfterViewInit,\r\n CanDisableRipple, OnDestroy {\r\n\r\n private _checked = false;\r\n\r\n\r\n @Input('aria-label') ariaLabel: string;\r\n\r\n\r\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\r\n\r\n\r\n @ViewChild('button') _buttonElement: ElementRef<HTMLButtonElement>;\r\n\r\n\r\n buttonToggleGroup: QMSButtonToggleGroup;\r\n\r\n\r\n get buttonId(): string { return `${this.id}-button`; }\r\n\r\n\r\n @Input() id: string;\r\n\r\n\r\n @Input() name: string;\r\n\r\n\r\n @Input() value: any;\r\n\r\n\r\n @Input() tabIndex: number | null;\r\n\r\n\r\n @Input()\r\n get appearance(): ButtonToggleAppearance {\r\n return this.buttonToggleGroup ? this.buttonToggleGroup.appearance : this._appearance;\r\n }\r\n set appearance(value: ButtonToggleAppearance) {\r\n this._appearance = value;\r\n }\r\n private _appearance: ButtonToggleAppearance;\r\n\r\n\r\n @Input()\r\n get checked(): boolean {\r\n return this.buttonToggleGroup ? this.buttonToggleGroup._isSelected(this) : this._checked;\r\n }\r\n set checked(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n\r\n if (newValue !== this._checked) {\r\n this._checked = newValue;\r\n\r\n if (this.buttonToggleGroup) {\r\n this.buttonToggleGroup._syncButtonToggle(this, this._checked);\r\n }\r\n\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n }\r\n\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\r\n }\r\n set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }\r\n private _disabled: boolean = false;\r\n\r\n @Output() readonly change: EventEmitter<ButtonToggleChange> =\r\n new EventEmitter<ButtonToggleChange>();\r\n\r\n constructor(@Optional() @Inject(BUTTON_TOGGLE_GROUP) toggleGroup: QMSButtonToggleGroup,\r\n private _changeDetectorRef: ChangeDetectorRef,\r\n private _elementRef: ElementRef<HTMLElement>,\r\n private _focusMonitor: FocusMonitor,\r\n @Attribute('tabindex') defaultTabIndex: string,\r\n @Optional() @Inject(BUTTON_TOGGLE_DEFAULT_OPTIONS)\r\n defaultOptions?: ButtonToggleDefaultOptions) {\r\n super();\r\n\r\n const parsedTabIndex = Number(defaultTabIndex);\r\n this.tabIndex = (parsedTabIndex || parsedTabIndex === 0) ? parsedTabIndex : null;\r\n this.buttonToggleGroup = toggleGroup;\r\n this.appearance =\r\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\r\n }\r\n\r\n ngOnInit() {\r\n const group = this.buttonToggleGroup;\r\n this.id = this.id || `qms-button-toggle-${uniqueIdCounter++}`;\r\n\r\n this.name = group.name;\r\n\r\n if (group) {\r\n if (group._isPrechecked(this)) {\r\n this.checked = true;\r\n } else if (group._isSelected(this) !== this._checked) {\r\n group._syncButtonToggle(this, this._checked);\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n }\r\n\r\n ngOnDestroy() {\r\n const group = this.buttonToggleGroup;\r\n\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n\r\n if (group && group._isSelected(this)) {\r\n group._syncButtonToggle(this, false, false, true);\r\n }\r\n }\r\n\r\n focus(options?: FocusOptions): void {\r\n this._buttonElement.nativeElement.focus(options);\r\n }\r\n\r\n _onButtonClick() {\r\n\r\n if (!this._checked) {\r\n this._checked = true;\r\n if (this.buttonToggleGroup) {\r\n this.buttonToggleGroup._syncButtonToggle(this, this._checked, true);\r\n this.buttonToggleGroup._onTouched();\r\n }\r\n }\r\n this.change.emit(new ButtonToggleChange(this, this.value));\r\n }\r\n\r\n\r\n _markForCheck() {\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n\r\n static ngAcceptInputType_checked: BooleanInput;\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n static ngAcceptInputType_vertical: BooleanInput;\r\n static ngAcceptInputType_disableRipple: BooleanInput;\r\n}","import { ElementRef } from '@angular/core';\r\n\r\nexport type Constructor<T> = new (...args: any[]) => T;\r\n\r\nexport type ThemePalette = 'primary' | 'secondary' | 'light' | 'dark' | undefined;\r\n\r\n/** @docs-private */\r\nexport interface CanColor {\r\n /** Theme color palette for the component. */\r\n color: ThemePalette;\r\n\r\n /** Default color to fall back to if no value is set. */\r\n defaultColor: ThemePalette | undefined;\r\n}\r\n\r\n/** @docs-private */\r\nexport type CanColorCtor = Constructor<CanColor>;\r\n\r\n/** @docs-private */\r\nexport interface HasElementRef {\r\n _elementRef: ElementRef;\r\n}\r\n\r\n///** Mixin to augment a directive with a `color` property. */\r\nexport function mixinColor<T extends Constructor<HasElementRef>>(base: T, defaultColor?: ThemePalette): CanColorCtor & T {\r\n return class extends base {\r\n private _color: ThemePalette;\r\n defaultColor = defaultColor;\r\n\r\n get color(): ThemePalette { return this._color; }\r\n set color(value: ThemePalette) {\r\n const colorPalette = value || this.defaultColor;\r\n if (colorPalette !== this._color) {\r\n if (this._color) {\r\n this._elementRef.nativeElement.classList.remove(`qms-${this._color}`);\r\n }\r\n if (colorPalette) {\r\n this._elementRef.nativeElement.classList.add(`qms-${colorPalette}`);\r\n }\r\n\r\n this._color = colorPalette;\r\n }\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n\r\n // Set the default color that can be specified from the mixin.\r\n this.color = defaultColor;\r\n }\r\n };\r\n}\r\n","import { FocusMonitor, FocusableOption, FocusOrigin } from '@angular/cdk/a11y';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n ViewEncapsulation,\r\n Optional,\r\n Inject,\r\n Input,\r\n AfterViewInit,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport {\r\n CanColor,\r\n CanColorCtor,\r\n mixinColor,\r\n} from './color';\r\nimport {\r\n CanDisable,\r\n CanDisableCtor,\r\n mixinDisabled,\r\n} from '@angular/material/core';\r\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\r\n\r\nconst DEFAULT_ROUND_BUTTON_COLOR = 'primary';\r\n\r\n/**\r\n * List of classes to add to QMSButton instances based on host attributes to\r\n * style as different variants.\r\n */\r\nconst BUTTON_HOST_ATTRIBUTES = [\r\n 'qms-btn',\r\n 'qms-btn-lg',\r\n 'qms-btn-outlined',\r\n 'qms-btn-outlined-lg',\r\n 'qms-btn-text',\r\n 'qms-btn-text-lg',\r\n 'qms-btn-fab',\r\n 'qms-btn-fab-sm',\r\n 'qms-btn-fab-ext',\r\n 'qms-btn-fab-outlined',\r\n 'qms-btn-fab-outlined-sm',\r\n 'qms-btn-fab-outlined-ext'\r\n];\r\n\r\nclass QMSButtonBase {\r\n constructor(public _elementRef: ElementRef) { }\r\n}\r\n\r\nconst _QMSButtonMixinBase: CanDisableCtor & CanColorCtor &\r\n typeof QMSButtonBase = mixinColor(mixinDisabled(QMSButtonBase));\r\n\r\n\r\n/**\r\n * QMS design button.\r\n */\r\n@Component({\r\n selector: `button[qms-btn], button[qms-btn-lg], button[qms-btn-outlined],\r\n button[qms-btn-outlined-lg], button[qms-btn-text], button[qms-btn-text-lg],\r\n button[qms-btn-fab],button[qms-btn-fab-sm],button[qms-btn-fab-ext],\r\n button[qms-btn-fab-outlined],button[qms-btn-fab-outlined-sm],button[qms-btn-fab-outlined-ext]`,\r\n exportAs: 'qmsButton',\r\n host: {\r\n '[attr.disabled]': 'disabled || null',\r\n '[class._qms-animation-noopable]': '_animationMode === \"NoopAnimations\"',\r\n '[class.qms-btn-disabled]': 'disabled'\r\n },\r\n templateUrl: 'button.html',\r\n styleUrls: ['button.scss'],\r\n inputs: ['disabled', 'color'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSButton extends _QMSButtonMixinBase\r\n implements AfterViewInit, OnDestroy, CanDisable, CanColor, FocusableOption {\r\n\r\n constructor(elementRef: ElementRef,\r\n private _focusMonitor: FocusMonitor,\r\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode: string) {\r\n super(elementRef);\r\n\r\n for (const attr of BUTTON_HOST_ATTRIBUTES) {\r\n if (this._hasHostAttributes(attr)) {\r\n (this._getHostElement() as HTMLElement).classList.add(attr);\r\n }\r\n }\r\n\r\n elementRef.nativeElement.classList.add('qms-btn-base');\r\n }\r\n\r\n focus(origin?: FocusOrigin, options?: FocusOptions): void {\r\n if (origin) {\r\n this._focusMonitor.focusVia(this._getHostElement(), origin, options);\r\n } else {\r\n this._getHostElement().focus(options);\r\n }\r\n }\r\n\r\n _getHostElement() {\r\n return this._elementRef.nativeElement;\r\n }\r\n\r\n _hasHostAttributes(...attributes: string[]) {\r\n return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n }\r\n\r\n}\r\n\r\n/**\r\n * Material design anchor button.\r\n */\r\n@Component({\r\n selector: `a[qms-btn], a[qms-btn-lg], a[qms-btn-outlined],\r\n a[qms-btn-outlined-lg], a[qms-btn-text], a[qms-btn-text-lg],\r\n a[qms-btn-fab], a[qms-btn-fab-sm], a[qms-btn-fab-ext],\r\n a[qms-btn-fab-outlined],a[qms-btn-fab-outlined-sm],a[qms-btn-fab-outlined-ext]`,\r\n exportAs: 'qmsButton, qmsAnchor',\r\n host: {\r\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\r\n '[attr.disabled]': 'disabled || null',\r\n '[attr.aria-disabled]': 'disabled.toString()',\r\n '(click)': '_haltDisabledEvents($event)',\r\n '[class._qms-animation-noopable]': '_animationMode === \"NoopAnimations\"',\r\n '[class.qms-btn-disabled]': 'disabled'\r\n },\r\n inputs: ['disabled', 'color'],\r\n templateUrl: 'button.html',\r\n styleUrls: ['button.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSAnchor extends QMSButton {\r\n @Input() tabIndex: number;\r\n\r\n constructor(\r\n focusMonitor: FocusMonitor,\r\n elementRef: ElementRef,\r\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode: string) {\r\n super(elementRef, focusMonitor, animationMode);\r\n }\r\n\r\n _haltDisabledEvents(event: Event) {\r\n // A disabled button shouldn't apply any actions\r\n if (this.disabled) {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: `button[qms-btn-icon]`,\r\n exportAs: 'qmsButtonIcon',\r\n host: {\r\n 'class': 'qms-btn-icon',\r\n '[attr.disabled]': 'disabled || null',\r\n '[class._qms-animation-noopable]': '_animationMode === \"NoopAnimations\"',\r\n '[class.qms-btn-disabled]': 'disabled',\r\n '[class.active-icon]': 'type',\r\n },\r\n templateUrl: 'button-icon.html',\r\n styleUrls: ['button-icon.scss'],\r\n inputs: ['disabled', 'color', 'type'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSButtonIcon extends _QMSButtonMixinBase\r\n implements AfterViewInit, OnDestroy, CanDisable, CanColor, FocusableOption {\r\n\r\n @Input('type') type: string;\r\n\r\n constructor(elementRef: ElementRef,\r\n private _focusMonitor: FocusMonitor,\r\n private renderer: Renderer2,\r\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode: string) {\r\n super(elementRef);\r\n }\r\n\r\n focus(origin?: FocusOrigin, options?: FocusOptions): void {\r\n if (origin) {\r\n this._focusMonitor.focusVia(this._getHostElement(), origin, options);\r\n } else {\r\n this._getHostElement().focus(options);\r\n }\r\n }\r\n\r\n _getHostElement() {\r\n return this._elementRef.nativeElement;\r\n }\r\n\r\n _hasHostAttributes(...attributes: string[]) {\r\n return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n if (this.type) {\r\n this.renderer.addClass(this._elementRef.nativeElement, 'active-icon');\r\n }\r\n\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nimport { QMSButtonToggle, QMSButtonToggleGroup } from './button-toggle';\r\nimport { QMSAnchor, QMSButton, QMSButtonIcon } from './button';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule\r\n ],\r\n exports: [\r\n QMSButton,\r\n QMSAnchor,\r\n QMSButtonIcon,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n QMSButtonToggle,\r\n QMSButtonToggleGroup\r\n ],\r\n declarations: [\r\n QMSButton,\r\n QMSAnchor,\r\n QMSButtonToggle,\r\n QMSButtonToggleGroup,\r\n QMSButtonIcon\r\n ],\r\n})\r\nexport class QMSButtonModule { }\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { QMSButtonModule } from './components/button/button.module';\r\n\r\n@NgModule({\r\n exports: [\r\n MatInputModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n QMSButtonModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class SharedMaterialModule { }","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { TranslateLibraryService } from '../services/translation-registry.service';\r\n\r\n@Pipe({\r\n name: 'dateFormat'\r\n})\r\nexport class DateFormatPipe implements PipeTransform {\r\n\r\n constructor(private trans: TranslateLibraryService) {\r\n\r\n }\r\n\r\n transform(value: Date, args?: any) {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n\r\n let valueFormat = '';\r\n let langCode = '';\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n langCode = res || 'en';\r\n });\r\n\r\n\r\n switch (langCode) {\r\n case 'en':\r\n valueFormat = 'MM/DD/YYYY hh:mm';\r\n break;\r\n case 'no':\r\n valueFormat = 'DD.MM.YYYY hh:mm';\r\n break;\r\n default:\r\n valueFormat = 'DD.MM.YYYY hh:mm';\r\n break;\r\n }\r\n\r\n return moment(value).format(valueFormat);\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { QMSUploadingFileGuard } from './directives/file-upload/file-upload.directive';\r\nimport { TranslateLibraryService } from './services/translation-registry.service';\r\n\r\n\r\n@NgModule({})\r\nexport class SharedModule {\r\n static forRoot(): ModuleWithProviders<SharedModule> {\r\n return {\r\n ngModule: SharedModule,\r\n providers: [TranslateLibraryService, QMSUploadingFileGuard]\r\n };\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { MAT_RADIO_DEFAULT_OPTIONS } from '@angular/material/radio';\r\nimport { QMSComment } from './components/comment/comment';\r\nimport { QMSConfirmDialog, QMSFormDialog } from './components/dialog/dialog';\r\nimport { QMSSuffixDirective, QMSSuffixFieldDirective } from './components/suffix-field/suffix-field.directive';\r\nimport { TestOnlyComponent } from './components/test-only/test-only.component';\r\nimport { QMSChipInputChipListDirective } from './directives/chip-input/chip-input-chip-list.directive';\r\nimport { QMSChipInputDirective } from './directives/chip-input/chip-input-field.directive';\r\nimport { QMSChipInputSelectDropWDownDirective } from './directives/chip-input/chip-input-select-dropdown.directive';\r\nimport { QMSChipInputSelectFieldDirective } from './directives/chip-input/chip-input-select-field.directive';\r\nimport { QMSChipInputSelectTriggerDirective } from './directives/chip-input/chip-input-select-trigger.directive';\r\nimport { QMSChipBodyDirective } from './directives/chips/chip-body.directive';\r\nimport { QMSInputChipDirective } from './directives/chips/chip.directive';\r\nimport { QMSDropdownMenuItem } from './directives/dropdown-menu/dropdown-item.directive';\r\nimport { QMSAttachmentListDirective } from './directives/file-upload/file-upload-attachment-list.directive';\r\nimport { QMSFileUploadDisplayDirective } from './directives/file-upload/file-upload-display.directive';\r\nimport { QMSFileUploadMultipleDisplayDirective } from './directives/file-upload/file-upload-multiple-display.directive';\r\nimport { QMSFileUploadMultipleSelectorDirective } from './directives/file-upload/file-upload-multiple-selector.directive';\r\nimport { QMSFileUploadMultipleDirective } from './directives/file-upload/file-upload-multiple.directive';\r\nimport { QMSScrolableAttachmentListDirective } from './directives/file-upload/file-upload-scrollable-attachment-list.directive';\r\nimport { QMSFileUploadSelectorDirective } from './directives/file-upload/file-upload-selector.directive';\r\nimport { QMSFileUploadDirective, QMSUploadingFileGuard } from './directives/file-upload/file-upload.directive';\r\nimport {\r\n AutocompleteOffDirective,\r\n QMSFormFieldDatePickerDirective,\r\n QMSFormFieldDirective,\r\n QMSFormFieldTextareaDirective,\r\n QMSGroupOptionDirective\r\n} from './directives/form.directive';\r\nimport { MarginDirective } from './directives/margin.directive';\r\nimport { QMSRangeSliderLockUpDirective } from './directives/range-slider/range-slider-lockup.directive';\r\nimport { QMSRangeSliderDirective } from './directives/range-slider/range-slider.directive';\r\nimport { ScrollToSelectedDirective } from './directives/scroll-selected/scroll-to-selected.directive';\r\nimport { QMSScrollbarDirective } from './directives/scrollbar/scrollbar.directive';\r\nimport {\r\n QMSInputClearDirective,\r\n QMSSearchFieldDirective\r\n} from './directives/search-field.directive';\r\nimport { QMSDrawerContentDirective } from \"./directives/side-sheet/drawer-content.directive\";\r\nimport { QMSDrawerHeaderActionDirective } from \"./directives/side-sheet/drawer-header-action.directive\";\r\nimport { QMSDrawerHeaderDirective } from \"./directives/side-sheet/drawer-header.directive\";\r\nimport { QMSDrawerDirective } from \"./directives/side-sheet/drawer.directive\";\r\nimport { QMSTabGroupAdvancedDirective } from \"./directives/tab/tab-group-advanced.directive\";\r\nimport { QMSTabGroupDirective } from \"./directives/tab/tab-group.directive\";\r\nimport { QMSTabLabelDirective } from \"./directives/tab/tab-label.directive\";\r\nimport { QMSTextBlockLine } from \"./directives/text-block/text-block-line.directive\";\r\nimport { QMSTextBlockDirective } from \"./directives/text-block/text-block.directive\";\r\nimport { QMSTooltipImageDirective } from './directives/tooltip/tooltip-image.directive';\r\nimport { QMSToolTipRendererDirective } from \"./directives/tooltip/tooltip-renderer.directive\";\r\nimport { SharedMaterialModule } from './material-module';\r\nimport { DateFormatPipe } from './pipe/dateFormat.pipe';\r\nimport { QmsAngularComponent } from './qms-angular.component';\r\nimport { SharedModule } from './shared.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsAngularComponent,\r\n TestOnlyComponent,\r\n MarginDirective,\r\n QMSSearchFieldDirective,\r\n QMSInputClearDirective,\r\n QMSFormFieldDirective,\r\n QMSFormFieldTextareaDirective,\r\n QMSGroupOptionDirective,\r\n QMSSuffixFieldDirective,\r\n QMSSuffixDirective,\r\n QMSFormFieldTextareaDirective,\r\n AutocompleteOffDirective,\r\n QMSComment,\r\n QMSConfirmDialog,\r\n QMSFormDialog,\r\n QMSFormFieldDatePickerDirective,\r\n QMSInputChipDirective,\r\n QMSChipBodyDirective,\r\n QMSFileUploadDirective,\r\n QMSFileUploadDisplayDirective,\r\n QMSFileUploadSelectorDirective,\r\n QMSAttachmentListDirective,\r\n QMSScrolableAttachmentListDirective,\r\n QMSFileUploadMultipleDirective,\r\n QMSFileUploadMultipleDisplayDirective,\r\n QMSFileUploadMultipleSelectorDirective,\r\n QMSRangeSliderDirective,\r\n QMSRangeSliderLockUpDirective,\r\n QMSDropdownMenuItem,\r\n QMSScrollbarDirective,\r\n QMSTextBlockDirective,\r\n QMSTextBlockLine,\r\n QMSDrawerDirective,\r\n QMSDrawerHeaderDirective,\r\n QMSDrawerContentDirective,\r\n QMSDrawerHeaderActionDirective,\r\n QMSToolTipRendererDirective,\r\n QMSTabLabelDirective,\r\n QMSTabGroupDirective,\r\n QMSTabGroupAdvancedDirective,\r\n DateFormatPipe,\r\n QMSChipInputDirective,\r\n QMSChipInputSelectFieldDirective,\r\n QMSChipInputSelectDropWDownDirective,\r\n QMSChipInputSelectTriggerDirective,\r\n QMSChipInputChipListDirective,\r\n ScrollToSelectedDirective,\r\n QMSTooltipImageDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SharedModule.forRoot(),\r\n SharedMaterialModule\r\n ],\r\n exports: [\r\n QmsAngularComponent,\r\n MarginDirective,\r\n TestOnlyComponent,\r\n QMSSearchFieldDirective,\r\n QMSInputClearDirective,\r\n QMSFormFieldDirective,\r\n QMSFormFieldTextareaDirective,\r\n QMSGroupOptionDirective,\r\n QMSSuffixFieldDirective,\r\n QMSSuffixDirective,\r\n AutocompleteOffDirective,\r\n QMSComment,\r\n QMSConfirmDialog,\r\n QMSFormDialog,\r\n QMSInputChipDirective,\r\n QMSChipBodyDirective,\r\n QMSFormFieldDatePickerDirective,\r\n QMSFileUploadDirective,\r\n QMSFileUploadDisplayDirective,\r\n QMSFileUploadSelectorDirective,\r\n QMSAttachmentListDirective,\r\n QMSScrolableAttachmentListDirective,\r\n QMSFileUploadMultipleDirective,\r\n QMSFileUploadMultipleDisplayDirective,\r\n QMSFileUploadMultipleSelectorDirective,\r\n QMSRangeSliderDirective,\r\n QMSRangeSliderLockUpDirective,\r\n QMSDropdownMenuItem,\r\n QMSScrollbarDirective,\r\n QMSTextBlockDirective,\r\n QMSTextBlockLine,\r\n QMSDrawerDirective,\r\n QMSDrawerHeaderDirective,\r\n QMSDrawerContentDirective,\r\n QMSDrawerHeaderActionDirective,\r\n QMSToolTipRendererDirective,\r\n QMSTabLabelDirective,\r\n QMSTabGroupDirective,\r\n QMSTabGroupAdvancedDirective,\r\n DateFormatPipe,\r\n QMSChipInputDirective,\r\n QMSChipInputSelectFieldDirective,\r\n QMSChipInputSelectDropWDownDirective,\r\n QMSChipInputSelectTriggerDirective,\r\n QMSChipInputChipListDirective,\r\n ScrollToSelectedDirective,\r\n QMSTooltipImageDirective\r\n ],\r\n providers: [\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'fill' } },\r\n { provide: MAT_RADIO_DEFAULT_OPTIONS, useValue: { color: 'none' } },\r\n QMSUploadingFileGuard\r\n ],\r\n // entryComponents: []\r\n})\r\nexport class QmsAngularModule { }\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit, ChangeDetectionStrategy, Component,\r\n ContentChildren, Directive, ElementRef, HostListener, Input, OnInit,\r\n QueryList, Renderer2, ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { setLines } from '@angular/material/core';\r\n\r\n\r\n@Directive({\r\n selector: '[leading-icon]',\r\n host: { 'class': 'leading-icon' }\r\n})\r\nexport class QMSListLeadingIcon { }\r\n\r\n@Directive({\r\n selector: '[qms-line]'\r\n})\r\nexport class QMSListLine {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @Input('size') size: string;\r\n @Input('type') type: string;\r\n @Input('color') color: string;\r\n\r\n ngOnInit(): void {\r\n if (this.type === 'caption') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'caption');\r\n }\r\n else if (this.type === 'subtitle') {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `subtitle size-${this.size ? this.size : 'none'}`);\r\n } else {\r\n this.renderer.setAttribute(this.elRef.nativeElement, 'class', `qms-line size-${this.size ? this.size : 'none'}`);\r\n }\r\n\r\n if (this.color) {\r\n this.renderer.addClass(this.elRef.nativeElement, this.color);\r\n }\r\n\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-list-header]',\r\n host: { 'class': 'qms-list-header' }\r\n})\r\nexport class QMSListHeader {\r\n\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-expansion]',\r\n host: { 'class': 'qms-expansion' }\r\n})\r\nexport class QMSListExpansion implements AfterContentInit {\r\n @ContentChildren(QMSListLine, { descendants: true }) _lines: QueryList<QMSListLine>;\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n\r\n }\r\n ngAfterContentInit() {\r\n // setLines(this._lines, this.elRef);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[qms-expansion-header]',\r\n host: { 'class': 'qms-expansion-header' }\r\n})\r\nexport class QMSListExpansionHeader implements AfterContentInit {\r\n @ContentChildren(QMSListLine, { descendants: true }) _lines: QueryList<QMSListLine>;\r\n\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('click', ['$event']) onClick($event) {\r\n const qmsList = document.querySelectorAll('.qms-expansion-header');\r\n [].forEach.call(qmsList, (el) => {\r\n el.classList.remove('active-item');\r\n });\r\n this.renderer.addClass(this.elRef.nativeElement, 'active-item');\r\n }\r\n\r\n ngAfterContentInit() {\r\n setLines(this._lines, this.elRef);\r\n }\r\n}\r\n\r\n\r\n\r\n@Component({\r\n selector: 'qms-list',\r\n templateUrl: 'list.html',\r\n styleUrls: ['list.scss'],\r\n host: { 'class': 'qms-list' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSList implements OnInit {\r\n\r\n constructor(private elRef: ElementRef) { }\r\n ngOnInit() { }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-list-item',\r\n templateUrl: 'list-item.html',\r\n styleUrls: ['list.scss'],\r\n host: {\r\n 'class': 'qms-list-item',\r\n '[class.qms-list-item-disabled]': 'disabled',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSListItem implements AfterViewInit {\r\n @Input('type') type: string;\r\n get disabled() { return this._disabled }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n private _disabled = false;\r\n\r\n @ContentChildren(QMSListLine, { descendants: true }) _lines: QueryList<QMSListLine>;\r\n constructor(private elRef: ElementRef<HTMLElement>, private renderer: Renderer2) { }\r\n\r\n ngAfterViewInit() {\r\n if (this.type) {\r\n // this.renderer.setAttribute(this.elRef.nativeElement, 'class', 'qms-list-item image-item');\r\n this.renderer.addClass(this.elRef.nativeElement, 'image-item');\r\n this.renderer.addClass(this.elRef.nativeElement, this.type);\r\n }\r\n\r\n setLines(this._lines, this.elRef);\r\n }\r\n}\r\n\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatExpansionModule, MAT_EXPANSION_PANEL_DEFAULT_OPTIONS } from '@angular/material/expansion';\r\n\r\nimport {\r\n QMSList, QMSListItem, QMSListLeadingIcon, QMSListLine,\r\n QMSListHeader, QMSListExpansion, QMSListExpansionHeader\r\n} from './list';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatListModule,\r\n MatExpansionModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatListModule,\r\n MatExpansionModule,\r\n QMSList,\r\n QMSListItem,\r\n QMSListLeadingIcon,\r\n QMSListLine,\r\n QMSListHeader,\r\n QMSListExpansion,\r\n QMSListExpansionHeader\r\n ],\r\n declarations: [\r\n QMSList,\r\n QMSListItem,\r\n QMSListLeadingIcon,\r\n QMSListLine,\r\n QMSListHeader,\r\n QMSListExpansion,\r\n QMSListExpansionHeader\r\n ],\r\n providers: [\r\n {\r\n provide: MAT_EXPANSION_PANEL_DEFAULT_OPTIONS,\r\n useValue: {\r\n expandedHeight: '*',\r\n collapsedHeight: '*'\r\n }\r\n }\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class QMSListModule { }\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, forwardRef, Input, OnInit, Renderer2, ViewEncapsulation } from \"@angular/core\";\r\nimport { ControlValueAccessor, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from \"@angular/forms\";\r\n@Component({\r\n selector: 'qms-rich-text',\r\n templateUrl: 'rich-text.html',\r\n styleUrls: ['rich-text.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => QMSRichText),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => QMSRichText),\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class QMSRichText implements OnInit, AfterViewInit, ControlValueAccessor, Validator {\r\n\r\n @Input('disabled') isDisabled: boolean;\r\n @Input('required') required: boolean = false;\r\n @Input('placeholder') placeholder: string;\r\n\r\n public _value: string;\r\n\r\n public Editor = [];\r\n\r\n public configEditor = {\r\n placeholder: 'Placeholder',\r\n toolbar: {\r\n items: [\r\n 'undo',\r\n 'redo',\r\n '|',\r\n 'alignment',\r\n '|',\r\n 'bold',\r\n 'italic',\r\n 'strikethrough',\r\n 'underline',\r\n '|',\r\n 'bulletedList',\r\n 'numberedList',\r\n '|',\r\n 'insertTable',\r\n \"blockQuote\",\r\n '|',\r\n 'heading'\r\n ]\r\n },\r\n alignment: {\r\n options: ['left', 'right', 'center', 'justify']\r\n },\r\n };\r\n\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {\r\n }\r\n\r\n onChange: (_value: any) => void;\r\n onTouched: () => void;\r\n\r\n writeValue(obj: any): void {\r\n this._value = obj;\r\n }\r\n registerOnChange(fn: any): void {\r\n\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngAfterViewInit() {\r\n this.configEditor.placeholder = this.placeholder;\r\n\r\n if (this.isDisabled) {\r\n this.renderer.addClass(this.elRef.nativeElement, 'ck-disabled');\r\n }\r\n }\r\n\r\n public onChanged({ editor }) {\r\n const data = editor.getData();\r\n this.writeValue(data);\r\n this.onChange(data);\r\n }\r\n\r\n public onBlur({ editor }) {\r\n const data = editor.getData();\r\n this.writeValue(data);\r\n this.onChange(data);\r\n }\r\n\r\n validate(c: FormControl) {\r\n if (!this.required) {\r\n return null;\r\n }\r\n return (this._value && !this.required) ? null : {\r\n type: {\r\n valid: false,\r\n actual: c.value\r\n }\r\n };\r\n }\r\n\r\n public onReady(editor) {\r\n if (this._value) {\r\n editor.setData(this._value);\r\n }\r\n this.initEditor(editor);\r\n }\r\n\r\n private initEditor(editor) {\r\n editor.ui\r\n .getEditableElement()\r\n .parentElement.insertBefore(editor.ui.view.toolbar.element, editor.ui.getEditableElement());\r\n\r\n }\r\n\r\n}\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { QMSRichText } from './rich-text';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n QMSRichText,\r\n ],\r\n declarations: [\r\n QMSRichText,\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class QMSRichTextModule { }\r\n","import { Component, ElementRef, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\n\r\n@Component({\r\n selector: 'qms-edit-file-name-dialog',\r\n templateUrl: 'edit-file-name-dialog.html',\r\n styleUrls: ['edit-file-name-dialog.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QMSEditFileNameDialog {\r\n fileName: string;\r\n LANG: any;\r\n constructor(\r\n public dialogRef: MatDialogRef<QMSEditFileNameDialog>, \r\n public trans: TranslateLibraryService,\r\n @Inject(MAT_DIALOG_DATA) public data: string) {\r\n this.fileName = this.data;\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n cancel(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n saveChanges(): void {\r\n this.dialogRef.close(this.fileName);\r\n }\r\n\r\n clearInput(): void {\r\n this.fileName = '';\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { SharedModule } from \"../../shared.module\";\r\nimport { QMSButtonModule } from \"../button/button.module\";\r\nimport { QMSEditFileNameDialog } from \"./edit-file-name-dialog\";\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n MatButtonModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n FormsModule,\r\n SharedModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatExpansionModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n QMSEditFileNameDialog\r\n ],\r\n declarations: [\r\n QMSEditFileNameDialog\r\n ],\r\n})\r\nexport class QMSEditFileNameDialogModule { }\r\n","import { Component, ElementRef, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from \"../../services/translation-registry.service\";\r\n\r\nexport class UploadErrorData {\r\n fileNames: string[];\r\n acceptedExtension: string[];\r\n}\r\n\r\n@Component({\r\n selector: 'qms-upload-file-error-dialog',\r\n templateUrl: 'upload-file-error-dialog.html',\r\n styleUrls: ['upload-file-error-dialog.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QMSUploadFileErrorDialog {\r\n unsupportedFiles: string[];\r\n supportedExtensions: string[];\r\n LANG: any;\r\n constructor(\r\n public dialogRef: MatDialogRef<QMSUploadFileErrorDialog>, \r\n public trans: TranslateLibraryService,\r\n @Inject(MAT_DIALOG_DATA) public data: UploadErrorData) {\r\n this.unsupportedFiles = this.data.fileNames;\r\n this.supportedExtensions = this.data.acceptedExtension;\r\n this.trans.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.trans.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n ok(): void {\r\n this.dialogRef.close(null);\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { SharedModule } from \"../../shared.module\";\r\nimport { QMSButtonModule } from \"../button/button.module\";\r\nimport { QMSUploadFileErrorDialog } from \"./upload-file-error-dialog\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n MatButtonModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n FormsModule,\r\n SharedModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatExpansionModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n QMSUploadFileErrorDialog\r\n ],\r\n declarations: [\r\n QMSUploadFileErrorDialog\r\n ],\r\n})\r\nexport class QMSUploadFileErrorDialogModule { }","export const PROCESS_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 3V9H5V19H15V21H21V15H15V17H7V9H9V7H15V9H21V3H15V5H9V3H3ZM7 5V7H5V5H7ZM19 5V7H17V5H19ZM19 19V17H17V19H19Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const PROCESS_AREA_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V11H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M13 16.5V13H16.5V14.1667H20V13H23.5V16.5H20V15.3333H16.5V16.5H15.3333V21.1667H20V20H23.5V23.5H20V22.3333H14.1667V16.5H13Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const PROCESS_AREA_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V11H13C11.8954 11 11 11.8954 11 13V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M13 16.5V13H16.5V14.1667H20V13H23.5V16.5H20V15.3333H16.5V16.5H15.3333V21.1667H20V20H23.5V23.5H20V22.3333H14.1667V16.5H13Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DOCUMENT_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6 2H14L20 8V20C20 21.1 19.1 22 18 22H5.99C4.89 22 4 21.1 4 20L4.01 4C4.01 2.9 4.9 2 6 2ZM6 4V20H18V9H13V4H6Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DEVIATION_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 21.5L12 2.5L23 21.5H1ZM19.53 19.5L12 6.49L4.47 19.5H19.53ZM11 16.5V18.5H13V16.5H11ZM11 10.5H13V14.5H11V10.5Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const CHECKLIST_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M3 13H5V11H3V13Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M3 17H5V15H3V17Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M3 9H5V7H3V9Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M7 13H21V11H7V13Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M7 17H21V15H7V17Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path d=\"M7 7V9H21V7H7Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const RISK_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 3V21H21V3H3ZM11 19H5V13H11V19ZM5 11H11V5H5V11ZM19 19H13V13H19V19ZM13 11H19V5H13V11Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const NORMAL_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4ZM11.17 8L9.17 6H4V18H20V8H11.17Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const NORMAL_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.59 4.59C10.21 4.21 9.7 4 9.17 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6H12L10.59 4.59Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;\r\n\r\nexport const LOCAL_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V12H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 21.5001V19.0001H19V21.5001C19 21.7751 19.225 22.0001 19.5 22.0001H21C21.275 22.0001 21.5 21.7751 21.5 21.5001V18.0001H22.35C22.58 18.0001 22.69 17.7151 22.515 17.5651L18.335 13.8001C18.145 13.6301 17.855 13.6301 17.665 13.8001L13.485 17.5651C13.315 17.7151 13.42 18.0001 13.65 18.0001H14.5V21.5001C14.5 21.7751 14.725 22.0001 15 22.0001H16.5C16.775 22.0001 17 21.7751 17 21.5001Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\n\r\nexport const LOCAL_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V12H17C13.6863 12 11 14.6863 11 18V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 21.5001V19.0001H19V21.5001C19 21.7751 19.225 22.0001 19.5 22.0001H21C21.275 22.0001 21.5 21.7751 21.5 21.5001V18.0001H22.35C22.58 18.0001 22.69 17.7151 22.515 17.5651L18.335 13.8001C18.145 13.6301 17.855 13.6301 17.665 13.8001L13.485 17.5651C13.315 17.7151 13.42 18.0001 13.65 18.0001H14.5V21.5001C14.5 21.7751 14.725 22.0001 15 22.0001H16.5C16.775 22.0001 17 21.7751 17 21.5001Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\n\r\nexport const ENTERPRISE_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V11H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.5 17.5V13.5H15.5V15.5H13.5V22.5H17.5V20.5H18.5V22.5H22.5V17.5H20.5ZM15.5 21.5H14.5V20.5H15.5V21.5ZM15.5 19.5H14.5V18.5H15.5V19.5ZM15.5 17.5H14.5V16.5H15.5V17.5ZM17.5 19.5H16.5V18.5H17.5V19.5ZM17.5 17.5H16.5V16.5H17.5V17.5ZM17.5 15.5H16.5V14.5H17.5V15.5ZM19.5 19.5H18.5V18.5H19.5V19.5ZM19.5 17.5H18.5V16.5H19.5V17.5ZM19.5 15.5H18.5V14.5H19.5V15.5ZM21.5 21.5H20.5V20.5H21.5V21.5ZM21.5 19.5H20.5V18.5H21.5V19.5Z\" fill=\"#CF4714\"/>\r\n</svg>\r\n`;\r\n\r\nexport const ENTERPRISE_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V11H17C13.6863 11 11 13.6863 11 17V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.5 17.5V13.5H15.5V15.5H13.5V22.5H17.5V20.5H18.5V22.5H22.5V17.5H20.5ZM15.5 21.5H14.5V20.5H15.5V21.5ZM15.5 19.5H14.5V18.5H15.5V19.5ZM15.5 17.5H14.5V16.5H15.5V17.5ZM17.5 19.5H16.5V18.5H17.5V19.5ZM17.5 17.5H16.5V16.5H17.5V17.5ZM17.5 15.5H16.5V14.5H17.5V15.5ZM19.5 19.5H18.5V18.5H19.5V19.5ZM19.5 17.5H18.5V16.5H19.5V17.5ZM19.5 15.5H18.5V14.5H19.5V15.5ZM21.5 21.5H20.5V20.5H21.5V21.5ZM21.5 19.5H20.5V18.5H21.5V19.5Z\" fill=\"#CF4714\"/>\r\n</svg>`;\r\n\r\nexport const REGIONAL_FOLDER_OUTLINED_ICON = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H12V18H4V6H9.17L11.17 8H20V11H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.4999 13.0833C16.4037 13.0833 14.7083 14.7787 14.7083 16.8749C14.7083 19.1337 17.1024 22.2483 18.0883 23.4345C18.3049 23.6945 18.7003 23.6945 18.917 23.4345C19.8974 22.2483 22.2916 19.1337 22.2916 16.8749C22.2916 14.7787 20.5962 13.0833 18.4999 13.0833ZM18.4999 18.2291C17.7524 18.2291 17.1458 17.6224 17.1458 16.8749C17.1458 16.1274 17.7524 15.5208 18.4999 15.5208C19.2474 15.5208 19.8541 16.1274 19.8541 16.8749C19.8541 17.6224 19.2474 18.2291 18.4999 18.2291Z\" fill=\"#662E0D\"/>\r\n</svg>\r\n`;\r\n\r\nexport const REGIONAL_FOLDER_ICON = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V11H18C14.6863 11 12 13.6863 12 17V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.4999 13.0833C16.4037 13.0833 14.7083 14.7787 14.7083 16.8749C14.7083 19.1337 17.1024 22.2483 18.0883 23.4345C18.3049 23.6945 18.7003 23.6945 18.917 23.4345C19.8974 22.2483 22.2916 19.1337 22.2916 16.8749C22.2916 14.7787 20.5962 13.0833 18.4999 13.0833ZM18.4999 18.2291C17.7524 18.2291 17.1458 17.6224 17.1458 16.8749C17.1458 16.1274 17.7524 15.5208 18.4999 15.5208C19.2474 15.5208 19.8541 16.1274 19.8541 16.8749C19.8541 17.6224 19.2474 18.2291 18.4999 18.2291Z\" fill=\"#662E0D\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DEPARTMENT_FOLDER_OUTLINED_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 4H4C2.9 4 2.01 4.9 2.01 6L2 18C2 19.1 2.9 20 4 20H11V18H4V6H9.17L11.17 8H20V12H22V8C22 6.9 21.1 6 20 6H12L10 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20 15.25H22C22.555 15.25 23 15.695 23 16.25V21.75C23 22.305 22.555 22.75 22 22.75H14C13.445 22.75 13 22.305 13 21.75L13.005 16.25C13.005 15.695 13.445 15.25 14 15.25H16V14.25C16 13.695 16.445 13.25 17 13.25H19C19.555 13.25 20 13.695 20 14.25V15.25ZM17 15.25H19V14.25H17V15.25Z\" fill=\"#00804C\"/>\r\n</svg>\r\n`;\r\n\r\nexport const DEPARTMENT_FOLDER_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 4H10L12 6H20C21.1 6 22 6.9 22 8V12H17C13.6863 12 11 14.6863 11 18V20H4C2.9 20 2 19.1 2 18L2.01 6C2.01 4.9 2.9 4 4 4Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20 15.25H22C22.555 15.25 23 15.695 23 16.25V21.75C23 22.305 22.555 22.75 22 22.75H14C13.445 22.75 13 22.305 13 21.75L13.005 16.25C13.005 15.695 13.445 15.25 14 15.25H16V14.25C16 13.695 16.445 13.25 17 13.25H19C19.555 13.25 20 13.695 20 14.25V15.25ZM17 15.25H19V14.25H17V15.25Z\" fill=\"#00804C\"/>\r\n</svg>\r\n`;\r\n\r\n\r\nexport const KEYBOARD_UP_ICON = `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\"/></svg>\r\n`;\r\n\r\nexport const KEYBOARD_DOWN_ICON = `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"/></svg>\r\n`;\r\n\r\n\r\nexport const DOCUMENT_LOCAL_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 2H6C4.9 2 4.01 2.9 4.01 4L4 20C4 21.1 4.89 22 5.99 22H11V20H6V4H13V9H18V12H20V8L14 2Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 21.5001V19.0001H19V21.5001C19 21.7751 19.225 22.0001 19.5 22.0001H21C21.275 22.0001 21.5 21.7751 21.5 21.5001V18.0001H22.35C22.58 18.0001 22.69 17.7151 22.515 17.5651L18.335 13.8001C18.145 13.6301 17.855 13.6301 17.665 13.8001L13.485 17.5651C13.315 17.7151 13.42 18.0001 13.65 18.0001H14.5V21.5001C14.5 21.7751 14.725 22.0001 15 22.0001H16.5C16.775 22.0001 17 21.7751 17 21.5001Z\" fill=\"#1954A9\"/>\r\n</svg>\r\n`;\r\nexport const DOCUMENT_DEPARTMENT_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 2H6C4.9 2 4.01 2.9 4.01 4L4 20C4 21.1 4.89 22 5.99 22H11V20H6V4H13V9H18V12H20V8L14 2Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20 15.25H22C22.555 15.25 23 15.695 23 16.25V21.75C23 22.305 22.555 22.75 22 22.75H14C13.445 22.75 13 22.305 13 21.75L13.005 16.25C13.005 15.695 13.445 15.25 14 15.25H16V14.25C16 13.695 16.445 13.25 17 13.25H19C19.555 13.25 20 13.695 20 14.25V15.25ZM17 15.25H19V14.25H17V15.25Z\" fill=\"#00804C\"/>\r\n</svg>\r\n`;\r\nexport const DOCUMENT_REGIONAL_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 2H6C4.9 2 4.01 2.9 4.01 4L4 20C4 21.1 4.89 22 5.99 22H11V20H6V4H13V9H18V12H20V8L14 2Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18 13C16.065 13 14.5 14.565 14.5 16.5C14.5 18.585 16.71 21.46 17.62 22.555C17.82 22.795 18.185 22.795 18.385 22.555C19.29 21.46 21.5 18.585 21.5 16.5C21.5 14.565 19.935 13 18 13ZM18 17.75C17.31 17.75 16.75 17.19 16.75 16.5C16.75 15.81 17.31 15.25 18 15.25C18.69 15.25 19.25 15.81 19.25 16.5C19.25 17.19 18.69 17.75 18 17.75Z\" fill=\"#662E0D\"/>\r\n</svg>\r\n`;\r\nexport const DOCUMENT_ENTERPRISE_ICON = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 2H6C4.9 2 4.01 2.9 4.01 4L4 20C4 21.1 4.89 22 5.99 22H11V20H6V4H13V9H18V12H20V8L14 2Z\" fill=\"black\" fill-opacity=\"0.6\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.5 17.5V13.5H15.5V15.5H13.5V22.5H17.5V20.5H18.5V22.5H22.5V17.5H20.5ZM15.5 21.5H14.5V20.5H15.5V21.5ZM15.5 19.5H14.5V18.5H15.5V19.5ZM15.5 17.5H14.5V16.5H15.5V17.5ZM17.5 19.5H16.5V18.5H17.5V19.5ZM17.5 17.5H16.5V16.5H17.5V17.5ZM17.5 15.5H16.5V14.5H17.5V15.5ZM19.5 19.5H18.5V18.5H19.5V19.5ZM19.5 17.5H18.5V16.5H19.5V17.5ZM19.5 15.5H18.5V14.5H19.5V15.5ZM21.5 21.5H20.5V20.5H21.5V21.5ZM21.5 19.5H20.5V18.5H21.5V19.5Z\" fill=\"#CF4714\"/>\r\n</svg>\r\n`;\r\n\r\n\r\n","import { AfterViewInit, Injectable, OnInit } from \"@angular/core\";\r\nimport { MatIconRegistry } from \"@angular/material/icon\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { CHECKLIST_ICON, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON } from \"../related/common/qms-icon.const\";\r\n\r\n@Injectable(\r\n {\r\n providedIn: 'root'\r\n }\r\n)\r\nexport class QMSIconRegistryService {\r\n registerProcessIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('process', _sanitizer.bypassSecurityTrustHtml(PROCESS_ICON));\r\n }\r\n \r\n registerProcessAreaIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('process_area', _sanitizer.bypassSecurityTrustHtml(PROCESS_AREA_ICON));\r\n _iconRegistry.addSvgIconLiteral('process_area_outlined', _sanitizer.bypassSecurityTrustHtml(PROCESS_AREA_OUTLINED_ICON));\r\n }\r\n\r\n registerDocumentIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('document', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_ICON));\r\n _iconRegistry.addSvgIconLiteral('document_local', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_LOCAL_ICON));\r\n _iconRegistry.addSvgIconLiteral('document_enterprise', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_ENTERPRISE_ICON));\r\n _iconRegistry.addSvgIconLiteral('document_department', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_DEPARTMENT_ICON));\r\n _iconRegistry.addSvgIconLiteral('document_regional', _sanitizer.bypassSecurityTrustHtml(DOCUMENT_REGIONAL_ICON));\r\n }\r\n registerFolderIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('folder', _sanitizer.bypassSecurityTrustHtml(NORMAL_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('folder_outlined', _sanitizer.bypassSecurityTrustHtml(NORMAL_FOLDER_OUTLINED_ICON));\r\n\r\n _iconRegistry.addSvgIconLiteral('local_folder', _sanitizer.bypassSecurityTrustHtml(LOCAL_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('local_folder_outlined', _sanitizer.bypassSecurityTrustHtml(LOCAL_FOLDER_OUTLINED_ICON));\r\n\r\n _iconRegistry.addSvgIconLiteral('enterprise_folder', _sanitizer.bypassSecurityTrustHtml(ENTERPRISE_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('enterprise_folder_outlined', _sanitizer.bypassSecurityTrustHtml(ENTERPRISE_FOLDER_OUTLINED_ICON));\r\n\r\n _iconRegistry.addSvgIconLiteral('regional_folder', _sanitizer.bypassSecurityTrustHtml(REGIONAL_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('regional_folder_outlined', _sanitizer.bypassSecurityTrustHtml(REGIONAL_FOLDER_OUTLINED_ICON));\r\n\r\n _iconRegistry.addSvgIconLiteral('department_folder', _sanitizer.bypassSecurityTrustHtml(DEPARTMENT_FOLDER_ICON));\r\n _iconRegistry.addSvgIconLiteral('department_folder_outlined', _sanitizer.bypassSecurityTrustHtml(DEPARTMENT_FOLDER_OUTLINED_ICON));\r\n }\r\n\r\n registerDeviationIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('deviation', _sanitizer.bypassSecurityTrustHtml(DEVIATION_ICON));\r\n }\r\n\r\n registerChecklistIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('checklist', _sanitizer.bypassSecurityTrustHtml(CHECKLIST_ICON));\r\n }\r\n\r\n registerRiskIcon(_iconRegistry: MatIconRegistry, _sanitizer: DomSanitizer): void {\r\n _iconRegistry.addSvgIconLiteral('risk', _sanitizer.bypassSecurityTrustHtml(RISK_ICON));\r\n }\r\n}","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { QMSIconRegistryService } from \"./icon-registry.service\";\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule\r\n ],\r\n declarations: [\r\n ],\r\n providers: [QMSIconRegistryService]\r\n })\r\n export class QMSAppIconModule { }","export const BREADCRUMB_DROPDOWN_ICON = `<svg width=\"28\" height=\"28\" viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.3552 5.35508C11.9118 4.91175 11.3168 4.66675 10.6985 4.66675H4.66683C3.3835 4.66675 2.34516 5.71675 2.34516 7.00008L2.3335 21.0001C2.3335 22.2834 3.3835 23.3334 4.66683 23.3334H23.3335C24.6168 23.3334 25.6668 22.2834 25.6668 21.0001V9.33341C25.6668 8.05008 24.6168 7.00008 23.3335 7.00008H14.0002L12.3552 5.35508Z\" fill=\"#00324E\"/>\r\n<path d=\"M10.25 13.125L14 16.875L17.75 13.125H10.25Z\" fill=\"white\" fill-opacity=\"0.6\"/>\r\n</svg>\r\n`;","export enum ItemIconType {\r\n none = 0,\r\n name = 1,\r\n path = 2,\r\n base64 = 3,\r\n svg = 4\r\n}\r\n","import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';\r\nimport { AfterViewInit, ContentChild, Directive, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, Renderer2} from '@angular/core';\r\nimport { QMSToolTipRendererDirective } from '../../directives/tooltip/tooltip-renderer.directive';\r\n\r\n@Directive({\r\n selector: '[qms-breadcrumb-item]',\r\n})\r\nexport class QMSBreadcrumbItemDirective implements OnInit, AfterViewInit {\r\n @Input() isLastItem: boolean;\r\n @Input() showTooltip: boolean;\r\n @Output() showTooltipChange = new EventEmitter();\r\n @ContentChild(\"breadcrumbItemText\", {static: false}) breadcrumbItemText: ElementRef;\r\n constructor(public ele: ElementRef, private renderer: Renderer2) {\r\n }\r\n ngAfterViewInit(): void {\r\n if(this.breadcrumbItemText){\r\n this.breadcrumbItemText.nativeElement.classList.add('qms-breadcrumb-item-text')\r\n if(this.breadcrumbItemText.nativeElement.innerText.length > 30){\r\n this.showTooltipChange.emit(true);\r\n }\r\n }\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-item');\r\n if(this.isLastItem){\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-last-item')\r\n }\r\n }\r\n }\r\n}","export enum DropdownBreadCrumbNodeWidth{\r\n NORMAL = 66,\r\n TABLE = 44,\r\n}","import { AfterViewChecked, AfterViewInit, Component, ElementRef, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatIconRegistry } from \"@angular/material/icon\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { BREADCRUMB_DROPDOWN_ICON } from \"../../common/qms-icon.const\";\r\nimport { ItemIconType } from \"../related/common/item-icon-type.enum\";\r\nimport { QMSBreadcrumbItemDirective } from \"./breadcrumb-item.directive\";\r\nimport { DropdownBreadCrumbNodeWidth } from \"./enum/dropdown-node-width.enum\";\r\nimport { BreadcrumbNode } from \"./model/breadcrumb-node.model\";\r\n\r\n@Component({\r\n selector: 'qms-breadcrumb',\r\n templateUrl: 'breadcrumb.html',\r\n styleUrls: ['breadcrumb.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\n\r\nexport class QMSBreadcrumb implements OnInit, AfterViewInit {\r\n @Input() nodes: BreadcrumbNode[];\r\n @Input() type: string;\r\n @Input() maxLine: number;\r\n @Input() numDisplayItem: number = 0;\r\n @Output() onItemClick: EventEmitter<any> = new EventEmitter<any>();\r\n @ViewChildren(QMSBreadcrumbItemDirective, {}) breadCrumbNodes: QueryList<QMSBreadcrumbItemDirective>;\r\n\r\n dropdownNodes: BreadcrumbNode[] = [];\r\n isOverflow = false;\r\n homeNode: BreadcrumbNode;\r\n previousNode: BreadcrumbNode;\r\n itemNodes: BreadcrumbNode[];\r\n itemSpace: number = DropdownBreadCrumbNodeWidth.NORMAL; // width of dropdown node in normal view\r\n itemIconType;\r\n isMobileType: boolean = false;\r\n\r\n constructor(private ele: ElementRef,\r\n private iconRegistry: MatIconRegistry,\r\n private sanitizer: DomSanitizer) {\r\n iconRegistry.addSvgIconLiteral('breadcrumb_dropdown', sanitizer.bypassSecurityTrustHtml(BREADCRUMB_DROPDOWN_ICON));\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (!this.isMobileType) {\r\n if (!this.maxLine || this.maxLine < 2) {\r\n this.checkOverflow(this.ele.nativeElement.offsetWidth);\r\n }\r\n else {\r\n this.checkOverflow(this.ele.nativeElement.offsetWidth * 1.7);\r\n }\r\n }\r\n if (+this.numDisplayItem > 0 && this.itemNodes.length >= 2) {\r\n this.dropdownNodes = [];\r\n this.dropdownNodes = this.itemNodes.slice(0, -this.numDisplayItem).reverse();\r\n this.itemNodes = [...[], ...this.itemNodes.slice(-this.numDisplayItem)];\r\n this.isOverflow = true;\r\n }\r\n }\r\n\r\n checkOverflow(width: number) {\r\n const nodeWidths = this.breadCrumbNodes.map(x => x.ele.nativeElement.offsetWidth);\r\n let currentWidth = 0;\r\n nodeWidths.forEach(width => {\r\n currentWidth += width;\r\n });\r\n this.isOverflow = width < currentWidth;\r\n if (this.isOverflow) {\r\n let screenWidth = width;\r\n if (this.type !== 'table') {\r\n this.dropdownNodes.push(this.homeNode);\r\n currentWidth -= nodeWidths[0];\r\n currentWidth += this.itemSpace;\r\n screenWidth -= this.itemSpace;\r\n }\r\n else {\r\n currentWidth += this.itemSpace;\r\n screenWidth -= nodeWidths[0];\r\n screenWidth -= this.itemSpace;\r\n }\r\n nodeWidths.shift();\r\n nodeWidths.forEach((eleWidth, index) => {\r\n if (currentWidth > screenWidth) {\r\n this.itemNodes[index].isShow = false;\r\n this.dropdownNodes.push(this.itemNodes[index]);\r\n currentWidth -= (eleWidth);\r\n }\r\n });\r\n this.dropdownNodes = this.dropdownNodes.reverse();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.itemIconType = ItemIconType;\r\n if (this.nodes && this.nodes.length > 0) {\r\n this.nodes.forEach(ele => {\r\n ele.isOverflow = ele.isOverflow ? ele.isOverflow : false;\r\n ele.isShow = true;\r\n ele.displayType = this.getItemIconType(ele);\r\n });\r\n if (this.type !== 'mobile') {\r\n this.homeNode = this.nodes[0];\r\n this.itemNodes = this.nodes.slice(1);\r\n }\r\n else {\r\n this.isMobileType = true;\r\n this.previousNode = this.nodes[this.nodes.length >= 2 ? this.nodes.length - 2 : 0];\r\n }\r\n }\r\n\r\n if (this.type === 'table') {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-table');\r\n this.itemSpace = DropdownBreadCrumbNodeWidth.TABLE; // width of dropdown node in table view\r\n }\r\n if (this.maxLine && this.maxLine > 1) {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb__multi-line');\r\n }\r\n }\r\n\r\n getItemIconType(treeConfig: BreadcrumbNode) {\r\n if (treeConfig.itemIcon) return ItemIconType.name;\r\n if (treeConfig.itemIconPath) return ItemIconType.path;\r\n if (treeConfig.itemIconBase64) return ItemIconType.base64;\r\n if (treeConfig.itemIconSvg) return ItemIconType.svg;\r\n return ItemIconType.none;\r\n }\r\n\r\n getImagePath(node: BreadcrumbNode) {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(node.itemIconBase64) as string;\r\n }\r\n\r\n onKeyPressed(event) {\r\n [...event.target.children].forEach(x => x.click());\r\n }\r\n\r\n onItemSelect(item: BreadcrumbNode) {\r\n if (this.onItemClick) {\r\n this.onItemClick.emit(item);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[qms-breadcrumb-direction-icon]',\r\n})\r\nexport class QMSBreadcrumbDirectionIconDirective implements OnInit {\r\n constructor(public ele: ElementRef) {\r\n }\r\n ngOnInit(): void {\r\n if (this.ele) {\r\n this.ele.nativeElement.classList.add('qms-breadcrumb-direction-icon');\r\n }\r\n }\r\n}","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MatCommonModule } from \"@angular/material/core\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { QMSToolTipRendererDirective } from \"../../directives/tooltip/tooltip-renderer.directive\";\r\nimport { QmsAngularModule } from \"../../qms-angular.module\";\r\nimport { QMSButtonModule } from \"../button/button.module\";\r\nimport { QMSBreadcrumb } from \"./breadcrumb\";\r\nimport { QMSBreadcrumbDirectionIconDirective } from \"./breadcrumb-direction-icon.directive\";\r\nimport { QMSBreadcrumbItemDirective } from \"./breadcrumb-item.directive\";\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n QmsAngularModule,\r\n QMSButtonModule,\r\n MatMenuModule\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n QMSBreadcrumb,\r\n QMSBreadcrumbItemDirective,\r\n QMSBreadcrumbDirectionIconDirective,\r\n ],\r\n declarations: [\r\n QMSBreadcrumb,\r\n QMSBreadcrumbItemDirective,\r\n QMSBreadcrumbDirectionIconDirective,\r\n ],\r\n providers: []\r\n })\r\n export class QMSBreadcrumbModule { }","export enum DataType {\r\n process = 2,\r\n document = 1,\r\n area = 3,\r\n folder = 4,\r\n deviation = 5,\r\n checklist = 6,\r\n risk = 7,\r\n deviationType = 8,\r\n checklistCategory = 9,\r\n riskFolder = 10\r\n}","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { DataType } from \"../common/data-type.enum\";\r\nimport { SelectedNode } from \"../model/selected-node.model\";\r\n\r\n@Component({\r\n selector: 'qms-related-content',\r\n templateUrl: './related-content.component.html',\r\n styleUrls: ['./related-content.component.scss']\r\n})\r\nexport class RelatedContentComponent implements OnInit {\r\n LANG: any;\r\n @Input() header: string;\r\n @Input() contents: Array<SelectedNode> = [];\r\n\r\n dataType = DataType;\r\n imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';\r\n\r\n ngOnInit(): void {\r\n this.LANG = '';\r\n }\r\n\r\n removeContent(content: SelectedNode) {\r\n const index = this.contents.findIndex(x => {\r\n return x.id === content.id;\r\n });\r\n if (index >= 0) {\r\n this.contents.splice(index, 1);\r\n }\r\n }\r\n}\r\n","export enum DocumentNodeType {\r\n Document = 1,\r\n LinkDocument = 2,\r\n FileDocument = 3,\r\n ShortcutDocument = 4,\r\n Folder = 5, // Level 2\r\n TopFolder = 6, // Level 1\r\n DepartmentFolder = 7,\r\n RegionalFolder = 8\r\n}","import { Component, EventEmitter, Inject, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatIconRegistry } from \"@angular/material/icon\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSIconRegistryService } from \"../../app-icon/icon-registry.service\";\r\nimport { DataType } from \"../common/data-type.enum\";\r\nimport { DocumentNodeType } from \"../common/document-folder-type.enum\";\r\nimport { IRelated, RelatedData } from \"../model/related-data.model\";\r\n\r\n@Component({\r\n selector: 'qms-related-list',\r\n templateUrl: './list-related.component.html',\r\n styleUrls: ['./list-related.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelatedListComponent implements OnInit, OnChanges {\r\n LANG: any;\r\n title: string;\r\n isNotEditedItem: boolean;\r\n relatedData: Array<IRelated> = [];\r\n dataType = DataType;\r\n // imageProcess = '../qms-angular/src/assets/images/union.svg';\r\n imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';\r\n\r\n @Input() data: RelatedData;\r\n @Input() showStatus: boolean;\r\n @Output() updateData: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() onItemSelect: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n private domSanitizer: DomSanitizer,\r\n public translate: TranslateLibraryService,\r\n private iconRegistry: MatIconRegistry,\r\n private appIconService: QMSIconRegistryService\r\n ) {\r\n appIconService.registerProcessIcon(iconRegistry, domSanitizer);\r\n appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);\r\n appIconService.registerDocumentIcon(iconRegistry, domSanitizer);\r\n appIconService.registerFolderIcon(iconRegistry, domSanitizer);\r\n appIconService.registerDeviationIcon(iconRegistry, domSanitizer);\r\n appIconService.registerChecklistIcon(iconRegistry, domSanitizer);\r\n appIconService.registerRiskIcon(iconRegistry, domSanitizer);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.data && JSON.stringify(changes.data.currentValue) !== JSON.stringify(changes.data.previousValue)) {\r\n this.relatedData = [];\r\n this.title = changes.data.currentValue.title;\r\n this.isNotEditedItem = changes.data.currentValue['isNotEditedItem'] ?? false;\r\n this.relatedData = [...changes.data.currentValue.data];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.title = this.data.title;\r\n this.isNotEditedItem = this.data['isNotEditedItem'] ?? false;\r\n this.relatedData = this.data.data;\r\n\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n getImagePath() {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(this.imageProcess) as string;\r\n }\r\n\r\n removeItem(index: number) {\r\n this.updateData.emit(index);\r\n }\r\n\r\n onCloseClick(): void {\r\n\r\n }\r\n\r\n onItemClick(item: any): void {\r\n if (this.onItemSelect)\r\n this.onItemSelect.emit(item);\r\n }\r\n\r\n onItemBreadcrumbClick(event: any) {\r\n if (this.onItemSelect)\r\n this.onItemSelect.emit(event);\r\n }\r\n\r\n getItemStatus(item: any) {\r\n return (this.showStatus && item?.statusName) ? `, ${item?.statusName}` : '';\r\n }\r\n\r\n getNodeIcon(item) {\r\n switch (item.itemType) {\r\n case DataType.folder: {\r\n switch (item.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'department_folder_outlined';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'regional_folder_outlined';\r\n case DocumentNodeType.TopFolder:\r\n return 'enterprise_folder_outlined';\r\n case DocumentNodeType.Folder:\r\n return 'local_folder_outlined';\r\n default:\r\n return 'folder_outlined';\r\n }\r\n }\r\n case DataType.document: {\r\n switch (item.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'document_department';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'document_regional';\r\n case DocumentNodeType.TopFolder:\r\n return 'document_enterprise';\r\n case DocumentNodeType.Folder:\r\n return 'document_local';\r\n default:\r\n return 'document';\r\n }\r\n }\r\n case DataType.area:\r\n return 'process_area_outlined';\r\n case DataType.process:\r\n return 'process';\r\n case DataType.deviation:\r\n return 'deviation';\r\n case DataType.checklist:\r\n return 'checklist';\r\n case DataType.risk:\r\n return 'risk';\r\n default:\r\n return 'folder_outlined';\r\n }\r\n }\r\n\r\n canShowParent(item) {\r\n return item.itemType === this.dataType.deviation || item.itemType === this.dataType.checklist;\r\n }\r\n}\r\n","export enum ModuleType {\r\n documentProcess = 1,\r\n deviation = 2,\r\n checklist = 3,\r\n risk = 4\r\n}\r\n","export class RelatedConst {\r\n public static IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';\r\n public static HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';\r\n public static SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';\r\n}\r\n","import { TreeConfig } from \"./tree-config.model\";\r\nimport { TreeModel } from \"./tree.model\";\r\nexport class PopupData {\r\n moduleId: number;\r\n moduleName: string;\r\n treeData1: Array<TreeModel>;\r\n treeData2: Array<TreeModel>;\r\n treeConfig1: TreeConfig;\r\n treeConfig2: TreeConfig;\r\n selectedNode?: Array<any>;\r\n disabledList?: Array<any>;\r\n disabledList2?: Array<any>;\r\n splitView?: boolean;\r\n maxSelectItemCount?: number;\r\n\r\n constructor() {\r\n this.moduleId = 0;\r\n this.moduleName = '';\r\n this.treeData1 = [];\r\n this.treeData2 = [];\r\n this.selectedNode = [];\r\n this.disabledList = [];\r\n this.disabledList2 = [];\r\n this.splitView = false;\r\n }\r\n}\r\n","import { BreadcrumbNode } from \"../../breadcrumb/model/breadcrumb-node.model\";\r\n\r\nexport class RelatedItem {\r\n id: number;\r\n name: string;\r\n type: number;\r\n icon: string;\r\n text: string;\r\n breadcumbs: BreadcrumbNode[];\r\n}\r\n\r\nexport class IRelated {\r\n id: string;\r\n itemName: string;\r\n itemType: number;\r\n statusName: string;\r\n itemNumberId?: string;\r\n parentId: string;\r\n parentName: string;\r\n disabled?: boolean;\r\n levelType?: number;\r\n breadcumbs?: string[];\r\n}\r\n\r\nexport class RelatedData {\r\n title: string;\r\n data: Array<IRelated>;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.data = [];\r\n }\r\n}\r\n\r\n\r\nexport class SearchRelatedItemsToProcessAndDocument {\r\n processes: IRelated[];\r\n documents: IRelated[];\r\n processAreas: IRelated[];\r\n folders: IRelated[];\r\n}\r\n\r\nexport class SearchRelatedItemsToDeviation {\r\n categories: IRelated[];\r\n types: IRelated[];\r\n}\r\n\r\n\r\nexport class SearchRelatedItemsToChecklist {\r\n checklists: IRelated[];\r\n categories: IRelated[];\r\n}\r\n\r\nexport class SearchRelatedItemsToRisk {\r\n assessments: IRelated[];\r\n folders: IRelated[];\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { IRelated } from \"../model/related-data.model\";\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class QMSRelatedGlobalService {\r\n searchRelated = new BehaviorSubject<IRelated[]>([]);\r\n splitViewValue = new BehaviorSubject<IRelated[]>([]);\r\n\r\n constructor() { }\r\n\r\n setSearchRelated(result: IRelated[]) {\r\n this.searchRelated.next(result);\r\n }\r\n\r\n setSplitviewValue(result: IRelated[]){\r\n this.splitViewValue.next(result);\r\n }\r\n}\r\n ","export class TreeNode {\r\n children: TreeNode[];\r\n id: string;\r\n name: string;\r\n parentId?: string;\r\n levelType?: number;\r\n}\r\n","import { TreeNode } from '../model/tree-node.model';\r\nimport { TreeModel } from '../model/tree.model';\r\n\r\nlet objData = {};\r\nlet json = JSON;\r\nfunction buildArrayTree(obj: object, level: number): TreeNode[] {\r\n return Object.keys(obj).reduce<TreeNode[]>((accumulator, key) => {\r\n const value = obj[key];\r\n const node = new TreeNode();\r\n const keyObj = json.parse(key);\r\n node.id = keyObj[\"id\"];\r\n node.name = keyObj[\"name\"];\r\n node.parentId = keyObj[\"parentId\"];\r\n node.levelType = keyObj[\"levelType\"];\r\n\r\n if (value != null) {\r\n if (typeof value === 'object') {\r\n node.children = this.buildArrayTree(value, level + 1);\r\n } else {\r\n node.name = value;\r\n }\r\n }\r\n\r\n return accumulator.concat(node);\r\n }, []);\r\n}\r\n\r\nfunction buildObjectTree(arr: TreeModel[]): object {\r\n objData = {};\r\n let objTreeData;\r\n const root = arr.filter((x: { parentId: string }) => {\r\n return x.parentId === '';\r\n });\r\n root.forEach((item) => {\r\n objTreeData = this.findParent(item.rootId, arr);\r\n });\r\n return objTreeData;\r\n}\r\n\r\nfunction findParent(id: string, array: TreeModel[]) {\r\n const objParent = {};\r\n const parent = array.filter((x: { rootId: string }) => {\r\n return x.rootId === id;\r\n });\r\n\r\n parent.forEach((item) => {\r\n let parentKey = {\r\n id: item.childId,\r\n name: item.childName,\r\n parentId: item.rootId,\r\n levelType: item.levelType\r\n }\r\n objParent[json.stringify(parentKey)] = null;\r\n });\r\n\r\n // find child\r\n const child = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n if (child.length > 0) {\r\n this.findChild(id, objParent, array);\r\n }\r\n\r\n let key = {\r\n id: parent[0].rootId,\r\n name: parent[0].rootName,\r\n parentId: '',\r\n levelType: parent[0].levelType\r\n }\r\n // add node to tree\r\n objData[json.stringify(key)] = objParent;\r\n return objData;\r\n}\r\n\r\nfunction findChild(id: string, objParent: object, array: TreeModel[]) {\r\n const subNode = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n subNode.forEach((item) => {\r\n const processNode = {};\r\n let nodeKey = {\r\n id: item.childId,\r\n name: item.childName,\r\n parentId: item.rootId,\r\n levelType: item.levelType\r\n }\r\n processNode[json.stringify(nodeKey)] = null;\r\n this.findChild(item.rootId, processNode, array);\r\n\r\n let key = {\r\n id: item.rootId,\r\n name: item.subName,\r\n parentId: id,\r\n levelType: item.levelType\r\n }\r\n objParent[json.stringify(key)] = { ...objParent[json.stringify(key)], ...processNode };\r\n });\r\n}\r\n\r\nconst TreeFunctions = {\r\n buildArrayTree,\r\n buildObjectTree,\r\n findParent,\r\n findChild\r\n};\r\n\r\nexport default TreeFunctions;\r\n","import { SelectionModel } from '@angular/cdk/collections';\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { QMSIconRegistryService } from '../../app-icon/icon-registry.service';\r\nimport { DataType } from '../common/data-type.enum';\r\nimport { DocumentNodeType } from '../common/document-folder-type.enum';\r\nimport { ItemIconType } from '../common/item-icon-type.enum';\r\nimport { CHECKLIST_ICON, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON } from '../common/qms-icon.const';\r\nimport { RelatedConst } from '../common/related.const';\r\nimport TreeFunctions from '../common/tree.function';\r\nimport { TreeConfig } from '../model/tree-config.model';\r\nimport { TreeModel } from '../model/tree.model';\r\n\r\ninterface TreeNode {\r\n id: string;\r\n name: string;\r\n children?: TreeNode[];\r\n parentId?: string;\r\n levelType?: number;\r\n}\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n parentId?: string;\r\n disabled: boolean;\r\n levelType?: number;\r\n}\r\n\r\ninterface ICheckedNode {\r\n id: string;\r\n checked: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-tree',\r\n templateUrl: './tree.component.html',\r\n styleUrls: ['./tree.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class TreeComponent implements OnInit, OnChanges {\r\n @Input() treeData: Array<TreeModel> = [];\r\n @Input() treeConfig: TreeConfig;\r\n @Input() selectedData: Array<TreeFlatNode> = [];\r\n @Input() selectedRiskData: any = [];\r\n @Input() disabledList: any = [];\r\n @Output() selectNodeEvent: EventEmitter<TreeFlatNode> = new EventEmitter();\r\n @Output() selectFolderEvent: EventEmitter<TreeFlatNode> = new EventEmitter();\r\n @Output() checkBoxEvent: EventEmitter<TreeFlatNode[]> = new EventEmitter();\r\n @Output() childCheckedEvent: EventEmitter<ICheckedNode> = new EventEmitter();\r\n @Output() nodeExpandEvent: EventEmitter<TreeFlatNode> = new EventEmitter();\r\n\r\n listParentObj = {};\r\n filterData: TreeModel[] = [];\r\n treeObject: object;\r\n arrIndex: string[] = [];\r\n checkedNodeList: Array<TreeFlatNode> = [];\r\n useExpandFeature = true;\r\n allowSelectFolder = false;\r\n areaOfCurrentProcess = '';\r\n showCheckBox = false;\r\n allowMultipleCheck = true;\r\n singleSelectedNode = false;\r\n onlyCheckBoxForChild = false;\r\n onlyFolder = false;\r\n itemIconType = ItemIconType;\r\n displayType = 1;\r\n openIcon = '';\r\n openIconColor = '#1954A9';\r\n closeIcon = '';\r\n closeIconColor = '#000000';\r\n itemIcon = '';\r\n itemIconSvg = '';\r\n itemIconPath = '';\r\n itemIconBase64 = '';\r\n moduleId: number;\r\n\r\n treeControl = new FlatTreeControl<TreeFlatNode>(\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n }\r\n );\r\n\r\n isChecked = false;\r\n checklistSelection: any;\r\n\r\n constructor(private cdRef: ChangeDetectorRef,\r\n private domSanitizer: DomSanitizer,\r\n private iconRegistry: MatIconRegistry,\r\n private appIconService: QMSIconRegistryService) {\r\n iconRegistry.addSvgIconLiteral('keyboard_up', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_UP_ICON));\r\n iconRegistry.addSvgIconLiteral('keyboard_down', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_DOWN_ICON));\r\n appIconService.registerProcessIcon(iconRegistry, domSanitizer);\r\n appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);\r\n appIconService.registerDocumentIcon(iconRegistry, domSanitizer);\r\n appIconService.registerFolderIcon(iconRegistry, domSanitizer);\r\n appIconService.registerDeviationIcon(iconRegistry, domSanitizer);\r\n appIconService.registerChecklistIcon(iconRegistry, domSanitizer);\r\n appIconService.registerRiskIcon(iconRegistry, domSanitizer);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.treeData && JSON.stringify(changes.treeData.currentValue) !== JSON.stringify(changes.treeData.previousValue)) {\r\n this.treeData = [...this.treeData, changes.treeData.currentValue];\r\n this.initTreeData();\r\n }\r\n\r\n if (changes.selectedData &&\r\n (changes.selectedData.currentValue.length > 0 ||\r\n JSON.stringify(changes.selectedData.currentValue) !==\r\n JSON.stringify(changes.selectedData.previousValue))) {\r\n this.checkSelected(changes.selectedData.currentValue);\r\n } else {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n this.checklistSelection.deselect(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initTreeData();\r\n }\r\n\r\n initTreeData() {\r\n this.treeData.forEach(item => {\r\n if (!!item.parentId && item.parentId.length > 0) {\r\n this.listParentObj[item.parentId] = 1;\r\n }\r\n if (item.childId && item.childId.length > 0) {\r\n this.listParentObj[item.rootId] = 1;\r\n }\r\n });\r\n\r\n if (this.treeConfig.showCheckBox) {\r\n this.filterData = this.treeData;\r\n }\r\n else {\r\n this.filterData = this.treeData.filter((x) => {\r\n return x.parentId === '';\r\n });\r\n }\r\n\r\n this.treeObject = TreeFunctions.buildObjectTree(this.filterData);\r\n this.dataSource.data = TreeFunctions.buildArrayTree(this.treeObject, 0).map(element => {\r\n const item = this.sortDataTree(element);\r\n element = null;\r\n element = { ...{}, ...item };\r\n return element;\r\n });\r\n\r\n this.useExpandFeature = !this.treeConfig.showCheckBox;\r\n this.allowSelectFolder = this.treeConfig.allowSelectFolder;\r\n this.areaOfCurrentProcess = this.treeConfig.areaOfCurrentProcess;\r\n this.showCheckBox = this.treeConfig.showCheckBox;\r\n this.onlyCheckBoxForChild = this.treeConfig.onlyCheckBoxForChild;\r\n this.moduleId = this.treeConfig.moduleId;\r\n this.openIcon = this.treeConfig.openIcon;\r\n this.openIconColor = this.treeConfig.openIconColor ? this.treeConfig.openIconColor : this.openIconColor;\r\n this.closeIcon = this.treeConfig.closeIcon;\r\n this.closeIconColor = this.treeConfig.closeIconColor ? this.treeConfig.closeIconColor : this.closeIconColor;\r\n this.itemIcon = this.treeConfig.itemIcon;\r\n this.itemIconSvg = this.treeConfig.itemIconSvg;\r\n this.itemIconPath = this.treeConfig.itemIconPath;\r\n this.itemIconBase64 = this.domSanitizer.bypassSecurityTrustResourceUrl(this.treeConfig.itemIconBase64) as string;\r\n this.allowMultipleCheck = this.treeConfig.allowMultipleCheck;\r\n this.singleSelectedNode = this.treeConfig.singleSelectedNode;\r\n this.onlyFolder = this.treeConfig.onlyFolder;\r\n this.checklistSelection = new SelectionModel<TreeFlatNode>(this.allowMultipleCheck); /* true: multiple */\r\n\r\n this.displayType = this.getItemIconType(this.treeConfig);\r\n\r\n // Expand child node tree\r\n if (this.treeConfig.expandAll) {\r\n this.treeControl.expandAll();\r\n }\r\n\r\n // Risk Tree\r\n if (this.selectedRiskData.length) {\r\n const selectedData = [];\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n this.selectedRiskData.forEach(x => {\r\n const index = selectedData.findIndex(el => el.id === x.rootId);\r\n if (x.rootId === this.treeControl.dataNodes[i].id && index < 0) {\r\n selectedData.push(this.treeControl.dataNodes[i]);\r\n }\r\n });\r\n }\r\n\r\n this.checkSelected(selectedData);\r\n this.checkBoxEvent.emit(selectedData);\r\n }\r\n\r\n // Disable List\r\n if (this.disabledList.length) {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n this.disabledList.forEach(x => {\r\n if (x.id === this.treeControl.dataNodes[i].id\r\n && (!x.parentId || x.parentId === this.treeControl.dataNodes[i].parentId)) {\r\n this.treeControl.dataNodes[i].disabled = true;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n sortDataTree(obj) {\r\n if (obj.children) {\r\n let child = [];\r\n const leafNode = obj.children.filter(x => !x.children);\r\n const subFolderNode = obj.children.filter(x => x.children);\r\n // for(let index = subFolderNode.length - 1; index >= 0 ; index--){\r\n // let el = subFolderNode[index];\r\n // this.sortDataTree(el); \r\n // child.unshift(el); \r\n // }\r\n subFolderNode.forEach(element => {\r\n let el = element;\r\n this.sortDataTree(el);\r\n child.push(el);\r\n });\r\n\r\n leafNode.forEach(element => {\r\n let el = element;\r\n child.push(el);\r\n });\r\n obj.children = child;\r\n }\r\n return obj;\r\n }\r\n\r\n getImagePath() {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(this.treeConfig.itemIconBase64) as string;\r\n }\r\n\r\n checkSelected(itemSelected: TreeFlatNode[]) {\r\n setTimeout(() => {\r\n if (!this.treeControl['dataNodes']) return;\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n const tree = this.treeControl.dataNodes[i];\r\n this.checklistSelection.deselect(tree);\r\n\r\n for (let j = 0; j < itemSelected.length; j++) {\r\n const element = itemSelected[j];\r\n if (tree.id === element.id && (!element.parentId || tree.parentId === element.parentId) && !tree.disabled) {\r\n this.checklistSelection.select(tree);\r\n }\r\n }\r\n }\r\n }, 500);\r\n\r\n }\r\n\r\n checkSelectedSameNode(itemSelected: TreeFlatNode[], flag: boolean) {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n const tree = this.treeControl.dataNodes[i];\r\n for (let j = 0; j < itemSelected.length; j++) {\r\n const element = itemSelected[j];\r\n if (element.id && tree.id === element.id\r\n && tree.parentId === element.parentId && !tree.disabled) {\r\n flag ? this.checklistSelection.select(tree) : this.checklistSelection.deselect(tree);\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n private getItemIconType(treeConfig: TreeConfig) {\r\n if (treeConfig.itemIcon && treeConfig.itemIcon.length) return this.itemIconType.name;\r\n if (treeConfig.itemIconPath && treeConfig.itemIconPath.length) return this.itemIconType.path;\r\n if (treeConfig.itemIconBase64 && treeConfig.itemIconBase64.length) return this.itemIconType.base64;\r\n if (treeConfig.itemIconSvg && treeConfig.itemIconSvg.length) return this.itemIconType.svg;\r\n return this.itemIconType.none;\r\n }\r\n\r\n private transformer = (node: TreeNode, level: number) => {\r\n let checkHasChild = true;\r\n if (!node.children) {\r\n checkHasChild = false;\r\n } else if (!(!!node.children && node.children.length && node.children.length > 0)) {\r\n checkHasChild = false;\r\n }\r\n // tslint:disable-next-line:max-line-length\r\n else if (\r\n !!node.children &&\r\n node.children.length &&\r\n node.children.length === 1 &&\r\n !node.children[0].name.length &&\r\n node.id.toString() === this.areaOfCurrentProcess\r\n ) {\r\n checkHasChild = false;\r\n }\r\n\r\n if (!(this.listParentObj[node.id] === 1)) {\r\n checkHasChild = false;\r\n }\r\n\r\n return {\r\n expandable: !!node.children && node.children.length > 0,\r\n name: node.name,\r\n level,\r\n id: node.id,\r\n hasChild: checkHasChild,\r\n parentId: node.parentId,\r\n disabled: false,\r\n levelType: node.levelType\r\n };\r\n };\r\n\r\n treeFlattener = new MatTreeFlattener(\r\n this.transformer,\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n },\r\n (node) => {\r\n return node.children;\r\n }\r\n );\r\n\r\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\r\n\r\n\r\n /** Whether all the descendants of the node are selected */\r\n descendantsAllSelected(node: TreeFlatNode): boolean {\r\n\r\n const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];\r\n\r\n if (!descendants.length) {\r\n return this.checklistSelection.isSelected(node);\r\n }\r\n const selected = this.checklistSelection.isSelected(node);\r\n\r\n const allSelected = descendants.every(child => this.checklistSelection.isSelected(child));\r\n if (!selected && allSelected) {\r\n this.checklistSelection.select(node);\r\n this.cdRef.markForCheck();\r\n }\r\n return allSelected;\r\n\r\n }\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: TreeFlatNode): boolean {\r\n const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];\r\n\r\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\r\n todoItemSelectionToggle(node: TreeFlatNode): void {\r\n // tree have duplicate node\r\n if (this.treeConfig.canHaveDupId) {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === node.id\r\n && this.treeControl.dataNodes[i].parentId === node.parentId\r\n && !this.treeControl.dataNodes[i].disabled) {\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n } else {\r\n this.checklistSelection.toggle(node);\r\n }\r\n\r\n\r\n // process/ document single selected\r\n if (this.singleSelectedNode) {\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n\r\n } else {\r\n const descendants = this.treeControl.getDescendants(node).filter(item => !item.disabled);\r\n\r\n this.checkSelectedSameNode(descendants, this.descendantsAllSelected(node));\r\n\r\n !this.descendantsAllSelected(node)\r\n ? this.checklistSelection.select(...descendants)\r\n : this.checklistSelection.deselect(...descendants);\r\n\r\n this.cdRef.markForCheck();\r\n\r\n const allNodeIsParent = this.checklistSelection.selected.every(child => child.expandable);\r\n if (allNodeIsParent) {\r\n this.checklistSelection.selected.forEach(element => {\r\n this.checklistSelection.deselect(element);\r\n });\r\n }\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n }\r\n\r\n\r\n }\r\n\r\n todoChildSelectionToggle(node: TreeFlatNode): void {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === node.id\r\n && this.treeControl.dataNodes[i].parentId === node.parentId\r\n && !this.treeControl.dataNodes[i].disabled) {\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n // this.checklistSelection.toggle(node);\r\n this.cdRef.markForCheck();\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n\r\n }\r\n\r\n public todoItemSelectionById(ids: any[]): void {\r\n ids.forEach(\r\n id => {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === id\r\n && !this.treeControl.dataNodes[i].disabled) {\r\n if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n }\r\n )\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n }\r\n\r\n public todoItemSelection(nodes: TreeNode[]): void {\r\n nodes.forEach(\r\n node => {\r\n for (let i = 0; i < this.treeControl.dataNodes.length; i++) {\r\n if (this.treeControl.dataNodes[i].id === node.id &&\r\n this.treeControl.dataNodes[i].parentId === node.parentId &&\r\n !this.treeControl.dataNodes[i].disabled) {\r\n if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))\r\n this.checklistSelection.toggle(this.treeControl.dataNodes[i]);\r\n }\r\n }\r\n }\r\n )\r\n this.checkBoxEvent.emit(this.checklistSelection.selected);\r\n }\r\n\r\n hasChild = (_: number, node: TreeFlatNode) => {\r\n return node.expandable;\r\n };\r\n\r\n selectNode(node: TreeFlatNode) {\r\n if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {\r\n window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');\r\n }\r\n\r\n this.selectNodeEvent.emit(node);\r\n }\r\n\r\n selectFolder(node: TreeFlatNode) {\r\n this.selectFolderEvent.emit(node);\r\n }\r\n\r\n onExpandNode(node: TreeFlatNode, isExpandNode?: boolean) {\r\n if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {\r\n window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');\r\n }\r\n // set useExpandFeature = true to improve performance of tree loading\r\n if (!isExpandNode || !this.useExpandFeature) {\r\n for (let i = 0; i < this.arrIndex.length; i++) {\r\n if (this.arrIndex[i] === node.id) {\r\n this.arrIndex.splice(i, 1);\r\n }\r\n }\r\n if(isExpandNode){\r\n this.nodeExpandEvent.emit(node);\r\n }\r\n return;\r\n }\r\n\r\n \r\n\r\n // get array index to expand node after refresh datasource\r\n let index = 0;\r\n let isChange = false;\r\n let isRemove = false;\r\n this.arrIndex.push(node.id);\r\n\r\n const childArray = this.treeData.filter((x) => {\r\n return x.parentId === node.id;\r\n });\r\n let rootId = '0';\r\n let parentElement: TreeNode;\r\n let childrenList: TreeNode[];\r\n if (childArray.length === 0) {\r\n return;\r\n }\r\n childArray.forEach((item) => {\r\n if (item.rootId === rootId) {\r\n return;\r\n }\r\n\r\n // get child node from original datasource\r\n const child = this.getChildNode(item.rootId, childArray);\r\n rootId = item.rootId;\r\n\r\n index = this.getNodeIndex(child.id, undefined, this.dataSource['_treeControl'].dataNodes);\r\n if (index > -1) {\r\n return;\r\n }\r\n\r\n // add child node to expand node\r\n parentElement = this.findParentNode(node.id, this.dataSource.data);\r\n if (parentElement) {\r\n // temporary remove all node without children => purpose to add node folder first\r\n if (!isRemove) {\r\n childrenList = [...parentElement.children];\r\n this.removeChildren(parentElement);\r\n isRemove = true;\r\n }\r\n // add node folder first\r\n parentElement.children.push(child);\r\n isChange = true;\r\n }\r\n });\r\n // add node without children again\r\n if (isRemove) {\r\n this.addChildren(parentElement, childrenList);\r\n }\r\n\r\n // refresh data and expand tree node from root node\r\n if (isChange) {\r\n this.refreshTreeData();\r\n this.arrIndex.forEach((item) => {\r\n index = this.getNodeIndex(item, undefined, this.dataSource['_treeControl'].dataNodes);\r\n this.treeControl.expand(this.treeControl.dataNodes[index]);\r\n });\r\n isChange = false;\r\n }\r\n }\r\n\r\n removeChildren(parentElement?: TreeNode) {\r\n if (parentElement.children) {\r\n parentElement.children.length = 0;\r\n }\r\n }\r\n\r\n addChildren(parentElement?: TreeNode, childrenList?: TreeNode[]) {\r\n if (childrenList) {\r\n childrenList.forEach((e) => {\r\n parentElement.children.push(e);\r\n });\r\n }\r\n }\r\n\r\n getNodeIndex(id: string, level?: number, data?: any[]) {\r\n if (level) {\r\n return data.findIndex((x) => {\r\n return x.id === id && x.level === level;\r\n });\r\n }\r\n\r\n return data.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n }\r\n\r\n getChildNode(rootId: string, data: any) {\r\n const childArray = data.filter((x) => {\r\n return x.rootId === rootId;\r\n });\r\n const child = { id: childArray[0].rootId, name: childArray[0].subName, children: [] } as TreeNode;\r\n childArray.forEach((item) => {\r\n child.children.push({ id: item.childId, name: item.childName, parentId: rootId });\r\n });\r\n return child;\r\n }\r\n\r\n findParentNode(id: string, data: TreeNode[]) {\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentFather of data) {\r\n if (currentFather.id === id) {\r\n return currentFather;\r\n }\r\n\r\n if (currentFather.children) {\r\n const currentChild = currentFather.children.find((x) => {\r\n return x.id === id;\r\n });\r\n if (currentChild) {\r\n return currentChild;\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentChild1 of currentFather.children) {\r\n if (id !== currentChild1.id) {\r\n const result = this.findParentNode(id, currentFather.children);\r\n if (result !== false) {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n refreshTreeData() {\r\n const data = this.dataSource.data;\r\n this.dataSource.data = [];\r\n this.dataSource.data = data;\r\n }\r\n\r\n getNodeIcon(node: TreeFlatNode) {\r\n if (this.openIcon && this.closeIcon) {\r\n return this.treeControl.isExpanded(node) ? this.openIcon : this.closeIcon;\r\n }\r\n switch (this.moduleId) {\r\n case DataType.document: {\r\n const nodeData = this.treeData.filter(x => { return x.rootId === node.id; });\r\n if (nodeData.length > 0) {\r\n switch (nodeData[0].levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return this.treeControl.isExpanded(node) ? 'department_folder_outlined' : 'department_folder';\r\n case DocumentNodeType.RegionalFolder:\r\n return this.treeControl.isExpanded(node) ? 'regional_folder_outlined' : 'regional_folder';\r\n case DocumentNodeType.TopFolder:\r\n return this.treeControl.isExpanded(node) ? 'enterprise_folder_outlined' : 'enterprise_folder';\r\n case DocumentNodeType.Folder:\r\n return this.treeControl.isExpanded(node) ? 'local_folder_outlined' : 'local_folder';\r\n default:\r\n return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';\r\n }\r\n }\r\n return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';\r\n }\r\n case DataType.process:\r\n return this.treeControl.isExpanded(node) ? 'process_area_outlined' : 'process_area';\r\n default:\r\n return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';\r\n }\r\n }\r\n\r\n getItemIcon(node) {\r\n switch (this.moduleId) {\r\n case DataType.document:\r\n switch (node.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'document_department';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'document_regional';\r\n case DocumentNodeType.TopFolder:\r\n return 'document_enterprise';\r\n case DocumentNodeType.Folder:\r\n return 'document_local';\r\n default:\r\n return 'document';\r\n }\r\n case DataType.process:\r\n return 'process';\r\n case DataType.checklist:\r\n return 'checklist';\r\n case DataType.deviation:\r\n return 'deviation';\r\n case DataType.risk:\r\n return 'risk';\r\n default:\r\n return 'document';\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, EventEmitter, OnDestroy, ViewChild, ViewEncapsulation, AfterViewChecked, QueryList, ViewChildren } from '@angular/core';\r\nimport { Component, HostListener, Inject, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { DataType } from '../common/data-type.enum';\r\nimport { ModuleType } from '../common/module-type.enum';\r\nimport { RelatedConst } from '../common/related.const';\r\nimport { PopupData } from '../model/popup-data.model';\r\nimport { IRelated, RelatedItem } from '../model/related-data.model';\r\nimport { SelectedNode } from '../model/selected-node.model';\r\nimport { TreeConfig } from '../model/tree-config.model';\r\nimport { TreeModel } from '../model/tree.model';\r\nimport { QMSRelatedGlobalService } from '../service/related-global.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { CHECKLIST_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, RISK_ICON } from '../common/qms-icon.const';\r\nimport { TreeComponent } from '../tree/tree.component';\r\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { TreeNode } from '../../../qms-ckeditor-components/common/models/qms-ckeditor-tree-node.model';\r\nimport { DocumentNodeType } from '../common/document-folder-type.enum';\r\nimport { QMSIconRegistryService } from '../../app-icon/icon-registry.service';\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n parentId?: string;\r\n disabled: boolean;\r\n levelType?: number;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-related-popup',\r\n templateUrl: './related-popup.component.html',\r\n styleUrls: ['./related-popup.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelatedPopupComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n ngUnsubscribe = new Subject<void>();\r\n\r\n LANG: any;\r\n moduleId = 0;\r\n moduleName = '';\r\n treeData1: Array<TreeModel> = [];\r\n treeData2: Array<TreeModel> = [];\r\n treeConfig1: TreeConfig;\r\n treeConfig2: TreeConfig;\r\n\r\n checkedNodeList: Array<SelectedNode> = [];\r\n selectedNode: Array<SelectedNode> = [];\r\n selectedData: Array<TreeFlatNode> = [];\r\n selectedData2: Array<TreeFlatNode> = [];\r\n\r\n commonCheckedList: Array<TreeFlatNode> = [];\r\n documentCheckedList: Array<TreeFlatNode> = [];\r\n singleProcessList: Array<SelectedNode> = [];\r\n singleDocumentList: Array<SelectedNode> = [];\r\n splitView: boolean;\r\n\r\n module = ModuleType;\r\n dataType = DataType;\r\n itemType = 0;\r\n selectedRiskData: any = [];\r\n disabledList: any = [];\r\n disabledList2: any = [];\r\n maxSelectItemCount: number;\r\n\r\n isDocumentExpanded = true;\r\n isCommonExpanded = true;\r\n singleSelectedNode = false;\r\n searchOrder = [];\r\n\r\n myControl = new FormControl();\r\n filteredOptions: IRelated[] = [];\r\n isInputValue = false;\r\n\r\n itemInSplitview: IRelated[] = [];\r\n selectedFolder: TreeFlatNode = null;\r\n splitViewTitle: string = null;\r\n\r\n onSearch = new EventEmitter();\r\n onExpandFolder = new EventEmitter<IRelated>();\r\n\r\n @ViewChildren(TreeComponent, {}) dataTrees: QueryList<TreeComponent>;\r\n\r\n @ViewChild('autoCompleteInputSearch', { read: MatAutocompleteTrigger, static: true })\r\n autoComplete: MatAutocompleteTrigger;\r\n constructor(\r\n private cdRef: ChangeDetectorRef,\r\n public translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<RelatedPopupComponent>,\r\n public globalService: QMSRelatedGlobalService,\r\n private iconRegistry: MatIconRegistry,\r\n private sanitizer: DomSanitizer,\r\n private appIconService: QMSIconRegistryService,\r\n @Inject(MAT_DIALOG_DATA) public data: PopupData\r\n ) {\r\n this.moduleId = data.moduleId;\r\n this.moduleName = data.moduleName;\r\n this.treeData1 = data.treeData1;\r\n this.treeData2 = data.treeData2;\r\n this.treeConfig1 = data.treeConfig1;\r\n this.treeConfig2 = data.treeConfig2;\r\n this.selectedRiskData = data?.selectedNode || [];\r\n this.singleSelectedNode = data.treeConfig1.singleSelectedNode;\r\n this.disabledList = data.disabledList || [];\r\n this.disabledList2 = data.disabledList2 || [];\r\n this.splitView = data.splitView;\r\n this.maxSelectItemCount = data.maxSelectItemCount;\r\n appIconService.registerProcessIcon(iconRegistry, sanitizer);\r\n appIconService.registerProcessAreaIcon(iconRegistry, sanitizer);\r\n appIconService.registerDocumentIcon(iconRegistry, sanitizer);\r\n appIconService.registerFolderIcon(iconRegistry, sanitizer);\r\n appIconService.registerDeviationIcon(iconRegistry, sanitizer);\r\n appIconService.registerChecklistIcon(iconRegistry, sanitizer);\r\n appIconService.registerRiskIcon(iconRegistry, sanitizer);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.ngUnsubscribe.next();\r\n this.ngUnsubscribe.complete();\r\n this.globalService.setSearchRelated([]);\r\n this.selectedFolder = null;\r\n this.globalService.setSplitviewValue([]);\r\n }\r\n\r\n @HostListener('window:message', ['$event'])\r\n onMessage(event) {\r\n if (event.data === RelatedConst.HIDE_SEARCH_RESULT) {\r\n this.autoComplete.closePanel();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n\r\n this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {\r\n if (res && res.length) {\r\n this.filteredOptions = res;\r\n }\r\n });\r\n\r\n this.globalService.splitViewValue.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {\r\n if (res) {\r\n this.itemInSplitview = res;\r\n }\r\n });\r\n\r\n this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {\r\n this.isInputValue = true;\r\n this.onSearchRelated(val);\r\n });\r\n\r\n this.itemType = this.getDataTypeId(this.moduleId);\r\n this.searchOrder = this.getSearchOrder();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdRef.detectChanges();\r\n if (this.filteredOptions && this.filteredOptions.length) {\r\n this.autoComplete.openPanel();\r\n this.setResultHeight();\r\n } else if (this.autoComplete) {\r\n this.autoComplete.closePanel();\r\n }\r\n }\r\n\r\n getDataTypeId(moduleId: number) {\r\n let itemType;\r\n switch (moduleId) {\r\n case ModuleType.documentProcess:\r\n itemType = this.dataType.process;\r\n break;\r\n case ModuleType.deviation:\r\n itemType = this.dataType.deviation;\r\n break;\r\n case ModuleType.checklist:\r\n itemType = this.dataType.checklist;\r\n break;\r\n case ModuleType.risk:\r\n itemType = this.dataType.risk;\r\n break;\r\n default:\r\n itemType = this.dataType.document;\r\n break;\r\n }\r\n return itemType;\r\n }\r\n\r\n removeCheckedNodeList(item: TreeFlatNode) {\r\n this.selectedData = [];\r\n this.selectedData2 = [];\r\n\r\n this.checkedNodeList = this.checkedNodeList.filter(x => (x.id.toLowerCase() !== item.id.toLowerCase() || x.parentId.toLowerCase() !== item.parentId.toLowerCase()));\r\n const tempArr = [];\r\n const tempArrDocument = [];\r\n const newSelectProcessList = [];\r\n const newSelectDocumentList = [];\r\n\r\n\r\n this.commonCheckedList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {\r\n tempArr.push(element);\r\n }\r\n });\r\n });\r\n\r\n this.singleProcessList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {\r\n newSelectProcessList.push(element);\r\n }\r\n });\r\n });\r\n\r\n this.singleProcessList = newSelectProcessList;\r\n this.selectedData = [...tempArr];\r\n\r\n this.documentCheckedList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {\r\n tempArrDocument.push(element);\r\n }\r\n });\r\n });\r\n\r\n this.singleDocumentList.forEach(element => {\r\n this.checkedNodeList.forEach(x => {\r\n if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {\r\n newSelectDocumentList.push(element);\r\n }\r\n });\r\n });\r\n this.singleDocumentList = newSelectDocumentList;\r\n this.selectedData2 = [...tempArrDocument];\r\n }\r\n\r\n isMatchTrue(arr: any[], arr2: any[]) {\r\n return arr.every((i) => {\r\n return arr2.includes(i);\r\n });\r\n }\r\n\r\n setResultHeight(arr?: IRelated[]) {\r\n let maxHeight = 484;\r\n const popup_content = document.getElementsByClassName('qmslib_related_popup_content')[0] as HTMLElement;\r\n const line__divider = document.getElementsByClassName('line__divider')[0] as HTMLElement;\r\n if (popup_content && line__divider) {\r\n maxHeight = this.getOffsetHeight(popup_content, true) + this.getOffsetHeight(line__divider, true) * 2;\r\n }\r\n\r\n const contentResult = document.getElementsByClassName('cdk-virtual-scroll-content-wrapper')[0] as HTMLElement;\r\n const viewreports = document.getElementsByClassName('related-viewport')[0] as HTMLElement;\r\n\r\n if (viewreports) {\r\n if (contentResult.offsetHeight <= maxHeight) {\r\n viewreports.style.height = `${contentResult.offsetHeight}px`;\r\n }\r\n else {\r\n viewreports.style.height = `${maxHeight}px`;\r\n }\r\n }\r\n }\r\n\r\n onSearchRelated(_val: any) {\r\n this.filteredOptions = [];\r\n if (typeof (_val) === 'object') {\r\n this.myControl.setValue('');\r\n }\r\n else if (typeof (_val) === 'string') {\r\n if (!!_val) {\r\n this.onSearch.emit(_val);\r\n }\r\n }\r\n }\r\n\r\n getModuleFilteredOptions(moduleId: number) {\r\n return this.filteredOptions.filter(x => x.itemType === moduleId);\r\n }\r\n\r\n showSearchResult() {\r\n this.autoComplete.openPanel();\r\n }\r\n\r\n displayRelated(related?: IRelated): string | undefined {\r\n return related ? related.itemName : undefined;\r\n }\r\n\r\n selectRelated(item: IRelated) {\r\n let index = -1;\r\n this.selectedNode = [];\r\n if (this.treeConfig1.showCheckBox) {\r\n index = this.checkedNodeList.findIndex(x => {\r\n return x.id === item.id && x.parentId === item.parentId;\r\n });\r\n }\r\n\r\n if (index < 0) {\r\n let position = -1;\r\n let node: any;\r\n let typeId: number;\r\n\r\n if (item.itemType === this.dataType.document) {\r\n // document\r\n position = this.treeData2.findIndex(x => {\r\n return x.childId === item.id;\r\n });\r\n node = this.treeData2[position];\r\n typeId = this.dataType.document;\r\n this.dataTrees.toArray()[1].todoItemSelectionById([item.id]);\r\n }\r\n else if (item.itemType === this.dataType.folder) {\r\n position = this.treeData2.findIndex(x => {\r\n return x.rootId === item.id;\r\n });\r\n node = this.treeData2[position];\r\n typeId = item.itemType;\r\n if (position >= 0) {\r\n if (this.treeConfig2.showCheckBox) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.itemName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId,\r\n levelType: item.levelType\r\n });\r\n }\r\n else {\r\n this.selectedNode.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.itemName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId,\r\n levelType: item.levelType\r\n });\r\n }\r\n this.dataTrees.toArray()[1].todoItemSelectionById([item.id]);\r\n }\r\n return;\r\n }\r\n else if (item.itemType === this.dataType.deviationType\r\n || item.itemType === this.dataType.checklistCategory\r\n || item.itemType === this.dataType.riskFolder) {\r\n position = this.treeData1.findIndex(x => {\r\n return x.rootId === item.id;\r\n });\r\n this.selectNodeRecursive(this.treeData1[position], item.itemType);\r\n }\r\n else if (item.itemType === this.dataType.area) {\r\n position = this.treeData1.findIndex(x => {\r\n return x.rootId === item.id;\r\n });\r\n node = this.treeData1[position];\r\n typeId = item.itemType;\r\n\r\n if (position >= 0) {\r\n if (this.treeConfig1.showCheckBox) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: node.rootId,\r\n itemName: node.rootName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId,\r\n levelType: item.levelType\r\n });\r\n }\r\n else {\r\n this.selectedNode.push({\r\n moduleId: this.moduleId,\r\n id: node.rootId,\r\n itemName: node.rootName,\r\n itemType: typeId,\r\n itemNumberId: item.itemNumberId,\r\n levelType: item.levelType\r\n });\r\n }\r\n }\r\n this.dataTrees.toArray()[0].todoItemSelectionById([item.id]);\r\n return;\r\n }\r\n else if (item.itemType === this.dataType.deviation ||\r\n item.itemType === this.dataType.checklist) {\r\n position = this.treeData1.findIndex(x => {\r\n return x.childId === item.id && x.rootId === item.parentId;\r\n });\r\n node = this.treeData1[position];\r\n typeId = this.itemType;\r\n const treeNode = {\r\n id: node.childId,\r\n name: node.childName,\r\n children: [],\r\n parentId: node.rootId\r\n };\r\n this.dataTrees.toArray()[0].todoItemSelection([treeNode]);\r\n }\r\n else {\r\n // process, risk,...\r\n position = this.treeData1.findIndex(x => {\r\n return x.childId.toLowerCase() === item.id.toLowerCase();\r\n });\r\n node = this.treeData1[position];\r\n typeId = this.itemType;\r\n if (node) {\r\n this.dataTrees.toArray()[0].todoItemSelectionById([node.childId]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n selectNodeRecursive(item: TreeModel, itemType: DataType) {\r\n let position = this.treeData1.findIndex(x => {\r\n return x.rootId === item.rootId;\r\n });\r\n\r\n if (position >= 0) {\r\n\r\n const node: TreeNode = {\r\n id: item.rootId,\r\n name: item.rootName,\r\n children: [],\r\n parentId: item.parentId\r\n };\r\n\r\n let nodeChildren: TreeNode[] = this.treeData1.\r\n filter(x => x.rootId === item.rootId).\r\n map(x => {\r\n return {\r\n id: x.childId,\r\n name: item.childName,\r\n children: [],\r\n parentId: item.rootId\r\n };\r\n });\r\n let nodeSubfolders: TreeModel[] = this.treeData1.\r\n filter(x => x.parentId === item.rootId);\r\n\r\n if (this.treeConfig1.showCheckBox) {\r\n nodeChildren.forEach(x => {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: x.id,\r\n itemName: x.name,\r\n itemType: itemType,\r\n itemNumberId: item.displayId.toString(),\r\n parentId: item.rootId\r\n });\r\n });\r\n }\r\n else {\r\n nodeChildren.forEach(x => {\r\n this.selectedNode.push({\r\n moduleId: this.moduleId,\r\n id: x.id,\r\n itemName: x.name,\r\n itemType: itemType,\r\n itemNumberId: item.displayId.toString(),\r\n parentId: item.rootId\r\n });\r\n });\r\n }\r\n\r\n this.dataTrees.toArray()[0].todoItemSelection([node].concat(nodeChildren));\r\n if (nodeSubfolders) {\r\n nodeSubfolders.forEach(folder => {\r\n this.selectNodeRecursive(folder, itemType);\r\n });\r\n }\r\n }\r\n return;\r\n }\r\n\r\n setTypeProcess(expand) {\r\n return expand ? this.dataType.area : this.dataType.process;\r\n }\r\n\r\n getCommonCheckedNode(list: Array<TreeFlatNode>) {\r\n this.checkedNodeList = [];\r\n this.commonCheckedList = [];\r\n this.singleProcessList = [];\r\n this.checkedNodeList = [...this.singleDocumentList];\r\n\r\n if (list.length) {\r\n list.forEach(item => {\r\n const index = this.checkedNodeList.findIndex(x => x.id === item.id && x.parentId === item.parentId);\r\n\r\n if (item.id && index < 0) {\r\n this.commonCheckedList.push(item);\r\n }\r\n\r\n if (this.singleSelectedNode) {\r\n let position: number;\r\n if (item.expandable) {\r\n position = this.treeData1.findIndex(p => p.rootId === item.id);\r\n }\r\n else {\r\n position = this.treeData1.findIndex(p => p.childId === item.id);\r\n }\r\n if (position > -1) {\r\n this.singleProcessList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: (this.itemType === 2) ? this.setTypeProcess(item.expandable) : this.itemType,\r\n itemNumberId: this.treeData1[position].displayId.toString(),\r\n parentId: item.parentId,\r\n levelType: item.levelType\r\n });\r\n }\r\n }\r\n\r\n\r\n if (item.id && index < 0 && !item.expandable && !this.singleSelectedNode) {\r\n const position = this.treeData1.findIndex(p => p.childId === item.id && p.rootId === item.parentId);\r\n if (position > -1) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: this.itemType,\r\n parentId: item.parentId,\r\n parentName: this.treeData1[position].parentId ? this.treeData1[position].subName : this.treeData1[position].rootName,\r\n itemNumberId: this.treeData1[position].displayId.toString(),\r\n levelType: item.levelType\r\n });\r\n }\r\n }\r\n });\r\n\r\n if (this.singleSelectedNode) {\r\n this.checkedNodeList = [...this.checkedNodeList, ...this.singleProcessList];\r\n }\r\n\r\n if(this.maxSelectItemCount && this.maxSelectItemCount > 0){\r\n const removeList = this.checkedNodeList.slice(0, this.maxSelectItemCount * -1);\r\n if(removeList.length){\r\n removeList.forEach(item => {\r\n this.removeCheckedNodeList({\r\n id: item.id,\r\n name: item.itemName,\r\n parentId: item.parentId,\r\n level: 0,\r\n expandable: true,\r\n hasChild: true,\r\n disabled: false\r\n })\r\n })\r\n }\r\n this.checkedNodeList = this.checkedNodeList.slice(this.maxSelectItemCount * -1);\r\n }\r\n }\r\n }\r\n\r\n getDocumentCheckedNode(list: Array<TreeFlatNode>) {\r\n this.checkedNodeList = [];\r\n this.documentCheckedList = [];\r\n this.singleDocumentList = [];\r\n this.checkedNodeList = [...this.singleProcessList];\r\n\r\n\r\n if (list.length) {\r\n list.forEach(item => {\r\n const index = this.checkedNodeList.findIndex(x => x.id === item.id);\r\n\r\n if (item.id && index < 0) {\r\n this.documentCheckedList.push(item);\r\n }\r\n\r\n if (this.singleSelectedNode) {\r\n let position: number;\r\n if (item.expandable) {\r\n position = this.treeData2.findIndex(p => p.rootId === item.id);\r\n }\r\n else {\r\n position = this.treeData2.findIndex(p => p.childId === item.id);\r\n }\r\n if (position > -1) {\r\n this.singleDocumentList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: item.expandable ? this.dataType.folder : this.dataType.document,\r\n itemNumberId: this.treeData2[position].displayId.toString(),\r\n parentId: item.parentId,\r\n levelType: item.levelType\r\n });\r\n }\r\n\r\n }\r\n\r\n\r\n if (index < 0 && !item.expandable && !this.singleSelectedNode) {\r\n const position = this.treeData2.findIndex(p => p.childId === item.id);\r\n if (position > -1) {\r\n this.checkedNodeList.push({\r\n moduleId: this.moduleId,\r\n id: item.id,\r\n itemName: item.name,\r\n itemType: this.dataType.document,\r\n itemNumberId: this.treeData2[position].displayId.toString(),\r\n parentId: item.parentId,\r\n parentName: this.treeData2[position].rootName,\r\n levelType: item.levelType\r\n });\r\n }\r\n }\r\n });\r\n\r\n if (this.singleSelectedNode) {\r\n this.checkedNodeList = [...this.checkedNodeList, ...this.singleDocumentList];\r\n }\r\n\r\n if(this.maxSelectItemCount && this.maxSelectItemCount > 0){\r\n const removeList = this.checkedNodeList.slice(0, this.maxSelectItemCount * -1);\r\n if(removeList.length){\r\n removeList.forEach(item => {\r\n this.removeCheckedNodeList({\r\n id: item.id,\r\n name: item.itemName,\r\n parentId: item.parentId,\r\n level: 0,\r\n expandable: true,\r\n hasChild: true,\r\n disabled: false\r\n })\r\n })\r\n }\r\n this.checkedNodeList = this.checkedNodeList.slice(this.maxSelectItemCount * -1);\r\n }\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n this.selectedFolder = null;\r\n this.itemInSplitview = [];\r\n this.dialogRef.close();\r\n };\r\n\r\n onAddClick() {\r\n // if (this.treeConfig1.showCheckBox) {\r\n this.selectedFolder = null;\r\n this.itemInSplitview = [];\r\n this.dialogRef.close(this.checkedNodeList);\r\n // }\r\n // else {\r\n // this.dialogRef.close(this.selectedNode);\r\n // }\r\n }\r\n\r\n getOffsetHeight(element: HTMLElement, includeMargin: boolean): number {\r\n let elmHeight = 0, elmMargin = 0;\r\n\r\n elmHeight = element.offsetHeight;\r\n if (includeMargin) {\r\n const style = window.getComputedStyle(element);\r\n elmMargin = parseFloat(style.marginTop.replace('px', '')) + parseFloat(style.marginBottom.replace('px', ''));\r\n }\r\n\r\n return (elmHeight + elmMargin);\r\n }\r\n\r\n getItemChipName(item: SelectedNode) {\r\n if (item.itemType === DataType.checklist || item.itemType === DataType.deviation) {\r\n return item.parentName ? `${item.parentName}/${item.itemName}` : item.itemName;\r\n }\r\n return item.itemName;\r\n }\r\n\r\n isEllipsisActive(e: HTMLElement): boolean {\r\n return e ? (e.clientWidth < e.scrollWidth) : false;\r\n }\r\n\r\n getNodeIcon(item: IRelated) {\r\n switch (item.itemType) {\r\n case DataType.folder: {\r\n switch (item.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'department_folder_outlined';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'regional_folder_outlined';\r\n case DocumentNodeType.TopFolder:\r\n return 'enterprise_folder_outlined';\r\n case DocumentNodeType.Folder:\r\n return 'local_folder_outlined';\r\n default:\r\n return 'folder_outlined';\r\n }\r\n }\r\n case DataType.document: {\r\n switch (item.levelType) {\r\n case DocumentNodeType.DepartmentFolder:\r\n return 'document_department';\r\n case DocumentNodeType.RegionalFolder:\r\n return 'document_regional';\r\n case DocumentNodeType.TopFolder:\r\n return 'document_enterprise';\r\n case DocumentNodeType.Folder:\r\n return 'document_local';\r\n default:\r\n return 'document';\r\n }\r\n }\r\n case DataType.area:\r\n return 'process_area_outlined';\r\n case DataType.process:\r\n return 'process';\r\n case DataType.deviation:\r\n return 'deviation';\r\n case DataType.checklist:\r\n return 'checklist';\r\n case DataType.risk:\r\n return 'risk';\r\n default:\r\n return 'folder_outlined';\r\n }\r\n }\r\n\r\n getSearchOrder() {\r\n let searchTypes = Object.keys(this.dataType)\r\n .map(key => ({ value: this.dataType[key], key: key }));\r\n searchTypes = searchTypes.slice(searchTypes.length / 2);\r\n return searchTypes;\r\n }\r\n\r\n getTitle(type: number) {\r\n switch (type) {\r\n case DataType.process:\r\n return this.LANG.PROCESSES;\r\n case DataType.area:\r\n return this.LANG.PROCESS_AREA;\r\n case DataType.document:\r\n return this.LANG.DOCUMENTS;\r\n case DataType.folder:\r\n return this.LANG.FOLDER;\r\n case DataType.deviation:\r\n return this.LANG.DEVIATION;\r\n case DataType.deviationType:\r\n return this.LANG.DEVIATION_TYPE;\r\n case DataType.checklist:\r\n return this.LANG.CHECKLIST;\r\n case DataType.checklistCategory:\r\n return this.LANG.CHECKLIST_CATEGORY;\r\n case DataType.risk:\r\n return this.LANG.ASSESSMENT;\r\n case DataType.riskFolder:\r\n return this.LANG.FOLDER;\r\n }\r\n }\r\n\r\n getParentName(item: IRelated) {\r\n if (item.itemType === this.dataType.checklist || item.itemType === this.dataType.deviation) {\r\n return item.parentName;\r\n }\r\n return null;\r\n }\r\n\r\n getItemId(item: IRelated) {\r\n if (item.itemType === this.dataType.process) {\r\n return `${this.LANG.PROCESS_ID}: ${item.itemNumberId}; ${item.statusName}`;\r\n }\r\n else if (item.itemType === this.dataType.document) {\r\n return `${this.LANG.DOCUMENT_ID}: ${item.itemNumberId}; ${item.statusName}`;\r\n }\r\n return null;\r\n }\r\n\r\n toggleSelectItem(node: IRelated) {\r\n const selectedNode = this.checkedNodeList.find(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase()));\r\n if (selectedNode) {\r\n this.removeCheckedNodeList({\r\n id: selectedNode.id,\r\n name: node.itemName,\r\n parentId: selectedNode.parentId,\r\n hasChild: false,\r\n expandable: false,\r\n level: 0,\r\n disabled: false,\r\n });\r\n }\r\n else {\r\n this.selectRelated(node);\r\n }\r\n }\r\n\r\n isNodeSelected(node) {\r\n return this.checkedNodeList.filter(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase())).length > 0;\r\n }\r\n\r\n\r\n getChildrenOfFolder(node: TreeFlatNode, type: DataType) {\r\n if (this.splitView) {\r\n let item = new IRelated();\r\n item.id = node.id;\r\n item.itemType = type;\r\n item.itemName = node.name;\r\n item.levelType = node.levelType;\r\n this.selectedFolder = node;\r\n if (type === this.dataType.folder) {\r\n this.splitViewTitle = `${this.LANG.MESSAGE.DOCUMENTS_IN.toUpperCase()} \"${node.name}\"`;\r\n }\r\n else if (type === this.dataType.area) {\r\n this.splitViewTitle = `${this.LANG.MESSAGE.PROCESSES_IN.toUpperCase()} \"${node.name}\"`;\r\n }\r\n this.onExpandFolder.emit(item);\r\n }\r\n }\r\n}\r\n","import { TreeConfig } from \"./tree-config.model\";\r\nimport { TreeModel } from \"./tree.model\";\r\n\r\nexport class RiskAnalysis {\r\n title: string;\r\n dangers: Array<TreeModel>;\r\n dangerConfig: TreeConfig;\r\n selectedDangers: any;\r\n disabledList?: Array<any>;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.dangers = [];\r\n this.selectedDangers = [];\r\n this.disabledList = [];\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { DataType } from \"../../common/data-type.enum\";\r\nimport { AnalysisDanger } from \"../../model/analysis-danger.model\";\r\nimport { RiskAnalysis } from \"../../model/risk-analysis.model\";\r\nimport { TreeConfig } from \"../../model/tree-config.model\";\r\nimport { TreeModel } from \"../../model/tree.model\";\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n disabled: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-risk-analysis',\r\n templateUrl: './analysis.component.html',\r\n styleUrls: ['./analysis.component.scss']\r\n})\r\nexport class RiskAnalysisComponent implements OnInit {\r\n LANG: any;\r\n title: string;\r\n dangers: Array<TreeModel> = [];\r\n dangerConfig: TreeConfig;\r\n analysisDanger: Array<AnalysisDanger> = [];;\r\n\r\n selectedData = [];\r\n nodeCheckedItem = [];\r\n disabledList = [];\r\n\r\n riskData: Array<any> = [];\r\n riskConfig: TreeConfig;\r\n\r\n constructor(\r\n public translate: TranslateLibraryService,\r\n private dialog: MatDialog,\r\n public dialogRef: MatDialogRef<RiskAnalysisComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: RiskAnalysis\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n\r\n this.title = this.data.title;\r\n this.dangers = this.data.dangers;\r\n this.dangerConfig = this.data.dangerConfig;\r\n this.selectedData = [...this.data.selectedDangers];\r\n this.disabledList = this.data.disabledList || [];\r\n\r\n // cheat not null when selected\r\n if (this.data.selectedDangers.length) {\r\n this.analysisDanger.push({\r\n analysisId: 1,\r\n analysisName: 'string',\r\n dangerId: 1,\r\n dangerName: 'string',\r\n });\r\n }\r\n\r\n this.riskConfig = {\r\n allowSelectFolder: false,\r\n areaOfCurrentProcess: '',\r\n showCheckBox: true,\r\n allowMultipleCheck: true,\r\n onlyCheckBoxForChild: false,\r\n moduleId: DataType.risk,\r\n openIcon: 'keyboard_arrow_up',\r\n openIconColor: '#1954A9',\r\n closeIcon: 'keyboard_arrow_down',\r\n closeIconColor: '',\r\n itemIcon: 'border_all',\r\n itemIconPath: '',\r\n itemIconBase64: '',\r\n singleSelectedNode: false,\r\n canHaveDupId: false\r\n };\r\n }\r\n\r\n toggleChileNode(list: Array<TreeFlatNode>) {\r\n this.analysisDanger = [];\r\n this.nodeCheckedItem = [];\r\n\r\n\r\n if (list.length) {\r\n this.dangers.forEach(el => {\r\n list.forEach(x => {\r\n if (x.id === el.childId) {\r\n // keep array node selected\r\n this.nodeCheckedItem.push(x);\r\n // create format show analysis \r\n this.analysisDanger.push({\r\n analysisId: +el.rootId,\r\n analysisName: el.rootName,\r\n dangerId: +el.childId,\r\n dangerName: el.childName\r\n })\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onFinishClick(): void {\r\n const data = {\r\n 'nodeSelected': this.nodeCheckedItem,\r\n 'analysisData': this.analysisDanger,\r\n 'riskData': this.dangers || []\r\n }\r\n\r\n this.dialogRef.close(data);\r\n }\r\n\r\n onCancelClick() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export enum ActionType {\r\n edit = 1,\r\n detail = 2,\r\n delete = 3\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { ActionType } from \"../../common/action-type.enum\";\r\nimport { DangerAction } from \"../../model/danger-action.model\";\r\nimport { DangerAssessment } from \"../../model/danger-assessment.model\";\r\nimport { Danger } from \"../../model/danger.model\";\r\nimport { RiskDanger } from \"../../model/risk-danger.model\";\r\nimport { TreeConfig } from \"../../model/tree-config.model\";\r\n\r\n@Component({\r\n selector: 'qms-risk-list',\r\n templateUrl: './list.component.html',\r\n styleUrls: ['./list.component.scss']\r\n})\r\nexport class RiskListComponent implements OnInit, OnChanges {\r\n LANG: any;\r\n title: string;\r\n isNotEditedItem: boolean;\r\n dangers: Array<Danger> = [];\r\n analysisDanger: Array<DangerAssessment> = [];\r\n dangerAction: DangerAction;\r\n show = 5;\r\n\r\n dangerConfig: TreeConfig;\r\n\r\n resultData: Array<any> = [];\r\n riskAnalysis: Array<any> = [];\r\n\r\n @Input() data: RiskDanger;\r\n @Output() updateData: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n public translate: TranslateLibraryService,\r\n private dialog: MatDialog\r\n ) {\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.data && JSON.stringify(changes.data.currentValue) !== JSON.stringify(changes.data.previousValue)) {\r\n this.dangers = [];\r\n this.title = changes.data.currentValue.title;\r\n this.isNotEditedItem = changes.data.currentValue['isNotEditedItem'] ?? false;\r\n this.dangers = [...changes.data.currentValue.data];\r\n this.show = changes.data.currentValue?.numRow || 5;\r\n\r\n this.analysisDanger = [];\r\n this.groupByDanger(changes.data.currentValue.data, 0);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.title = this.data?.title || '';\r\n this.isNotEditedItem = this.data['isNotEditedItem'] ?? false;\r\n this.dangers = this.data?.data || [];\r\n this.show = this.data?.numRow || 5;\r\n\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n if (this.dangers.length) {\r\n this.groupByDanger(this.dangers, 0);\r\n }\r\n }\r\n\r\n groupByDanger(dangers: Array<Danger>, i: number) {\r\n dangers.forEach(d => {\r\n const index = this.analysisDanger.findIndex(x => {\r\n return d.analysisId === x.id;\r\n });\r\n if (index < 0) {\r\n let count = 0;\r\n this.analysisDanger.push({\r\n id: d.analysisId,\r\n name: d.analysisName,\r\n childNumber: 0,\r\n show: this.show,\r\n remain: 0,\r\n dangers: [],\r\n folderId: d.folderId,\r\n statusId: d.statusId,\r\n simple: d.simple\r\n });\r\n dangers.forEach(d => {\r\n const index = this.analysisDanger[i].dangers.findIndex(x => {\r\n return x.dangerId === d.dangerId;\r\n });\r\n\r\n if (index < 0 && this.analysisDanger[i].id === d.analysisId) {\r\n this.analysisDanger[i].dangers.push(d);\r\n count++;\r\n }\r\n });\r\n\r\n this.analysisDanger[i].childNumber = count;\r\n this.analysisDanger[i].remain = count - this.show;\r\n i++;\r\n }\r\n });\r\n }\r\n\r\n editDanger(item) {\r\n this.dangerAction = {\r\n type: ActionType.edit,\r\n danger: {\r\n analysisId: 0,\r\n analysisName: '',\r\n dangerId: 0,\r\n dangerName: '',\r\n green: 0,\r\n yellow: 0,\r\n red: 0\r\n }\r\n }\r\n const data = { ...this.dangerAction, ...item };\r\n this.updateData.emit(data);\r\n\r\n }\r\n\r\n removeDanger(id: number) {\r\n const index = this.analysisDanger.findIndex(x => {\r\n return x.id === id;\r\n });\r\n const removedItem = this.analysisDanger[index];\r\n\r\n this.dangerAction = {\r\n type: ActionType.delete,\r\n danger: {\r\n analysisId: 0,\r\n analysisName: '',\r\n dangerId: 0,\r\n dangerName: '',\r\n green: 0,\r\n yellow: 0,\r\n red: 0\r\n }\r\n };\r\n\r\n const data = { ...this.dangerAction, ...removedItem };\r\n this.updateData.emit(data);\r\n }\r\n\r\n dangerDetail(danger: Danger) {\r\n this.dangerAction = {\r\n type: ActionType.detail,\r\n danger: {\r\n analysisId: 0,\r\n analysisName: '',\r\n dangerId: 0,\r\n dangerName: '',\r\n green: 0,\r\n yellow: 0,\r\n red: 0\r\n }\r\n };\r\n const data = { ...this.dangerAction, ...danger };\r\n this.updateData.emit(data);\r\n }\r\n\r\n increaseShow(id: number) {\r\n const index = this.analysisDanger.findIndex(x => {\r\n return x.id === id;\r\n });\r\n if (index >= 0) {\r\n this.analysisDanger[index].show = this.analysisDanger[index].childNumber;\r\n this.analysisDanger[index].remain = 0;\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n\r\n }\r\n}\r\n","export enum Color {\r\n green = 1,\r\n yellow = 2,\r\n red = 3\r\n}\r\n","export class RiskResult {\r\n title: string;\r\n results: Array<Result>;\r\n isSimple?: number;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.results = [];\r\n this.isSimple = 0\r\n }\r\n}\r\n\r\nexport class Result {\r\n dangerId: number;\r\n dangerName: string;\r\n color: number;\r\n cause: string;\r\n consequenceArea: string;\r\n result: string;\r\n}\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateLibraryService } from \"../../../../services/translation-registry.service\";\r\nimport { Color } from \"../../common/color.enum\";\r\nimport { Result, RiskResult } from \"../../model/risk-result.model\";\r\n\r\n@Component({\r\n selector: 'qms-risk-result',\r\n templateUrl: './result.component.html',\r\n styleUrls: ['./result.component.scss']\r\n})\r\nexport class RiskResultComponent implements OnInit {\r\n LANG: any;\r\n title: string;\r\n results: Array<Result> = [];\r\n color = Color;\r\n isSimple = 0;\r\n\r\n constructor(\r\n public translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<RiskResultComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: RiskResult\r\n ) {\r\n this.title = data.title;\r\n this.results = data.results;\r\n this.isSimple = data.isSimple || 0;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe().subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n onCloseClick(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export class SideNav {\r\n menu: string;\r\n icon: string;\r\n items: Array<SideNavItem>;\r\n\r\n constructor() {\r\n this.menu = '';\r\n this.icon = '';\r\n this.items = [];\r\n }\r\n}\r\n\r\nexport class SideNavItem {\r\n id: string;\r\n name: string;\r\n url: string;\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { SideNav, SideNavItem } from '../model/sidenav.model';\r\n\r\n@Component({\r\n selector: 'qms-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n})\r\nexport class SidenavComponent implements OnInit {\r\n @Input() data = new SideNav();\r\n @ViewChild('sidenav') sidenav: MatSidenav;\r\n\r\n menu = '';\r\n icon = '';\r\n items: Array<SideNavItem> = [];\r\n\r\n isExpanded = true;\r\n showSubmenu: boolean = false;\r\n isShowing = false;\r\n showSubSubMenu: boolean = false;\r\n\r\n ngOnInit(): void {\r\n this.menu = this.data.menu;\r\n this.icon = this.data.icon;\r\n this.items = this.data.items;\r\n }\r\n\r\n mouseenter() {\r\n if (!this.isExpanded) {\r\n this.isShowing = true;\r\n }\r\n }\r\n\r\n mouseleave() {\r\n if (!this.isExpanded) {\r\n this.isShowing = false;\r\n }\r\n }\r\n}\r\n","import { ScrollingModule } from \"@angular/cdk/scrolling\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatListModule } from \"@angular/material/list\";\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatTreeModule } from \"@angular/material/tree\";\r\nimport { SharedMaterialModule } from '../../material-module';\r\nimport { QmsAngularModule } from '../../qms-angular.module';\r\nimport { QMSAppIconModule } from \"../app-icon/app-icon.module\";\r\nimport { QMSBreadcrumbModule } from \"../breadcrumb/breadcrumb.module\";\r\nimport { QMSListModule } from \"../list/list.module\";\r\nimport { RelatedContentComponent } from \"./content/related-content.component\";\r\nimport { RelatedListComponent } from \"./list-other-related/list-related.component\";\r\nimport { RelatedPopupComponent } from \"./popup/related-popup.component\";\r\nimport { RiskAnalysisComponent } from \"./risk/analysis/analysis.component\";\r\nimport { RiskListComponent } from \"./risk/list/list.component\";\r\nimport { RiskResultComponent } from \"./risk/result/result.component\";\r\nimport { SidenavComponent } from \"./sidenav/sidenav.component\";\r\nimport { TreeComponent } from \"./tree/tree.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n TreeComponent,\r\n RelatedPopupComponent,\r\n RelatedContentComponent,\r\n SidenavComponent,\r\n RiskAnalysisComponent,\r\n RiskResultComponent,\r\n RiskListComponent,\r\n RelatedListComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatExpansionModule,\r\n MatAutocompleteModule,\r\n ReactiveFormsModule,\r\n ScrollingModule,\r\n MatCardModule,\r\n MatSidenavModule,\r\n MatListModule,\r\n SharedMaterialModule,\r\n QMSListModule,\r\n QmsAngularModule,\r\n QMSBreadcrumbModule,\r\n QMSAppIconModule\r\n ],\r\n exports: [\r\n TreeComponent,\r\n RelatedPopupComponent,\r\n RelatedContentComponent,\r\n SidenavComponent,\r\n RiskAnalysisComponent,\r\n RiskResultComponent,\r\n RiskListComponent,\r\n RelatedListComponent\r\n ]\r\n})\r\nexport class QMSRelatedModule { }\r\n","export class TreeModel {\r\n rootId: string;\r\n parentId: string;\r\n rootName: string;\r\n subName: string;\r\n childId: string;\r\n childName: string;\r\n statusId: number;\r\n displayId: number;\r\n levelType?: number;\r\n onlyRead?: boolean;\r\n}\r\n","import { DataType } from \"../common/data-type.enum\";\r\n\r\nexport class TreeConfig {\r\n allowSelectFolder: boolean;\r\n areaOfCurrentProcess: string;\r\n showCheckBox: boolean;\r\n allowMultipleCheck: boolean;\r\n onlyCheckBoxForChild: boolean;\r\n moduleId: DataType;\r\n openIcon?: string;\r\n openIconColor: string;\r\n closeIcon?: string;\r\n closeIconColor: string;\r\n itemIcon?: string;\r\n itemIconPath?: string;\r\n itemIconBase64?: string;\r\n itemIconSvg?: string;\r\n singleSelectedNode: boolean;\r\n canHaveDupId?: boolean;\r\n expandAll?: boolean;\r\n onlyFolder?: boolean;\r\n}\r\n","import { Danger } from \"./danger.model\";\r\n\r\nexport class RiskDanger {\r\n title: string;\r\n data: Array<Danger>;\r\n numRow: number;\r\n isNotEditedItem: boolean;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.data = [];\r\n this.numRow = 5;\r\n this.isNotEditedItem = false;\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Injectable, OnDestroy } from '@angular/core';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class QMSCKEditorBaseComponent implements OnDestroy {\r\n ngUnsubcribe = new Subject<void>();\r\n\r\n ngOnDestroy(): void {\r\n this.ngUnsubcribe.next();\r\n this.ngUnsubcribe.complete();\r\n }\r\n}\r\n","export class QMSCKEditorDialogData {\r\n title: string;\r\n\r\n content: string;\r\n\r\n checkText?: string;\r\n\r\n isMessage?: boolean;\r\n\r\n isAdvance?: boolean;\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { QMSCKEditorBaseComponent } from '../../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorDialogData } from '../../models/qms-ckeditor-dialog.model';\r\n\r\n@Component({\r\n selector: 'app-confirm-popup',\r\n templateUrl: './qms-ckeditor-confirm.component.html',\r\n styleUrls: ['./qms-ckeditor-confirm.component.scss']\r\n})\r\nexport class QMSCKEditorConfirmComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n isNotShowAgain = false;\r\n\r\n constructor(\r\n private translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<QMSCKEditorConfirmComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorDialogData\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n }\r\n\r\n onCancelClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onConfirmClick() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n onAdvanceConfirmClick() {\r\n const obj = { isConfirmed: true, isNotShowAgain: this.isNotShowAgain };\r\n this.dialogRef.close(obj);\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Component, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\r\n\r\ninterface TreeNode {\r\n id: string;\r\n name: string;\r\n children?: TreeNode[];\r\n}\r\n\r\ninterface TreeFlatNode {\r\n id: string;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n hasChild: boolean;\r\n disabled: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-ckeditor-tree',\r\n templateUrl: './qms-ckeditor-tree.component.html',\r\n styleUrls: ['./qms-ckeditor-tree.component.scss']\r\n})\r\nexport class QMSCKEditorTreeComponent implements OnChanges {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() rawData: Array<any> = [];\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() treeData: Array<any> = [];\r\n\r\n @Input() useExpandFeature: boolean;\r\n\r\n @Input() docType: number;\r\n\r\n @Input() allowSelectFolder: boolean;\r\n\r\n @Output() selectNodeEvent: EventEmitter<string> = new EventEmitter();\r\n\r\n @Output() selectFolderEvent: EventEmitter<string> = new EventEmitter();\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n @Input() listParentObj: any;\r\n\r\n arrIndex: string[] = [];\r\n\r\n @Input() areaOfCurrentProcess: string;\r\n\r\n // tslint:disable-next-line:member-ordering\r\n treeControl = new FlatTreeControl<TreeFlatNode>(\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n }\r\n );\r\n\r\n ngOnChanges() {\r\n if (this.treeData) {\r\n this.dataSource.data = this.treeData;\r\n }\r\n }\r\n\r\n private transformer = (node: TreeNode, level: number) => {\r\n let checkHasChild = true;\r\n if (!node.children) {\r\n checkHasChild = false;\r\n } else if (!(!!node.children && node.children.length && node.children.length > 0)) {\r\n checkHasChild = false;\r\n }\r\n // tslint:disable-next-line:max-line-length\r\n else if (\r\n !!node.children &&\r\n node.children.length &&\r\n node.children.length === 1 &&\r\n !node.children[0].name.length &&\r\n node.id.toString() === this.areaOfCurrentProcess\r\n ) {\r\n checkHasChild = false;\r\n }\r\n\r\n if (!(this.listParentObj[node.id] === 1)) {\r\n checkHasChild = false;\r\n }\r\n\r\n return {\r\n expandable: !!node.children && node.children.length > 0,\r\n name: node.name,\r\n level,\r\n id: node.id,\r\n hasChild: checkHasChild\r\n };\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n treeFlattener = new MatTreeFlattener(\r\n this.transformer,\r\n (node) => {\r\n return node.level;\r\n },\r\n (node) => {\r\n return node.expandable;\r\n },\r\n (node) => {\r\n return node.children;\r\n }\r\n );\r\n\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\r\n\r\n hasChild = (_: number, node: TreeFlatNode) => {\r\n return node.expandable;\r\n };\r\n\r\n selectNode(node: TreeFlatNode) {\r\n this.selectNodeEvent.emit(node.id);\r\n }\r\n\r\n selectFolder(node: TreeFlatNode) {\r\n this.selectFolderEvent.emit(node.id);\r\n }\r\n\r\n onExpandNode(node: TreeFlatNode, isExpandNode?: boolean) {\r\n // set useExpandFeature = true to improve performance of tree loading\r\n if (!isExpandNode || !this.useExpandFeature) {\r\n for (let i = 0; i < this.arrIndex.length; i++) {\r\n if (this.arrIndex[i] === node.id) {\r\n this.arrIndex.splice(i, 1);\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n // get array index to expand node after refresh datasource\r\n let index = 0;\r\n let isChange = false;\r\n let isRemove = false;\r\n if (node.level === 0) {\r\n this.arrIndex.push(node.id);\r\n } else {\r\n this.arrIndex.push(node.id);\r\n }\r\n\r\n const childArray = this.rawData.filter((x) => {\r\n return x.parentId === node.id;\r\n });\r\n let rootId = 0;\r\n let parentElement: TreeNode;\r\n let childrenList: TreeNode[];\r\n if (childArray.length === 0) {\r\n return;\r\n }\r\n childArray.forEach((item) => {\r\n if (item.rootId === rootId) {\r\n return;\r\n }\r\n\r\n // get child node from original datasource\r\n const child = this.getChildNode(item.rootId, childArray);\r\n rootId = item.rootId;\r\n\r\n index = this.getNodeIndex(child.id, undefined, this.dataSource['_treeControl'].dataNodes);\r\n if (index > -1) {\r\n return;\r\n }\r\n\r\n // add child node to expand node\r\n parentElement = this.findParentNode(node.id, this.dataSource.data);\r\n if (parentElement) {\r\n // temporary remove all node without children => purpose to add node folder first\r\n if (!isRemove) {\r\n childrenList = [...parentElement.children];\r\n this.removeChildren(parentElement);\r\n isRemove = true;\r\n }\r\n // add node folder first\r\n parentElement.children.push(child);\r\n isChange = true;\r\n }\r\n });\r\n // add node without children again\r\n if (isRemove) {\r\n this.addChildren(parentElement, childrenList);\r\n }\r\n\r\n // refresh data and expand tree node from root node\r\n if (isChange) {\r\n this.refreshTreeData();\r\n this.arrIndex.forEach((item) => {\r\n index = this.getNodeIndex(item, undefined, this.dataSource['_treeControl'].dataNodes);\r\n this.treeControl.expand(this.treeControl.dataNodes[index]);\r\n });\r\n isChange = false;\r\n }\r\n }\r\n\r\n removeChildren(parentElement?: TreeNode) {\r\n if (parentElement.children) {\r\n parentElement.children.length = 0;\r\n }\r\n }\r\n\r\n addChildren(parentElement?: TreeNode, childrenList?: TreeNode[]) {\r\n if (childrenList) {\r\n childrenList.forEach((e) => {\r\n parentElement.children.push(e);\r\n });\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n getNodeIndex(id: string, level?: number, data?: any[]) {\r\n if (level) {\r\n return data.findIndex((x) => {\r\n return x.id === id && x.level === level;\r\n });\r\n }\r\n\r\n return data.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n getChildNode(rootId: string, data: any) {\r\n const childArray = data.filter((x) => {\r\n return x.rootId === rootId;\r\n });\r\n const child = { id: childArray[0].rootId, name: childArray[0].subName, children: [] } as TreeNode;\r\n childArray.forEach((item) => {\r\n child.children.push({ id: item.childId, name: item.childName });\r\n });\r\n return child;\r\n }\r\n\r\n findParentNode(id: string, data: TreeNode[]) {\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentFather of data) {\r\n if (currentFather.id === id) {\r\n return currentFather;\r\n }\r\n\r\n if (currentFather.children) {\r\n const currentChild = currentFather.children.find((x) => {\r\n return x.id === id;\r\n });\r\n if (currentChild) {\r\n return currentChild;\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const currentChild1 of currentFather.children) {\r\n if (id !== currentChild1.id) {\r\n const result = this.findParentNode(id, currentFather.children);\r\n if (result !== false) {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n refreshTreeData() {\r\n const data = this.dataSource.data;\r\n this.dataSource.data = [];\r\n this.dataSource.data = data;\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-fullscreen',\r\n templateUrl: './qms-ckeditor-fullscreen.component.html',\r\n styleUrls: ['./qms-ckeditor-fullscreen.component.scss']\r\n})\r\nexport class QMSCKEditorFullscreenComponent {\r\n public showFullScreen() {\r\n this.showHideFullScreen('none', 'hide-content-wrapper', '0px', '0px', '0px', '98vh');\r\n }\r\n\r\n public hideFullScreen() {\r\n this.showHideFullScreen('block', 'show-content-wrapper', '0px', '0px', '2px', '93vh');\r\n }\r\n\r\n public showHideFullScreen(\r\n display: string,\r\n className: string,\r\n paddingTop: string,\r\n paddingBottom: string,\r\n marginTopMain: string,\r\n heightIframe: string\r\n ) {\r\n const sidebar = window.parent.document.getElementById('sidebar_left');\r\n if (sidebar) {\r\n if (display === 'block') {\r\n if (!sidebar.classList.contains('show-sidebar_left')) {\r\n sidebar.classList.add('show-sidebar_left');\r\n }\r\n } else if (display === 'none') {\r\n if (sidebar.classList.contains('show-sidebar_left')) {\r\n sidebar.classList.remove('show-sidebar_left');\r\n }\r\n }\r\n }\r\n const topbars = window.parent.document.getElementsByClassName('navbar-fixed-top');\r\n if (topbars && topbars.length > 0) {\r\n const topbar = topbars[0] as HTMLElement;\r\n topbar.style.display = display;\r\n }\r\n const contentWrapper = window.parent.document.getElementById('content_wrapper');\r\n if (contentWrapper) {\r\n contentWrapper.className = className;\r\n }\r\n\r\n const bodies = window.parent.document.getElementsByTagName('body');\r\n if (bodies && bodies.length > 0) {\r\n const body = bodies[0] as HTMLElement;\r\n body.style.paddingTop = paddingTop;\r\n body.style.paddingBottom = paddingBottom;\r\n if (display === 'block') {\r\n body.classList.remove('sidebar-hidden');\r\n body.classList.add('sidebar-ltr');\r\n } else if (display === 'none') {\r\n body.classList.remove('sidebar-ltr');\r\n body.classList.add('sidebar-hidden');\r\n }\r\n }\r\n const main = window.parent.document.getElementById('main');\r\n if (main) {\r\n main.style.marginTop = marginTopMain;\r\n }\r\n\r\n const iframes = window.parent.document.getElementsByClassName('processIFrameModule');\r\n if (iframes && iframes.length > 0) {\r\n const iframe = iframes[0] as HTMLElement;\r\n iframe.style.height = heightIframe;\r\n }\r\n\r\n const ck = window.document.getElementById('qmsckeditor');\r\n if (ck) {\r\n if (display === 'none') {\r\n if (!ck.classList.contains('qmsckeditor__fullscreen')) {\r\n ck.classList.add('qmsckeditor__fullscreen');\r\n }\r\n } else if (display === 'block') {\r\n if (ck.classList.contains('qmsckeditor__fullscreen')) {\r\n ck.classList.remove('qmsckeditor__fullscreen');\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorGlobalService {\r\n getApiUrlSubject = new BehaviorSubject<any>(null);\r\n\r\n constructor() { }\r\n\r\n setApiUrl(apiUrl: string) {\r\n this.getApiUrlSubject.next(apiUrl);\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { QMSCKEditorBaseComponent } from '../qms-ckeditor-base.component';\r\nimport { QMSCKEditorGlobalService } from './qms-ckeditor-global.service';\r\n\r\n@Injectable()\r\nexport class QMSCKEditorBaseService extends QMSCKEditorBaseComponent {\r\n headers = new HttpHeaders();\r\n apiUrl: string;\r\n\r\n constructor(public http: HttpClient, private globalService: QMSCKEditorGlobalService) {\r\n super();\r\n this.globalService.getApiUrlSubject.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n this.apiUrl = res;\r\n })\r\n }\r\n\r\n protected get(url: string, params: any = {}): Observable<any> {\r\n return this.http.get(this.apiUrl + url, { headers: this.headers, params });\r\n }\r\n\r\n protected post(url: string, data: any): Observable<any> {\r\n return this.http.post(this.apiUrl + url, data, { headers: this.headers });\r\n }\r\n\r\n protected put(url: string, data: any): Observable<any> {\r\n return this.http.put(this.apiUrl + url, data, { headers: this.headers });\r\n }\r\n\r\n protected delete(url: string, params: any = {}): Observable<any> {\r\n return this.http.delete(this.apiUrl + url, { headers: this.headers, params });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { QMSCKEditorLinkAnchorDocument } from '../common/models/qms-ckeditor-link-anchor-document.model';\r\nimport QMSCKEditorLinkAttachment from '../common/models/qms-ckeditor-link-attachment.model';\r\nimport { QMSCKEditorBaseService } from './qms-ckeditor-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorLinkService extends QMSCKEditorBaseService {\r\n public getAttachmentList(\r\n module: number,\r\n entityId: string,\r\n supportFileArchiveAttachments: boolean\r\n ): Observable<QMSCKEditorLinkAttachment[]> {\r\n return this.get('ckeditorLink/LinkAttachmentList', { module, entityId, supportFileArchiveAttachments });\r\n }\r\n\r\n public getAnchorDocumentList(documentId: number): Observable<QMSCKEditorLinkAnchorDocument[]> {\r\n return this.get('ckeditorLink/LinkAnchorDoucmentList', { documentId });\r\n }\r\n}\r\n","export default class QMSCKEditorParamter {\r\n module: number;\r\n entityId: string;\r\n}\r\n","export enum CKEditorModule {\r\n document = 1,\r\n process = 2,\r\n deviation = 3,\r\n risk = 4,\r\n checklist = 5,\r\n dashboard = 6\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TranslateLibraryService } from '../../../../services/translation-registry.service';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport QMSCKEditorLinkAttachment from '../../../common/models/qms-ckeditor-link-attachment.model';\r\nimport { QMSCKEditorBaseComponent } from '../../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorLinkService } from '../../../services/qms-ckeditor-link.service';\r\nimport QMSCKEditorParamter from '../../../common/models/qms-ckeditor-parameter.model';\r\nimport { CKEditorModule } from '../../../common/enums/module.enum';\r\n\r\nexport interface LinkUrl {\r\n url: string;\r\n title: string;\r\n}\r\n\r\n@Component({\r\n selector: 'link-attachment',\r\n templateUrl: './link-attachment.component.html',\r\n styleUrls: ['./link-attachment.component.scss']\r\n})\r\nexport class LinkAttachmentComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n module = 0;\r\n entityId = '';\r\n supportFileArchiveAttachments = false;\r\n attachments: QMSCKEditorLinkAttachment[] = [];\r\n linkUrl: LinkUrl;\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private linkService: QMSCKEditorLinkService,\r\n public dialogRef: MatDialogRef<LinkAttachmentComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorParamter\r\n ) {\r\n super();\r\n this.module = data.module;\r\n this.entityId = data.entityId;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.getAttachmentList(this.module, this.entityId, this.supportFileArchiveAttachments);\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getAttachmentList(module: number, itemId: string, supportFileArchiveAttachments: boolean) {\r\n this.linkService\r\n .getAttachmentList(module, itemId, supportFileArchiveAttachments)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n this.attachments = response;\r\n }\r\n });\r\n }\r\n\r\n onSelectedAttachment(extraId: string, fileName: string) {\r\n this.linkUrl = { url: '', title: '' };\r\n if (extraId) {\r\n if (this.module === CKEditorModule.document) {\r\n this.linkUrl.url = `/api/File/GetFile?entityId=${extraId}`;\r\n }\r\n else if (this.module === CKEditorModule.process) {\r\n this.linkUrl.url = `/api/processes/GetFileContents?fileId=${extraId}`;\r\n }\r\n this.linkUrl.title = fileName;\r\n }\r\n this.dialogRef.close(this.linkUrl);\r\n }\r\n}\r\n","export enum LinkAnchor {\r\n Blank = '',\r\n Attachment = 'Idattachment',\r\n Related = 'IdrelatedDocument'\r\n}\r\n","export enum LinkType {\r\n url = 0,\r\n anchorText = 1,\r\n email = 2,\r\n anchorDocument = 3\r\n}\r\n","export enum ProtocolType {\r\n http = 0,\r\n https = 1,\r\n fpt = 2,\r\n new = 3,\r\n other = 4\r\n}\r\n","export enum TargetType {\r\n new = 0,\r\n topmost = 1,\r\n same = 2,\r\n parent = 3\r\n}\r\n","export class QMSCKEditorRelation {\r\n isOnlyDocument: boolean;\r\n isEnableFolder: boolean;\r\n\r\n constructor() {\r\n this.isOnlyDocument = false;\r\n this.isEnableFolder = false;\r\n }\r\n}\r\n","export default class QMSCKEditorLink {\r\n typeId: number;\r\n targetId: number;\r\n protocolId: number;\r\n url: string;\r\n title: string;\r\n edit: boolean;\r\n editorContent: string;\r\n module: number;\r\n entityId: string;\r\n constructor() {\r\n this.typeId = 0;\r\n this.targetId = 0;\r\n this.protocolId = 0;\r\n this.url = '';\r\n this.title = '';\r\n this.edit = false;\r\n this.editorContent = '';\r\n this.entityId = '';\r\n }\r\n}\r\n","export enum QMSCKEditorDocumentType {\r\n document = 1,\r\n process = 2,\r\n area = 3,\r\n folder = 4\r\n}\r\n","export class TreeNode {\r\n children: TreeNode[];\r\n id: string;\r\n name: string;\r\n parentId?: string;\r\n}\r\n","import QMSCKEditorTree from '../models/qms-ckeditor-tree.model';\r\nimport { TreeNode } from '../models/qms-ckeditor-tree-node.model';\r\n\r\nlet objData = {};\r\n\r\nfunction buildArrayTree(obj: object, level: number): TreeNode[] {\r\n return Object.keys(obj).reduce<TreeNode[]>((accumulator, key) => {\r\n const value = obj[key];\r\n const node = new TreeNode();\r\n const index = key.indexOf('_');\r\n node.id = key.substr(0, index);\r\n node.name = key.substr(index + 1, key.length - index);\r\n\r\n if (value != null) {\r\n if (typeof value === 'object') {\r\n node.children = this.buildArrayTree(value, level + 1);\r\n } else {\r\n node.name = value;\r\n }\r\n }\r\n\r\n return accumulator.concat(node);\r\n }, []);\r\n}\r\n\r\nfunction buildObjectTree(arr: QMSCKEditorTree[]): object {\r\n objData = {};\r\n let objTreeData;\r\n const root = arr.filter((x: { parentId: string }) => {\r\n return x.parentId === '';\r\n });\r\n root.forEach((item) => {\r\n objTreeData = this.findParent(item.rootId, arr);\r\n });\r\n return objTreeData;\r\n}\r\n\r\nfunction findParent(id: string, array: QMSCKEditorTree[]) {\r\n const objParent = {};\r\n const parent = array.filter((x: { rootId: string }) => {\r\n return x.rootId === id;\r\n });\r\n\r\n parent.forEach((item) => {\r\n objParent[`${item.childId}_${item.childName}`] = null;\r\n });\r\n\r\n // find child\r\n const child = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n if (child.length > 0) {\r\n this.findChild(id, objParent, array);\r\n }\r\n\r\n // add node to tree\r\n objData[`${parent[0].rootId}_${parent[0].rootName}`] = objParent;\r\n return objData;\r\n}\r\n\r\nfunction findChild(id: string, objParent: object, array: QMSCKEditorTree[]) {\r\n const subNode = array.filter((x: { parentId: string }) => {\r\n return x.parentId === id;\r\n });\r\n subNode.forEach((item) => {\r\n const processNode = {};\r\n processNode[`${item.childId}_${item.childName}`] = null;\r\n objParent[`${item.rootId}_${item.subName}`] = processNode;\r\n\r\n findChild(item.rootId, processNode, array);\r\n });\r\n}\r\n\r\nconst QMSCKEditorTreeFunctions = {\r\n buildArrayTree,\r\n buildObjectTree,\r\n findParent,\r\n findChild\r\n};\r\n\r\nexport default QMSCKEditorTreeFunctions;\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport QMSCKEditorTree from '../common/models/qms-ckeditor-tree.model';\r\nimport { QMSCKEditorBaseService } from './qms-ckeditor-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorTreeService extends QMSCKEditorBaseService {\r\n public getDocumentList(): Observable<QMSCKEditorTree[]> {\r\n return this.get('ckeditorTree/GetDocumentList');\r\n }\r\n\r\n public getProcessList(): Observable<QMSCKEditorTree[]> {\r\n return this.get('ckeditorTree/GetProcessList');\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { forkJoin } from 'rxjs';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorDocumentType } from '../../common/enums/document-type.enum';\r\nimport QMSCKEditorTreeFunctions from '../../common/functions/tree.function';\r\nimport { QMSCKEditorRelation } from '../../common/models/qms-ckeditor-relation.model';\r\nimport { TreeNode } from '../../common/models/qms-ckeditor-tree-node.model';\r\nimport QMSCKEditorTree from '../../common/models/qms-ckeditor-tree.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTreeService } from '../../services/qms-ckeditor-tree.service';\r\n\r\nexport interface Related {\r\n id: number;\r\n name: string;\r\n type: number;\r\n}\r\n\r\nexport interface SelectedNode {\r\n id: string;\r\n type: number;\r\n}\r\n\r\nexport interface LinkUrl {\r\n id: string;\r\n url: string;\r\n title: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './qmsckeditor-related.component.html',\r\n styleUrls: ['./qmsckeditor-related.component.scss']\r\n})\r\nexport class QMSCKEditorRelatedComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n selectedNode: SelectedNode;\r\n linkUrl: LinkUrl;\r\n documentType: QMSCKEditorDocumentType;\r\n processData: QMSCKEditorTree[];\r\n documentData: QMSCKEditorTree[];\r\n filterData: QMSCKEditorTree[];\r\n treeDataFile: object;\r\n treeProcessFile: object;\r\n treeDocumentFile: object;\r\n treeProcessData: TreeNode[];\r\n treeDocumentData: TreeNode[];\r\n processNumber = -1;\r\n listParentProcessId = {};\r\n listParentDocumentId = {};\r\n\r\n myControl = new FormControl();\r\n filteredOptions = [];\r\n isInputValue = false;\r\n isOnlyDocument = false;\r\n isEnableFolder = false;\r\n areaOfCurrentProcess: string;\r\n\r\n constructor(\r\n private treeService: QMSCKEditorTreeService,\r\n private translate: TranslateLibraryService,\r\n private dialogRef: MatDialogRef<QMSCKEditorRelatedComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorRelation\r\n ) {\r\n super();\r\n this.isOnlyDocument = data.isOnlyDocument;\r\n this.isEnableFolder = data.isEnableFolder;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.selectedNode = { id: '', type: 0 };\r\n this.getProcessAndDocumentData();\r\n this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {\r\n this.isInputValue = true;\r\n this.filteredOptions = this.onSearchRelated(val);\r\n });\r\n }\r\n\r\n getProcessAndDocumentData() {\r\n forkJoin([this.getProcessData(), this.getDocumentData()])\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe(([p, d]) => {\r\n this.mappingData(p, 2);\r\n this.mappingData(d, 1);\r\n\r\n // for process\r\n this.filterData = this.processData.filter((x) => {\r\n return x.parentId === '';\r\n });\r\n this.treeDataFile = QMSCKEditorTreeFunctions.buildObjectTree(this.filterData);\r\n this.treeProcessData = QMSCKEditorTreeFunctions.buildArrayTree(this.treeDataFile, 0);\r\n // for document\r\n this.filterData = this.documentData.filter((x) => {\r\n return x.parentId === '';\r\n });\r\n this.treeDataFile = QMSCKEditorTreeFunctions.buildObjectTree(this.filterData);\r\n this.treeDocumentData = QMSCKEditorTreeFunctions.buildArrayTree(this.treeDataFile, 0);\r\n });\r\n }\r\n\r\n getProcessData() {\r\n return this.treeService.getProcessList().pipe(takeUntil(this.ngUnsubcribe));\r\n }\r\n\r\n getDocumentData() {\r\n return this.treeService.getDocumentList().pipe(takeUntil(this.ngUnsubcribe));\r\n }\r\n\r\n mappingData(array: QMSCKEditorTree[], dataType: number) {\r\n if (array) {\r\n if (dataType === 1) {\r\n this.documentData = array.map((item) => {\r\n if (!!item.parentId && item.parentId.length > 0) {\r\n this.listParentDocumentId[item.parentId] = 1;\r\n }\r\n if (!!item.childId && item.childId.length > 0) {\r\n this.listParentDocumentId[item.rootId] = 1;\r\n }\r\n return {\r\n rootId: item.rootId,\r\n parentId: item.parentId,\r\n rootName: item.rootName,\r\n subName: item.subName,\r\n childId: item.childId,\r\n childName: item.childName,\r\n statusId: item.statusId,\r\n displayId: item.displayId\r\n };\r\n });\r\n } else if (dataType === 2) {\r\n this.processData = array.filter((item) => {\r\n if (!!item.parentId && item.parentId.length > 0) {\r\n this.listParentProcessId[item.parentId] = 1;\r\n }\r\n if (item.childId && item.childId.length > 0) {\r\n this.listParentProcessId[item.rootId] = 1;\r\n }\r\n if (Number(item.displayId) === this.processNumber) {\r\n item.childId = '';\r\n item.childName = '';\r\n this.areaOfCurrentProcess = item.rootId;\r\n }\r\n return {\r\n rootId: item.rootId,\r\n parentId: item.parentId,\r\n rootName: item.rootName,\r\n subName: item.subName,\r\n childId: item.childId,\r\n childName: item.childName,\r\n statusId: item.statusId,\r\n displayId: item.displayId\r\n };\r\n });\r\n }\r\n }\r\n }\r\n\r\n onCloseClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onAddDocumentProcess() {\r\n let data: QMSCKEditorTree;\r\n this.linkUrl = { id: '', url: '', title: '' };\r\n switch (this.selectedNode.type) {\r\n case QMSCKEditorDocumentType.document:\r\n data = this.documentData.find((e) => {\r\n return e.childId === this.selectedNode.id;\r\n });\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/document/${data.childId}`;\r\n this.linkUrl.title = data.childName;\r\n }\r\n break;\r\n case QMSCKEditorDocumentType.process:\r\n data = this.processData.find((e) => {\r\n return e.childId === this.selectedNode.id;\r\n });\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/process-detail/${data.displayId}`;\r\n this.linkUrl.title = data.childName;\r\n }\r\n break;\r\n case QMSCKEditorDocumentType.area:\r\n data = this.processData.find((e) => {\r\n return e.rootId === this.selectedNode.id;\r\n });\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/area/detail/${data.rootId}`;\r\n this.linkUrl.title = data.rootName;\r\n }\r\n break;\r\n case QMSCKEditorDocumentType.folder:\r\n data = this.documentData.find((e) => {\r\n return e.rootId === this.selectedNode.id;\r\n });\r\n\r\n if (data) {\r\n this.linkUrl.id = this.selectedNode.id;\r\n this.linkUrl.url = `/folder/${data.rootId}`;\r\n this.linkUrl.title = data.rootName;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n this.dialogRef.close(this.linkUrl);\r\n }\r\n\r\n selectAreaNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.area;\r\n }\r\n\r\n selectProcessNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.process;\r\n }\r\n\r\n selectDocumentNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.document;\r\n }\r\n\r\n selectHandbookNode(id: string) {\r\n this.selectedNode.id = id;\r\n this.selectedNode.type = QMSCKEditorDocumentType.folder;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n isMatchTrue(arr: any[], arr2: any[]) {\r\n return arr.every((i) => {\r\n return arr2.includes(i);\r\n });\r\n }\r\n\r\n onSearchRelated(_val: string) {\r\n const arr: Related[] = [];\r\n let data = [];\r\n if (typeof _val !== 'string') {\r\n return arr;\r\n }\r\n const val = _val\r\n .trim()\r\n .split(' ')\r\n .map((v) => {\r\n return v.toLowerCase();\r\n });\r\n if (!val || val.length === 0) {\r\n return arr;\r\n }\r\n\r\n if (!this.isOnlyDocument) {\r\n data = this.processData.filter((item) => {\r\n const tempArr = item.childName.split(' ').map((v) => {\r\n return v.toLowerCase();\r\n });\r\n return this.isMatchTrue(val, tempArr);\r\n });\r\n\r\n if (data) {\r\n data.forEach((element) => {\r\n arr.push({\r\n id: element.childId,\r\n name: element.childName,\r\n type: 2\r\n });\r\n });\r\n }\r\n }\r\n\r\n data = this.documentData.filter((item) => {\r\n const tempArr = item.childName.split(' ').map((v) => {\r\n return v.toLowerCase();\r\n });\r\n return this.isMatchTrue(val, tempArr);\r\n });\r\n\r\n if (data) {\r\n data.forEach((element) => {\r\n arr.push({\r\n id: element.childId,\r\n name: element.childName,\r\n type: 1\r\n });\r\n });\r\n }\r\n this.setResultHeight(arr);\r\n return arr;\r\n }\r\n\r\n displayRelated(related?: Related): string | undefined {\r\n return related ? related.name : undefined;\r\n }\r\n\r\n selectRelated(id: string, type: number) {\r\n this.selectedNode = { id, type };\r\n this.onAddDocumentProcess();\r\n }\r\n\r\n setResultHeight(arr?: Related[]) {\r\n const viewreports = document.getElementsByClassName('related-viewport');\r\n if (viewreports) {\r\n let iHeight = 0;\r\n const view = viewreports[0] as HTMLElement;\r\n if (arr.length * 5 > 50) {\r\n iHeight = 51;\r\n } else {\r\n iHeight = arr.length * 5 + 1;\r\n if (iHeight > 0) {\r\n // window[ProcessRelatedConst.IS_DISPLAY_SEARCH_RESULT] = true;\r\n }\r\n }\r\n view.style.height = `${iHeight}vh`;\r\n view.style.display = 'block';\r\n }\r\n }\r\n\r\n hideSearchResult() {\r\n if (this.filteredOptions && this.filteredOptions.length > 0) {\r\n const viewreports = document.getElementsByClassName('related-viewport');\r\n if (viewreports && viewreports.length) {\r\n const view = viewreports[0] as HTMLElement;\r\n view.style.display = 'none';\r\n // window[ProcessRelatedConst.IS_DISPLAY_SEARCH_RESULT] = false;\r\n }\r\n }\r\n }\r\n\r\n showSearchResult() {\r\n if (this.filteredOptions && this.filteredOptions.length) {\r\n const viewreports = document.getElementsByClassName('related-viewport');\r\n if (viewreports && viewreports.length) {\r\n const view = viewreports[0] as HTMLElement;\r\n if (view.style.display === 'none') {\r\n view.style.display = 'block';\r\n // window[ProcessRelatedConst.IS_DISPLAY_SEARCH_RESULT] = true;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { AfterViewChecked, ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { LinkAnchor } from '../../common/enums/link-anchor.enum';\r\nimport { LinkType } from '../../common/enums/link-type.enum';\r\nimport { ProtocolType } from '../../common/enums/protocol-type.enum';\r\nimport { TargetType } from '../../common/enums/target-type.enum';\r\nimport { QMSCKEditorLinkAnchorDocument } from '../../common/models/qms-ckeditor-link-anchor-document.model';\r\nimport QMSCKEditorParamter from '../../common/models/qms-ckeditor-parameter.model';\r\nimport { QMSCKEditorRelation } from '../../common/models/qms-ckeditor-relation.model';\r\nimport QMSCKEditorLink from '../../common/models/qms-ckeditor-url.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorLinkService } from '../../services/qms-ckeditor-link.service';\r\nimport { QMSCKEditorRelatedComponent } from '../qms-ckeditor-relation/qmsckeditor-related.component';\r\nimport { LinkAttachmentComponent } from './attachments/link-attachment.component';\r\n\r\ninterface ILinkType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface ITarget {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface IProtocol {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface IAnchor {\r\n value: number;\r\n viewValue: string;\r\n anchorValue: string;\r\n}\r\n\r\n@Component({\r\n selector: 'qms-ckeditor-link',\r\n templateUrl: './qms-ckeditor-link.component.html',\r\n styleUrls: ['./qms-ckeditor-link.component.scss']\r\n})\r\nexport class QMSCKEditorLinkComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {\r\n LANG: any;\r\n linkFormGroup: FormGroup = new FormGroup({\r\n targetList: new FormControl(),\r\n protocolList: new FormControl(),\r\n url: new FormControl('', [Validators.required]),\r\n advisoryTitle: new FormControl()\r\n });\r\n anchorTextFormGroup: FormGroup = new FormGroup({\r\n anchorText: new FormControl('', [Validators.required])\r\n });\r\n emailFormGroup: FormGroup = new FormGroup({\r\n emailAddress: new FormControl('', [Validators.required]),\r\n emailSubject: new FormControl('', [Validators.required]),\r\n emailBody: new FormControl('', [Validators.required])\r\n });\r\n anchorDocFormGroup: FormGroup = new FormGroup({\r\n anchorTitle: new FormControl('', [Validators.required]),\r\n anchorByName: new FormControl('', [Validators.required])\r\n });\r\n isExpanded = true;\r\n linkTypes: ILinkType[] = [];\r\n targets: ITarget[] = [];\r\n protocols: IProtocol[] = [];\r\n anchorDocuments: QMSCKEditorLinkAnchorDocument[] = [];\r\n anchors: IAnchor[];\r\n editorAnchors: IAnchor[];\r\n documentAnchors: IAnchor[];\r\n editorContent = '';\r\n selectedLink = 0;\r\n selectedTarget = 0;\r\n selectedProtocol = 0;\r\n url = '';\r\n advisoryTitle = '';\r\n edit = false;\r\n anchorText = '';\r\n emailAddress = '';\r\n emailSubject = '';\r\n emailBody = '';\r\n documentId = 0;\r\n anchorTitle = '';\r\n anchorByName = '';\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private linkService: QMSCKEditorLinkService,\r\n public dialogRef: MatDialogRef<QMSCKEditorLinkComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorLink\r\n ) {\r\n super();\r\n this.selectedLink = data.typeId;\r\n this.selectedTarget = data.targetId;\r\n this.selectedProtocol = data.protocolId;\r\n this.url = data.url;\r\n this.advisoryTitle = data.title;\r\n this.edit = data.edit;\r\n this.editorContent = data.editorContent;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.initLinkType();\r\n this.initTarget();\r\n this.initProtocol();\r\n this.initAnchor();\r\n if (this.data.edit) {\r\n this.parseLinkUrl(this.selectedLink, this.url);\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n initLinkType() {\r\n if (this.linkTypes) {\r\n this.linkTypes.push({ id: LinkType.url, name: this.LANG.QMSCKEDITOR.LINK_URL });\r\n this.linkTypes.push({\r\n id: LinkType.anchorText,\r\n name: this.LANG.QMSCKEDITOR.LINK_ANCHOR_IN_TEXT\r\n });\r\n this.linkTypes.push({ id: LinkType.email, name: this.LANG.QMSCKEDITOR.LINK_EMAIL });\r\n this.linkTypes.push({\r\n id: LinkType.anchorDocument,\r\n name: this.LANG.QMSCKEDITOR.LINK_ANCHOR_DOCUMENT\r\n });\r\n }\r\n }\r\n\r\n initTarget() {\r\n if (this.targets) {\r\n this.targets.push({ id: TargetType.new, name: this.LANG.QMSCKEDITOR.TARTGET_NEW });\r\n this.targets.push({ id: TargetType.topmost, name: this.LANG.QMSCKEDITOR.TARGET_TOPMOST });\r\n this.targets.push({ id: TargetType.same, name: this.LANG.QMSCKEDITOR.TARGET_SAME });\r\n this.targets.push({ id: TargetType.parent, name: this.LANG.QMSCKEDITOR.TARGET_PARENT });\r\n }\r\n }\r\n\r\n initProtocol() {\r\n if (this.protocols) {\r\n this.protocols.push({ id: ProtocolType.http, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTP });\r\n this.protocols.push({ id: ProtocolType.https, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTPS });\r\n this.protocols.push({ id: ProtocolType.fpt, name: this.LANG.QMSCKEDITOR.PROTOCOL_FTP });\r\n this.protocols.push({ id: ProtocolType.new, name: this.LANG.QMSCKEDITOR.PROTOCOL_NEW });\r\n this.protocols.push({ id: ProtocolType.other, name: this.LANG.QMSCKEDITOR.PROTOCOL_OTHER });\r\n }\r\n }\r\n\r\n initAnchor() {\r\n this.anchors = [];\r\n this.anchors = [{ value: 0, viewValue: '', anchorValue: LinkAnchor.Blank }];\r\n }\r\n\r\n parseLinkUrl(typeId: number, url: string) {\r\n if (typeId === LinkType.anchorText) {\r\n this.getEditorAnchor();\r\n this.anchorText = url.substr(1);\r\n } else if (typeId === LinkType.email) {\r\n const p1 = url.indexOf('mailto:');\r\n const p2 = url.indexOf('?subject=');\r\n const p3 = url.indexOf('&body=');\r\n this.emailAddress = url.substr(p1 + 7, p2 - 7);\r\n this.emailSubject = url.substr(p2 + 9, p3 - p2 - 9);\r\n this.emailBody = url.substr(p3 + 6, url.length - p3 - 6);\r\n } else if (typeId === LinkType.anchorDocument) {\r\n const flashIndex = url.lastIndexOf('/');\r\n const hashIndex = url.indexOf('#');\r\n const sId = url.substr(flashIndex + 1, hashIndex - 1 - flashIndex);\r\n const documentId = parseInt(sId, 10);\r\n this.getAnchorDocument(documentId);\r\n this.anchorByName = url.substr(hashIndex + 1, url.length - hashIndex);\r\n this.anchorTitle = this.data.title;\r\n }\r\n }\r\n\r\n onSelectedLinkType() {\r\n if (this.selectedLink === LinkType.anchorText) {\r\n this.getEditorAnchor();\r\n } else if (this.selectedLink === LinkType.anchorDocument) {\r\n if (!this.documentAnchors) {\r\n this.anchorDocuments = [];\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.documentAnchors = this.anchors;\r\n }\r\n }\r\n }\r\n\r\n eHandbook(isOnlyDocument: boolean, isAnchorDocument: boolean) {\r\n const data = new QMSCKEditorRelation();\r\n data.isOnlyDocument = isOnlyDocument;\r\n data.isEnableFolder = !isOnlyDocument;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorRelatedComponent, {\r\n width: '650px',\r\n height: '650px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n if (!isAnchorDocument) {\r\n this.url = result.url;\r\n if (!this.advisoryTitle) {\r\n this.advisoryTitle = result.title;\r\n }\r\n this.selectedProtocol = ProtocolType.other;\r\n } else {\r\n this.documentId = result.id;\r\n this.anchorTitle = `${result.title}(${result.id})`;\r\n this.getAnchorDocument(result.id);\r\n }\r\n }\r\n });\r\n }\r\n\r\n attachment() {\r\n const data = new QMSCKEditorParamter();\r\n data.module = this.data.module;\r\n data.entityId = this.data.entityId;\r\n const dialogTemplate = this.dialog.open(LinkAttachmentComponent, {\r\n width: '650px',\r\n height: '650px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.url = result.url;\r\n if (!this.advisoryTitle) {\r\n this.advisoryTitle = result.title;\r\n }\r\n this.selectedProtocol = ProtocolType.other;\r\n }\r\n });\r\n }\r\n\r\n getEditorAnchor() {\r\n this.anchorDocuments = [];\r\n if (this.editorContent) {\r\n this.anchorDocuments.push({\r\n id: 0,\r\n entityId: 0,\r\n documentId: 0,\r\n documentTypeId: 0,\r\n richText: this.editorContent\r\n });\r\n }\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.editorAnchors = this.anchors;\r\n }\r\n\r\n getAnchorDocument(documentId: number) {\r\n this.linkService\r\n .getAnchorDocumentList(documentId)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((res) => {\r\n if (res) {\r\n this.anchorDocuments = res;\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.documentAnchors = this.anchors;\r\n } else {\r\n this.anchorDocuments = [];\r\n this.setAnchorDocument(this.anchorDocuments);\r\n this.documentAnchors = this.anchors;\r\n }\r\n });\r\n }\r\n\r\n setAnchorDocument(anchorDocument: QMSCKEditorLinkAnchorDocument[]) {\r\n this.initAnchor();\r\n let id = 3;\r\n if (anchorDocument) {\r\n anchorDocument.forEach((e) => {\r\n const div = document.createElement('div');\r\n div.innerHTML = e.richText;\r\n const domContent = div;\r\n const aTags = domContent.getElementsByTagName('a');\r\n if (aTags) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < aTags.length; i++) {\r\n const tag = aTags[i];\r\n if (tag.name) {\r\n const index = this.anchors.findIndex((x) => {\r\n return x.anchorValue === tag.name;\r\n });\r\n if (index < 0) {\r\n this.anchors.push({\r\n value: id,\r\n viewValue: tag.name,\r\n anchorValue: tag.name\r\n });\r\n id += 1;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n this.anchors.push({\r\n value: 1,\r\n viewValue: this.LANG.QMSCKEDITOR.ANCHOR_ATTACHMENT,\r\n anchorValue: LinkAnchor.Attachment\r\n });\r\n this.anchors.push({\r\n value: 2,\r\n viewValue: this.LANG.QMSCKEDITOR.ANCHOR_RELATED_DOCUMENT,\r\n anchorValue: LinkAnchor.Related\r\n });\r\n }\r\n\r\n disableOkButton() {\r\n let isDisable = false;\r\n switch (this.selectedLink) {\r\n case LinkType.url:\r\n isDisable = this.linkFormGroup.invalid;\r\n break;\r\n case LinkType.anchorText:\r\n isDisable = this.anchorTextFormGroup.invalid;\r\n break;\r\n case LinkType.email:\r\n isDisable = this.emailFormGroup.invalid;\r\n break;\r\n case LinkType.anchorDocument:\r\n isDisable = this.anchorDocFormGroup.invalid;\r\n break;\r\n default:\r\n break;\r\n }\r\n return isDisable;\r\n }\r\n\r\n setLink() {\r\n const link = new QMSCKEditorLink();\r\n link.typeId = this.selectedLink;\r\n link.targetId = this.selectedTarget;\r\n link.protocolId = this.selectedProtocol;\r\n if (this.selectedLink === LinkType.url) {\r\n link.url = `${this.selectedLink}${this.selectedProtocol}${this.url}`;\r\n link.title = this.advisoryTitle;\r\n } else if (this.selectedLink === LinkType.anchorText) {\r\n link.url = `${this.selectedLink}${0}#${this.anchorText}`;\r\n link.title = `#${this.anchorText}`;\r\n link.targetId = TargetType.topmost;\r\n } else if (this.selectedLink === LinkType.email) {\r\n link.url = `${this.selectedLink}${0}mailto:${this.emailAddress}?subject=${this.emailSubject}&body=${this.emailBody\r\n }`;\r\n link.title = this.emailAddress;\r\n link.targetId = TargetType.topmost;\r\n } else if (this.selectedLink === LinkType.anchorDocument) {\r\n link.url = `${this.selectedLink}${0}/document/${this.documentId}#${this.anchorByName}`;\r\n link.title = this.anchorTitle;\r\n link.targetId = TargetType.topmost;\r\n }\r\n this.dialogRef.close(link);\r\n }\r\n}\r\n","// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { Injectable, Injector } from '@angular/core';\r\n\r\n// @dynamic\r\nexport class QMSCKEditorInjector {\r\n private static injector: Injector;\r\n\r\n static setInjector(injector: Injector) {\r\n QMSCKEditorInjector.injector = injector;\r\n }\r\n\r\n static getInjector(): Injector {\r\n return QMSCKEditorInjector.injector;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n static getService(type: any) {\r\n const injector = QMSCKEditorInjector.getInjector();\r\n const service = injector.get(type);\r\n return service;\r\n }\r\n}\r\n","import {\r\n MatSnackBar,\r\n MatSnackBarConfig,\r\n MatSnackBarHorizontalPosition,\r\n MatSnackBarVerticalPosition\r\n} from '@angular/material/snack-bar';\r\nimport { QMSCKEditorInjector } from '../../services/qms-ckeditor-injector.service';\r\n\r\nexport class QMSCKEditorToastService {\r\n static horizontalPosition: MatSnackBarHorizontalPosition = 'right';\r\n\r\n static verticalPosition: MatSnackBarVerticalPosition = 'top';\r\n\r\n static actionButtonLabel = 'Close';\r\n\r\n static action = true;\r\n\r\n static setAutoHide = true;\r\n\r\n static autoHide = 3000;\r\n\r\n static success(msg) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = this.setAutoHide ? this.autoHide : 0;\r\n config.panelClass = ['toast-success'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n\r\n static warning(msg, duration?: number) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = duration || (this.setAutoHide ? this.autoHide : 0);\r\n config.panelClass = ['toast-warning'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n\r\n static info(msg) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = this.setAutoHide ? this.autoHide : 0;\r\n config.panelClass = ['toast-infor'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n\r\n static error(msg) {\r\n if (msg && typeof msg === 'string') {\r\n const config = new MatSnackBarConfig();\r\n config.verticalPosition = this.verticalPosition;\r\n config.horizontalPosition = this.horizontalPosition;\r\n config.duration = 0;\r\n config.panelClass = ['toast-error'];\r\n const notifi = QMSCKEditorInjector.getService(MatSnackBar);\r\n notifi.open(msg, this.action ? this.actionButtonLabel : undefined, config);\r\n }\r\n }\r\n}\r\n","export class QMSCKEditorTemplate {\r\n id: number;\r\n title: string;\r\n description: string;\r\n content: string;\r\n deleted: boolean;\r\n createdBy: number;\r\n edit: boolean;\r\n\r\n constructor() {\r\n this.id = 0;\r\n this.title = '';\r\n this.description = '';\r\n this.content = '';\r\n this.deleted = false;\r\n this.createdBy = 0;\r\n this.edit = false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { QMSCKEditorTemplate } from '../models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseService } from './qms-ckeditor-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QMSCKEditorTemplateService extends QMSCKEditorBaseService {\r\n public deleteTemplate(id: number): Observable<boolean> {\r\n return this.delete('ckeditorTemplate/DeleteTemplate', { id });\r\n }\r\n public getTemplate(): Observable<QMSCKEditorTemplate[]> {\r\n return this.get('ckeditorTemplate/GetTemplateList');\r\n }\r\n\r\n public modifyTemplate(template: QMSCKEditorTemplate): Observable<boolean> {\r\n return this.post('ckeditorTemplate/ModifyTemplate', template);\r\n }\r\n}\r\n","import { AfterViewChecked, ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorDialogData } from '../../common/models/qms-ckeditor-dialog.model';\r\nimport { QMSCKEditorConfirmComponent } from '../../common/module/confirm/qms-ckeditor-confirm.component';\r\nimport { QMSCKEditorToastService } from '../../common/toast/qms-ckeditor-toast.service';\r\nimport { QMSCKEditorTemplate } from '../../models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTemplateService } from '../../services/qms-ckedtior-template.service';\r\n\r\ninterface ITemplate {\r\n id: number;\r\n title: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-qmsck-template',\r\n templateUrl: './qms-ckeditor-template.component.html',\r\n styleUrls: ['./qms-ckeditor-template.component.scss']\r\n})\r\nexport class QMSCKEditorTemplateComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {\r\n LANG: any;\r\n templateFormGroup: FormGroup = new FormGroup({\r\n templateList: new FormControl(),\r\n title: new FormControl('', [Validators.required]),\r\n description: new FormControl('', [Validators.required])\r\n });\r\n isExpanded = true;\r\n content: string;\r\n templateList: QMSCKEditorTemplate[] = [];\r\n templates: ITemplate[] = [];\r\n template = new QMSCKEditorTemplate();\r\n selectedId = 0;\r\n isEdit = false;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private templateService: QMSCKEditorTemplateService,\r\n public dialogRef: MatDialogRef<QMSCKEditorTemplateComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorTemplate\r\n ) {\r\n super();\r\n this.content = data.content;\r\n this.selectedId = data.id;\r\n this.isEdit = data.edit;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.getTemplate();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getTemplate() {\r\n this.templateService\r\n .getTemplate()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n this.templateList = response;\r\n this.templates = response.map((x) => {\r\n return {\r\n id: x.id,\r\n title: x.title\r\n };\r\n });\r\n this.addNoneTemplate(this.templates);\r\n } else {\r\n this.addNoneTemplate(this.templates);\r\n }\r\n\r\n if (this.isEdit && this.selectedId !== 0) {\r\n this.onSelectChange();\r\n }\r\n });\r\n }\r\n\r\n addNoneTemplate(template: ITemplate[]) {\r\n if (template && !this.isEdit) {\r\n template.unshift({\r\n id: 0,\r\n title: this.LANG.QMSCKEDITOR.CREATE_NEW_TEMPLATE\r\n });\r\n }\r\n }\r\n\r\n onSelectChange() {\r\n if (this.selectedId === 0) {\r\n this.template.id = this.selectedId;\r\n this.template.title = '';\r\n this.template.description = '';\r\n this.template.content = this.content;\r\n this.template.deleted = false;\r\n this.template.createdBy = 0;\r\n } else if (this.templateList.length > 0) {\r\n const index = this.templateList.findIndex((x) => {\r\n return x.id === this.selectedId;\r\n });\r\n this.template.id = this.templateList[index].id;\r\n this.template.title = this.templateList[index].title;\r\n this.template.description = this.templateList[index].description;\r\n this.template.content = this.templateList[index].content;\r\n this.template.deleted = this.templateList[index].deleted;\r\n this.template.createdBy = this.templateList[index].createdBy;\r\n }\r\n }\r\n\r\n deleteTemplate() {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = this.LANG.QMSCKEDITOR.DELETE_TEMPLATE;\r\n data.content = this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_DELETE_TEMPLATE;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.templateService\r\n .deleteTemplate(this.selectedId)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === this.selectedId;\r\n });\r\n if (index >= 0) {\r\n this.templates.splice(index, 1);\r\n }\r\n this.selectedId = 0;\r\n this.onSelectChange();\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.DELETED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.DELETE_FAILED);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n saveTemplate() {\r\n if (this.selectedId === 0) {\r\n this.template.content = this.content;\r\n }\r\n this.templateService\r\n .modifyTemplate(this.template)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === this.selectedId;\r\n });\r\n if (index >= 0 && this.selectedId !== 0) {\r\n this.templates[index].title = this.template.title;\r\n }\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);\r\n }\r\n });\r\n }\r\n\r\n cancelTemplate() {\r\n this.dialogRef.close();\r\n }\r\n\r\n updateTemplate() {\r\n this.templateService\r\n .modifyTemplate(this.template)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n if (this.isEdit) {\r\n this.dialogRef.close(this.template);\r\n } else {\r\n let index = this.templates.findIndex((x) => {\r\n return x.id === this.template.id;\r\n });\r\n if (index >= 0) {\r\n this.templates[index].title = this.template.title;\r\n }\r\n index = this.templateList.findIndex((x) => {\r\n return x.id === this.template.id;\r\n });\r\n if (index >= 0) {\r\n this.templateList[index].description = this.template.description;\r\n }\r\n }\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.SAVED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.SAVE_FAILED);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorDialogData } from '../../common/models/qms-ckeditor-dialog.model';\r\nimport { QMSCKEditorConfirmComponent } from '../../common/module/confirm/qms-ckeditor-confirm.component';\r\nimport { QMSCKEditorToastService } from '../../common/toast/qms-ckeditor-toast.service';\r\nimport { QMSCKEditorTemplate } from '../../models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTemplateService } from '../../services/qms-ckedtior-template.service';\r\nimport { QMSCKEditorTemplateComponent } from '../qms-ckeditor-template/qms-ckeditor-template.component';\r\n\r\n@Component({\r\n selector: 'app-qmsck-load-template',\r\n templateUrl: './qms-ckeditor-load-template.component.html',\r\n styleUrls: ['./qms-ckeditor-load-template.component.scss']\r\n})\r\nexport class QMSCKEditorLoadTemplateComponent extends QMSCKEditorBaseComponent implements OnInit {\r\n LANG: any;\r\n templates: QMSCKEditorTemplate[] = [];\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private translate: TranslateLibraryService,\r\n private templateService: QMSCKEditorTemplateService,\r\n public dialogRef: MatDialogRef<QMSCKEditorLoadTemplateComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: string\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.getTemplate();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getTemplate() {\r\n this.templateService\r\n .getTemplate()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n this.templates = response;\r\n }\r\n });\r\n }\r\n\r\n onSelectTemplate(id: number) {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = this.LANG.QMSCKEDITOR.CHANGE_TEMPLATE;\r\n data.content = this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_CHANGE_TEMPLATE;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n const content = this.templates[index].content;\r\n this.dialogRef.close(content);\r\n }\r\n });\r\n }\r\n\r\n onEditTemplate(id: number) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n const data: QMSCKEditorTemplate = new QMSCKEditorTemplate();\r\n data.id = this.templates[index].id;\r\n data.content = this.templates[index].content;\r\n data.edit = true;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorTemplateComponent, {\r\n width: '650px',\r\n height: '500px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.templates[index].title = result.title;\r\n this.templates[index].description = result.description;\r\n }\r\n });\r\n }\r\n\r\n onDeleteTemplate(id: number) {\r\n const data: QMSCKEditorDialogData = new QMSCKEditorDialogData();\r\n data.title = this.LANG.QMSCKEDITOR.DELETE_TEMPLATE;\r\n data.content = this.LANG.QMSCKEDITOR_MESSAGE.CONFIRM_DELETE_TEMPLATE;\r\n const dialogRef = this.dialog.open(QMSCKEditorConfirmComponent, {\r\n width: '500px',\r\n minHeight: '175px',\r\n data\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.templateService\r\n .deleteTemplate(id)\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((response) => {\r\n if (response) {\r\n const index = this.templates.findIndex((x) => {\r\n return x.id === id;\r\n });\r\n if (index >= 0) {\r\n this.templates.splice(index, 1);\r\n }\r\n QMSCKEditorToastService.success(this.LANG.QMSCKEDITOR.DELETED);\r\n } else {\r\n QMSCKEditorToastService.error(this.LANG.QMSCKEDITOR.DELETE_FAILED);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { QMSCKEditorToastService } from '../toast/qms-ckeditor-toast.service';\r\nexport class UploadAdapter {\r\n loader: any;\r\n constructor(loader) {\r\n this.loader = loader;\r\n }\r\n\r\n upload() {\r\n return this.loader.file\r\n .then((file) => {\r\n return new Promise((resolve, reject) => {\r\n const myReader = new FileReader();\r\n myReader.onloadend = () => {\r\n resolve({ default: myReader.result });\r\n };\r\n // if (file.size > 512000) {\r\n // const msg = `${file.name} is more than 500kb. Sorry, it has to be less than or equal to 500kb`;\r\n // QMSCKEditorToastService.error(msg);\r\n // reject();\r\n // }\r\n myReader.readAsDataURL(file);\r\n });\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n }\r\n}\r\n","export class CKEditorEventConst {\r\n public static QMSCK_FULLSCREEN_PLUGIN_MSG = 'QMSCK_FULLSCREEN_PLUGIN_MSG';\r\n public static QMSCK_TEMPLATE_PLUGIN_MSG = 'QMSCK_TEMPLATE_PLUGIN_MSG';\r\n public static QMSCK_LOAD_TEMPLATE_PLUGIN_MSG = 'QMSCK_LOAD_TEMPLATE_PLUGIN_MSG';\r\n public static QMSCK_LOAD_TEMPLATE_PLUGIN_RESP = 'QMSCK_LOAD_TEMPLATE_PLUGIN_RESP';\r\n public static QMSCK_LINK_PLUGIN_MSG = 'QMSCK_LINK_PLUGIN_MSG';\r\n public static QMSCK_LINK_PLUGIN_RESP = 'QMSCK_LINK_PLUGIN_RESP';\r\n public static QMSCK_TOOLTIP_PLUGIN_MSG = 'QMSCK_TOOLTIP_PLUGIN_MSG';\r\n public static QMSCK_TOOLTIP_PLUGIN_RESP = 'QMSCK_TOOLTIP_PLUGIN_RESP';\r\n}\r\n","var IFRAME_SRC = '//cdn.iframe.ly/api/iframe';\r\nvar API_KEY = 'b499e92e857f435c39c14d';\r\n\r\nfunction getCKEditorConfiguration(itemToolbar: string) {\r\n const ckeditorConfig = {\r\n toolbar: {\r\n items: [\r\n ],\r\n viewportTopOffset: 30,\r\n shouldNotGroupWhenFull: true\r\n },\r\n language: 'en',\r\n table: {\r\n contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells']\r\n },\r\n image: {\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n toolbar: [\r\n 'imageResize:25',\r\n 'imageResize:50',\r\n 'imageResize:75',\r\n 'imageResize:original',\r\n 'imageStyle:alignLeft',\r\n 'imageStyle:alignCenter',\r\n 'imageStyle:alignRight',\r\n '|',\r\n 'imageTextAlternative',\r\n '|',\r\n 'linkImage'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'imageResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'imageResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'imageResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'imageResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'medium'\r\n }\r\n ]\r\n },\r\n video: {\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n resizeUnit: '%',\r\n toolbar: [\r\n 'videoResize',\r\n '|',\r\n 'videoResize:25',\r\n 'videoResize:50',\r\n 'videoResize:75',\r\n 'videoResize:original',\r\n 'videoStyle:alignLeft',\r\n 'videoStyle:alignCenter',\r\n 'videoStyle:alignRight'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'videoResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'videoResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'videoResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'videoResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'large'\r\n }\r\n ]\r\n },\r\n media: {\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n resizeUnit: '%',\r\n toolbar: [\r\n 'mediaResize',\r\n '|',\r\n 'mediaResize:25',\r\n 'mediaResize:50',\r\n 'mediaResize:75',\r\n 'mediaResize:original',\r\n 'mediaStyle:alignLeft',\r\n 'mediaStyle:alignCenter',\r\n 'mediaStyle:alignRight'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'mediaResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'mediaResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'mediaResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'mediaResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'large'\r\n }\r\n ]\r\n },\r\n // Configure 'mediaEmbed' with Iframely previews.\r\n mediaEmbed: {\r\n // Previews are always enabled if there’s a provider for a URL (below regex catches all URLs)\r\n // By default `previewsInData` are disabled, but let’s set it to `false` explicitely to be sure\r\n previewsInData: true,\r\n styles: ['alignLeft', 'alignCenter', 'alignRight'],\r\n resizeUnit: '%',\r\n toolbar: [\r\n 'mediaResize',\r\n '|',\r\n 'mediaResize:25',\r\n 'mediaResize:50',\r\n 'mediaResize:75',\r\n 'mediaResize:original',\r\n 'mediaStyle:alignLeft',\r\n 'mediaStyle:alignCenter',\r\n 'mediaStyle:alignRight'\r\n ],\r\n resizeOptions: [\r\n {\r\n name: 'mediaResize:original',\r\n value: null,\r\n label: 'Original',\r\n icon: 'original'\r\n },\r\n {\r\n name: 'mediaResize:25',\r\n value: 25,\r\n label: '25%',\r\n icon: 'small'\r\n },\r\n {\r\n name: 'mediaResize:50',\r\n value: 50,\r\n label: '50%',\r\n icon: 'medium'\r\n },\r\n {\r\n name: 'mediaResize:75',\r\n value: 75,\r\n label: '75%',\r\n icon: 'large'\r\n }\r\n ],\r\n // providers: [\r\n // {\r\n // // hint: this is just for previews. Get actual HTML codes by making API calls from your CMS\r\n // name: 'iframely previews',\r\n // // Match all URLs or just the ones you need:\r\n // url: /.+/,\r\n\r\n // html: match => {\r\n // const url = match[0];\r\n\r\n // var iframeUrl = IFRAME_SRC + '?app=1&api_key=' + API_KEY + '&url=' + encodeURIComponent(url);\r\n // // alternatively, use &key= instead of &api_key with the MD5 hash of your api_key\r\n // // more about it: https://iframely.com/docs/allow-origins\r\n\r\n // return (\r\n // // If you need, set maxwidth and other styles for 'iframely-embed' class - it's yours to customize\r\n // '<div class=\"iframely-embed\">' +\r\n // '<div class=\"iframely-responsive\">' +\r\n // `<iframe src=\"${iframeUrl}\" ` +\r\n // 'frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen>' +\r\n // '</iframe>' +\r\n // '</div>' +\r\n // '</div>'\r\n // );\r\n // }\r\n // }\r\n // ]\r\n },\r\n link: {\r\n addTargetToExternalLinks: false,\r\n decorators: [\r\n {\r\n mode: 'manual',\r\n label: 'New window',\r\n attributes: {\r\n target: '_blank',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n mode: 'manual',\r\n label: 'Topmost window',\r\n attributes: {\r\n target: '_top',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n mode: 'manual',\r\n label: 'Same window',\r\n attributes: {\r\n target: '_self',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n mode: 'manual',\r\n label: 'Parent window',\r\n attributes: {\r\n target: '_parent',\r\n manualTarget: true,\r\n url: 'url'\r\n }\r\n },\r\n {\r\n // alway put this one a the bottom\r\n mode: 'manual',\r\n label: 'Select range',\r\n attributes: {\r\n selectedRange: true\r\n }\r\n }\r\n ]\r\n }\r\n };\r\n\r\n if (itemToolbar) {\r\n const itemArray = itemToolbar.split(',');\r\n itemArray.forEach(i => {\r\n ckeditorConfig.toolbar.items.push(i);\r\n });\r\n }\r\n\r\n return ckeditorConfig;\r\n}\r\n\r\nconst CKEditorCommonFunctions = {\r\n getCKEditorConfiguration\r\n};\r\nexport default CKEditorCommonFunctions;\r\n","export class QMSCKEditorTooltip {\r\n text: string;\r\n content: string;\r\n ckEditor:any;\r\n \r\n constructor() {\r\n this.text = '';\r\n this.content = '';\r\n }\r\n }\r\n ","import { AfterViewChecked, ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators, Validator } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TranslateLibraryService } from '../../../services/translation-registry.service';\r\nimport { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';\r\nimport { QMSCKEditorTooltip } from '../../models/qms-ckeditor-tooltip.model';\r\n//import * as customEditor from '../../../../assets/qms-ckeditor-plugin/build/ckEditor';\r\nimport CKEditorCommonFunctions from '../../common/functions/common.function';\r\n\r\ninterface ITooltip {\r\n text: string;\r\n content: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-qmsck-tooltip',\r\n templateUrl: './qms-ckeditor-tooltip.component.html',\r\n styleUrls: ['./qms-ckeditor-tooltip.component.scss']\r\n})\r\nexport class QMSCKEditorTooltipComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {\r\n LANG: any;\r\n tooltipFormGroup: FormGroup = new FormGroup({\r\n title: new FormControl('', [Validators.required]),\r\n content: new FormControl('', [Validators.required])\r\n });\r\n tooltip: ITooltip;\r\n editor: any;\r\n editorConfig: any;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private translate: TranslateLibraryService,\r\n public dialogRef: MatDialogRef<QMSCKEditorTooltipComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: QMSCKEditorTooltip\r\n ) {\r\n super();\r\n this.tooltip = { text: data.text, content: data.content };\r\n this.editor = data.ckEditor;\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {\r\n if (res) {\r\n this.LANG = this.translate.getObjectLang(res);\r\n }\r\n });\r\n this.editorConfig = CKEditorCommonFunctions.getCKEditorConfiguration(',heading,|,fontsize,fontfamily,fontColor,fontBackgroundColor,|,bold,italic,underline,strikethrough,|,alignment,|,bulletedList,numberedList,|,outdent,indent,|,subscript,superscript,|,undo,redo,|,specialCharacters,blockQuote,insertTable,|,link,anchor,|,timestamp,|,removeformat');\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onCloseDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n getOutputContent(content: string) {\r\n this.tooltip.content = content;\r\n }\r\n\r\n public onChanged({ editor }) {\r\n this.tooltip.content = editor.getData();\r\n }\r\n\r\n public onBlur({ editor }) {\r\n this.tooltip.content = editor.getData();\r\n }\r\n\r\n public onReady(editor) {\r\n if (this.tooltip.text) {\r\n editor.setData(this.tooltip.text);\r\n }\r\n editor.ui.getEditableElement().parentElement.insertBefore(editor.ui.view.toolbar.element, editor.ui.getEditableElement());\r\n }\r\n\r\n saveTooltip() {\r\n const tooltip = new QMSCKEditorTooltip();\r\n tooltip.content = this.tooltip.content;\r\n tooltip.text = this.tooltip.text;\r\n this.dialogRef.close(tooltip);\r\n }\r\n\r\n cancelTooltip() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, HostListener, Input, OnInit, Output, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { UploadAdapter } from './common/classes/uploadAdapter';\r\nimport { CKEditorEventConst } from './common/constants/ckeditorEvent.constant';\r\nimport CKEditorCommonFunctions from './common/functions/common.function';\r\nimport { QMSCKEdtiorInputData } from './common/models/qms-ckeditor-input.model';\r\nimport { QMSCKEditorPlugin } from './common/models/qms-ckeditor-plugin.model';\r\nimport QMSCKEditorLink from './common/models/qms-ckeditor-url.model';\r\nimport { QMSCKEditorFullscreenComponent } from './components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component';\r\nimport { QMSCKEditorLinkComponent } from './components/qms-ckeditor-link/qms-ckeditor-link.component';\r\nimport { QMSCKEditorLoadTemplateComponent } from './components/qms-ckeditor-load-template/qms-ckeditor-load-template.component';\r\nimport { QMSCKEditorTemplateComponent } from './components/qms-ckeditor-template/qms-ckeditor-template.component';\r\nimport { QMSCKEditorTemplate } from './models/qms-ckeditor-template.model';\r\nimport { QMSCKEditorBaseComponent } from './qms-ckeditor-base.component';\r\nimport { QMSCKEditorGlobalService } from './services/qms-ckeditor-global.service';\r\nimport { QMSCKEditorTooltip } from './models/qms-ckeditor-tooltip.model';\r\nimport { QMSCKEditorTooltipComponent } from './components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component';\r\n@Component({\r\n selector: 'qms-ckeditor',\r\n templateUrl: './qms-ckeditor.component.html',\r\n styleUrls: ['./qms-ckeditor.component.scss'],\r\n providers: [\r\n QMSCKEditorFullscreenComponent,\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => QMSCKEditorComponent),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => QMSCKEditorComponent),\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class QMSCKEditorComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewInit, Validator {\r\n @Input() qmsckData: QMSCKEdtiorInputData;\r\n @Input() qmsckPlugin: QMSCKEditorPlugin;\r\n @Input() qmsckContentInput: string;\r\n @Input('disabled') isDisabled: boolean;\r\n @Input('required') required: boolean = false;\r\n @Output() qmsckContentOutput: EventEmitter<string> = new EventEmitter();\r\n\r\n ckEditor: any;\r\n name: string;\r\n ckeditorConfig: any;\r\n ckEditorEventConst = CKEditorEventConst;\r\n countWord: number;\r\n countChar: number;\r\n editorInstance: any;\r\n\r\n @HostListener('window:message', ['$event'])\r\n onMessage(event) {\r\n switch (event.data.eventName) {\r\n case this.ckEditorEventConst.QMSCK_FULLSCREEN_PLUGIN_MSG:\r\n this.fullscreenEventHandling();\r\n break;\r\n case this.ckEditorEventConst.QMSCK_TEMPLATE_PLUGIN_MSG:\r\n this.templateEventHandling();\r\n break;\r\n case this.ckEditorEventConst.QMSCK_LOAD_TEMPLATE_PLUGIN_MSG:\r\n this.loadTemplateEventHandling();\r\n break;\r\n case this.ckEditorEventConst.QMSCK_LINK_PLUGIN_MSG:\r\n this.linkEventHandling(event.data.value);\r\n break;\r\n case this.ckEditorEventConst.QMSCK_TOOLTIP_PLUGIN_MSG:\r\n this.tooltipEventHandling(event.data.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Constructor\r\n */\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private globalService: QMSCKEditorGlobalService,\r\n private qmsCKEditorFullscreenComponent: QMSCKEditorFullscreenComponent,\r\n private renderer: Renderer2,\r\n private elRef: ElementRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.name = 'CKEditor custom build';\r\n this.ckEditor = this.qmsckPlugin.pluginObject;\r\n this.ckeditorConfig = CKEditorCommonFunctions.getCKEditorConfiguration(this.qmsckPlugin.itemToolbar);\r\n this.globalService.setApiUrl(this.qmsckData.apiUrl);\r\n if (this.isEnabledCustomizingMathtypeService()) {\r\n this.customizeMathTypeService();\r\n }\r\n if (this.isEnabledCustomizingTimestampFormat()) {\r\n this.customizeTimestampFormat();\r\n }\r\n }\r\n\r\n onChange: (content: any) => void;\r\n onTouched: () => void;\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.isDisabled) {\r\n this.renderer.addClass(this.elRef.nativeElement, 'ck-disabled');\r\n }\r\n }\r\n\r\n isEnabledCustomizingTimestampFormat(): boolean {\r\n const pattern = /(timestamp)/gmi;\r\n return !!this.qmsckData.timestampFormat\r\n && this.qmsckData.timestampFormat !== ''\r\n && !!this.qmsckPlugin.itemToolbar\r\n && this.qmsckPlugin.itemToolbar.search(pattern) > -1;\r\n }\r\n\r\n customizeTimestampFormat() {\r\n const timestampConfig = {\r\n timestampConfig: {\r\n datetimeFormat: this.qmsckData.timestampFormat\r\n }\r\n };\r\n this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, timestampConfig);\r\n }\r\n\r\n isEnabledCustomizingMathtypeService(): boolean {\r\n const pattern = /(MathType)|(ChemType)/gmi;\r\n return !!this.qmsckData.mathtypeServiceUrl\r\n && this.qmsckData.mathtypeServiceUrl !== ''\r\n && !!this.qmsckPlugin.itemToolbar\r\n && this.qmsckPlugin.itemToolbar.search(pattern) > -1;\r\n }\r\n\r\n customizeMathTypeService() {\r\n const mathTypeConfig = {\r\n mathTypeParameters: {\r\n serviceProviderProperties: {\r\n URI: this.qmsckData.mathtypeServiceUrl,\r\n server: 'aspx'\r\n }\r\n }\r\n };\r\n this.ckEditor.defaultConfig = Object.assign(this.ckEditor.defaultConfig || {}, mathTypeConfig);\r\n }\r\n\r\n public onChanged({ editor }) {\r\n this.qmsckContentOutput.emit(this.qmsckContentInput);\r\n }\r\n\r\n public onBlur({ editor }) {\r\n this.qmsckContentOutput.emit(this.qmsckContentInput);\r\n }\r\n\r\n validate(c: FormControl) {\r\n if (!this.required) {\r\n return null;\r\n }\r\n return (this.qmsckContentInput && !this.required) ? null : {\r\n type: {\r\n valid: false,\r\n actual: c.value\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * onReady\r\n */\r\n public onReady(editor) {\r\n this.editorInstance = editor;\r\n if (this.qmsckContentInput) {\r\n editor.setData(this.qmsckContentInput);\r\n }\r\n\r\n this.initEditor(editor);\r\n\r\n }\r\n\r\n private initEditor(editor) {\r\n editor.ui\r\n .getEditableElement()\r\n .parentElement.insertBefore(editor.ui.view.toolbar.element, editor.ui.getEditableElement());\r\n\r\n editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {\r\n return new UploadAdapter(loader);\r\n };\r\n\r\n // Apped Wordcount to CKeditor\r\n editor.plugins.get('WordCount').on('update', (evt, stats) => {\r\n // Prints the current content statistics.\r\n const wordsBox = document.querySelector('.wordcount-content');\r\n wordsBox.textContent = `Words: ${stats.words} / Characters: ${stats.characters}`;\r\n });\r\n\r\n }\r\n\r\n /**\r\n * Full screen - Restore down\r\n */\r\n public fullscreenEventHandling() {\r\n const ck = window.document.getElementById('qmsckeditor');\r\n if (ck) {\r\n if (!ck.classList.contains('qmsckeditor__fullscreen')) {\r\n this.qmsCKEditorFullscreenComponent.showFullScreen();\r\n } else {\r\n this.qmsCKEditorFullscreenComponent.hideFullScreen();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Add template - Load template\r\n */\r\n public templateEventHandling() {\r\n const data: QMSCKEditorTemplate = new QMSCKEditorTemplate();\r\n data.id = 0;\r\n data.content = this.qmsckContentInput;\r\n data.edit = false;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorTemplateComponent, {\r\n width: '650px',\r\n height: '520px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n // TDO\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Add template - Load template\r\n */\r\n public loadTemplateEventHandling() {\r\n const dialogTemplate = this.dialog.open(QMSCKEditorLoadTemplateComponent, {\r\n width: '650px',\r\n height: '700px',\r\n data: this.qmsckContentInput,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_LOAD_TEMPLATE_PLUGIN_RESP, {\r\n detail: result\r\n });\r\n window.dispatchEvent(evt);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Anchor - Link - Image mapping\r\n */\r\n public linkEventHandling(link) {\r\n let data = new QMSCKEditorLink();\r\n data = link;\r\n data.editorContent = this.qmsckContentInput;\r\n data.module = this.qmsckData.module;\r\n data.entityId = this.qmsckData.entityId;\r\n const dialogTemplate = this.dialog.open(QMSCKEditorLinkComponent, {\r\n width: '650px',\r\n height: '660px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_LINK_PLUGIN_RESP, {\r\n detail: result\r\n });\r\n window.dispatchEvent(evt);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Tooltip mapping\r\n */\r\n public tooltipEventHandling(value) {\r\n let data = new QMSCKEditorTooltip();\r\n data.text = value.text;\r\n data.content = value.content;\r\n data.ckEditor = this.qmsckPlugin.pluginObject;\r\n\r\n const dialogTemplate = this.dialog.open(QMSCKEditorTooltipComponent, {\r\n width: '650px',\r\n height: '530px',\r\n data,\r\n disableClose: true\r\n });\r\n dialogTemplate\r\n .afterClosed()\r\n .pipe(takeUntil(this.ngUnsubcribe))\r\n .subscribe((result) => {\r\n if (result) {\r\n const evt = new CustomEvent(this.ckEditorEventConst.QMSCK_TOOLTIP_PLUGIN_RESP, {\r\n detail: result\r\n });\r\n window.dispatchEvent(evt);\r\n }\r\n });\r\n }\r\n}\r\n","import { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { Injector, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\r\nimport { QMSCKEditorConfirmComponent } from './common/module/confirm/qms-ckeditor-confirm.component';\r\nimport { QMSCKEditorTreeComponent } from './common/module/tree/qms-ckeditor-tree.component';\r\nimport { QMSCKEditorFullscreenComponent } from './components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component';\r\nimport { LinkAttachmentComponent } from './components/qms-ckeditor-link/attachments/link-attachment.component';\r\nimport { QMSCKEditorLinkComponent } from './components/qms-ckeditor-link/qms-ckeditor-link.component';\r\nimport { QMSCKEditorLoadTemplateComponent } from './components/qms-ckeditor-load-template/qms-ckeditor-load-template.component';\r\nimport { QMSCKEditorRelatedComponent } from './components/qms-ckeditor-relation/qmsckeditor-related.component';\r\nimport { QMSCKEditorTemplateComponent } from './components/qms-ckeditor-template/qms-ckeditor-template.component';\r\nimport { QMSCKEditorComponent } from './qms-ckeditor.component';\r\nimport { QMSCKEditorInjector } from './services/qms-ckeditor-injector.service';\r\nimport { SharedModule } from '../shared.module';\r\nimport { QMSCKEditorTooltipComponent } from './components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n QMSCKEditorFullscreenComponent,\r\n QMSCKEditorComponent,\r\n QMSCKEditorTemplateComponent,\r\n QMSCKEditorLoadTemplateComponent,\r\n QMSCKEditorConfirmComponent,\r\n QMSCKEditorLinkComponent,\r\n QMSCKEditorTreeComponent,\r\n QMSCKEditorRelatedComponent,\r\n LinkAttachmentComponent,\r\n QMSCKEditorTooltipComponent\r\n ],\r\n imports: [\r\n CKEditorModule,\r\n CommonModule,\r\n MatCommonModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n MatExpansionModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n MatCardModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatButtonModule,\r\n MatTreeModule,\r\n MatAutocompleteModule,\r\n ScrollingModule,\r\n HttpClientModule,\r\n SharedModule\r\n ],\r\n providers: [],\r\n exports: [QMSCKEditorComponent],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class QMSCKEditorModule {\r\n constructor(private injectors: Injector) {\r\n QMSCKEditorInjector.setInjector(this.injectors);\r\n }\r\n}\r\n","export class QMSCKEditorData {\r\n apiUrl?: string;\r\n module?: number;\r\n entityId?: string;\r\n documentId?: number;\r\n mathtypeServiceUrl?: string;\r\n timestampFormat?: string;\r\n}\r\n","export class QMSCKEdtiorInputData {\r\n apiUrl: string;\r\n module: number;\r\n entityId: string;\r\n documentId: number;\r\n mathtypeServiceUrl: string;\r\n timestampFormat: string;\r\n\r\n constructor() {\r\n this.apiUrl = '';\r\n this.module = 0;\r\n this.entityId = '';\r\n this.documentId = 0;\r\n this.mathtypeServiceUrl = '';\r\n this.timestampFormat = '';\r\n }\r\n}\r\n","export class QMSCKEditorLinkAnchorDocument {\r\n id: number;\r\n entityId: number;\r\n documentId: number;\r\n documentTypeId: number;\r\n richText: string;\r\n\r\n constructor() {\r\n this.id = 0;\r\n this.entityId = 0;\r\n this.documentId = 0;\r\n this.documentTypeId = 0;\r\n this.richText = '';\r\n }\r\n}\r\n","export default class QMSCKEditorLinkAttachment {\r\n itemId: string;\r\n fileName: string;\r\n placementId: number;\r\n processrelationTypeId: number;\r\n extension: string;\r\n description: string;\r\n sort: number;\r\n extraId: string;\r\n}\r\n","export default class QMSCKEditorTree {\r\n rootId: string;\r\n parentId: string;\r\n rootName: string;\r\n subName: string;\r\n childId: string;\r\n childName: string;\r\n statusId: number;\r\n displayId: number;\r\n}\r\n","export class QMSCKEditorPlugin {\r\n pluginObject: any;\r\n itemToolbar: string;\r\n\r\n constructor() {\r\n this.pluginObject = null;\r\n this.itemToolbar = '';\r\n }\r\n}\r\n","import { ViewChild } from '@angular/core';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { IconModel } from './qms-app-bar.model';\r\n\r\n@Component({\r\n selector: 'app-qms-app-bar',\r\n templateUrl: './qms-app-bar.component.html',\r\n styleUrls: ['./qms-app-bar.component.scss']\r\n})\r\nexport class QmsAppBarComponent implements OnInit {\r\n @ViewChild('menu', { static: true }) menu: MatButton;\r\n\r\n // nomal style\r\n @Input() isNomalType = false;\r\n @Input() leftFirstIcon = 'keyboard_backspace';\r\n @Input() title: string;\r\n @Input() cancelTitle: string;\r\n @Input() confirmTitle: string;\r\n @Input() disabledConfirmAction: boolean;\r\n @Output() onClickLeftFirstIconEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() onCancelEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() onConfirmEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n // modern style\r\n @Input() hideMenuDropdown: boolean;\r\n @Input() logoSvgPath: string;\r\n @Input() imgSvgPath: string;\r\n @Input() isImgSvgTransparent: boolean;\r\n @Input() rightIcons: IconModel[] = [];\r\n @Input() notifications = 0;\r\n @Output() onMenuClickedEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() onRightIconClickedEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor() { }\r\n \r\n ngOnInit(): void {\r\n }\r\n\r\n onCancel() {\r\n this.onCancelEvent.emit();\r\n }\r\n\r\n onClickLeftFirstIcon() {\r\n this.onClickLeftFirstIconEvent.emit();\r\n }\r\n\r\n onConfirm() {\r\n this.onConfirmEvent.emit();\r\n }\r\n\r\n onMenuClicked() {\r\n this.onMenuClickedEvent.emit();\r\n }\r\n\r\n onRightIconClicked(icon: string) {\r\n this.onRightIconClickedEvent.emit(icon);\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QmsAppBarComponent } from './qms-app-bar.component';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { QMSButtonModule } from '../button/button.module';\r\n\r\n@NgModule(\r\n {\r\n declarations: [\r\n QmsAppBarComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatToolbarModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatBadgeModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n QmsAppBarComponent\r\n ]\r\n }\r\n)\r\n\r\nexport class QmsAppBarModule {\r\n}\r\n","export class IconModel {\r\n icon: string;\r\n tooltip: string;\r\n cssClass: string;\r\n svg: boolean;\r\n isShow: boolean;\r\n constructor(icon: string, tooltip: string, cssClass = '', svg = false, isShow = true) {\r\n this.icon = icon;\r\n this.tooltip = tooltip;\r\n this.svg = svg;\r\n this.cssClass = cssClass;\r\n this.isShow = isShow;\r\n }\r\n}","import { MatDialogConfig } from \"@angular/material/dialog\";\r\n\r\nexport class ConfirmDialog {\r\n title: string;\r\n body: string;\r\n normalTitle: string;\r\n closeButton: boolean;\r\n buttonType: string;\r\n actionText: string;\r\n cancelText: string;\r\n\r\n constructor() {\r\n this.title = '';\r\n this.body = '';\r\n this.normalTitle = '';\r\n this.buttonType = 'normal';\r\n this.closeButton = false;\r\n this.actionText = 'Confirm';\r\n this.cancelText = 'Cancel';\r\n }\r\n}\r\n\r\n\r\n\r\nexport class QMSDialogConfig extends MatDialogConfig {\r\n constructor(data: ConfirmDialog, width: string = '', minHeight: string = '', panelClass: string = '') {\r\n super();\r\n this.data = data;\r\n this.width = width;\r\n this.disableClose = false;\r\n this.panelClass = ['qms-dialog'];\r\n this.panelClass.push(panelClass);\r\n this.autoFocus = false;\r\n this.restoreFocus = false;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { QMSToolTipComponent } from './tooltip';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n CommonModule\r\n ],\r\n exports: [\r\n QMSToolTipComponent,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n \r\n ],\r\n declarations: [\r\n QMSToolTipComponent\r\n ],\r\n})\r\nexport class QMSTooltipModule { }","export class QmsBannerContent {\r\n text: string;\r\n tooltip?: string;\r\n bold?: boolean;\r\n}\r\n\r\nexport enum BannerType {\r\n primary = 'primary',\r\n warning = 'warning',\r\n success = 'success',\r\n error = 'error',\r\n light = 'light',\r\n none = 'none',\r\n}\r\n\r\nexport class QmsBannerConfirmButton {\r\n id: string | number;\r\n text: string;\r\n}\r\n\r\nexport class QmsBannerConfirmButtonClick {\r\n button: QmsBannerConfirmButton;\r\n event: PointerEvent;\r\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BannerType, QmsBannerContent } from '../models/qms-banner.model';\r\n\r\n@Component({\r\n selector: 'qms-banner',\r\n templateUrl: './qms-banner.component.html',\r\n styleUrls: ['./qms-banner.component.scss']\r\n})\r\nexport class QmsBannerComponent {\r\n @Input() type = BannerType.primary;\r\n @Input() contents: QmsBannerContent[] = [];\r\n @Input() icon: string;\r\n @Input() buttonText: string;\r\n @Input() buttonMinWidth: number;\r\n\r\n @Output() buttonClick = new EventEmitter<PointerEvent>();\r\n\r\n public onClickButton(event: PointerEvent) {\r\n this.buttonClick.emit(event);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QmsBannerComponent } from './qms-banner.component';\r\nimport { QMSButtonModule } from '../../button/button.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsBannerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n QmsBannerComponent\r\n ]\r\n})\r\nexport class QmsBannerModule { }\r\n","import { Component, Input } from '@angular/core';\r\nimport { BannerType } from '../models/qms-banner.model';\r\n\r\n@Component({\r\n selector: 'qms-banner-loading',\r\n templateUrl: './qms-banner-loading.component.html',\r\n styleUrls: ['./qms-banner-loading.component.scss']\r\n})\r\nexport class QmsBannerLoadingComponent {\r\n @Input() type = BannerType.primary;\r\n @Input() title: string;\r\n @Input() percent: number;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { QmsBannerLoadingComponent } from './qms-banner-loading.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsBannerLoadingComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatProgressSpinnerModule\r\n ],\r\n exports: [\r\n QmsBannerLoadingComponent\r\n ]\r\n})\r\nexport class QmsBannerLoadingModule { }\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BannerType, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerContent } from '../models/qms-banner.model';\r\n\r\n@Component({\r\n selector: 'qms-banner-confirm',\r\n templateUrl: './qms-banner-confirm.component.html',\r\n styleUrls: ['./qms-banner-confirm.component.scss']\r\n})\r\nexport class QmsBannerConfirmComponent {\r\n @Input() type = BannerType.primary;\r\n @Input() contents: QmsBannerContent[] = [];\r\n @Input() icon: string;\r\n @Input() title: string;\r\n @Input() buttons: QmsBannerConfirmButton[];\r\n\r\n @Output() buttonClick = new EventEmitter<QmsBannerConfirmButtonClick>();\r\n\r\n public onClickButton(event: PointerEvent, button: QmsBannerConfirmButton) {\r\n this.buttonClick.emit({\r\n event: event,\r\n button: button\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QmsBannerConfirmComponent } from './qms-banner-confirm.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { QMSButtonModule } from '../../button/button.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n QmsBannerConfirmComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n QMSButtonModule\r\n ],\r\n exports: [\r\n QmsBannerConfirmComponent\r\n ]\r\n})\r\nexport class QmsBannerConfirmModule { }\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit, ChangeDetectionStrategy, Component,\r\n ContentChildren, Directive, ElementRef, HostListener, Input, OnInit,\r\n QueryList, Renderer2, ViewEncapsulation\r\n} from \"@angular/core\";\r\n\r\n\r\n@Component({\r\n selector: 'qms-table-action',\r\n templateUrl: 'table-action.html',\r\n styleUrls: ['table.scss'],\r\n host: { 'class': 'qms-table-action' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSTableAction implements OnInit {\r\n\r\n constructor(private elRef: ElementRef) { }\r\n ngOnInit() { }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'qms-table-action-block',\r\n templateUrl: 'table-action-block.html',\r\n styleUrls: ['table.scss'],\r\n host: {\r\n 'class': 'qms-table-action-block',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QMSTableActionBlock implements AfterViewInit {\r\n\r\n constructor(private elRef: ElementRef<HTMLElement>, private renderer: Renderer2) { }\r\n\r\n ngAfterViewInit() {\r\n }\r\n}\r\n\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nimport { QMSTableAction, QMSTableActionBlock } from './table-action';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatCommonModule,\r\n MatIconModule,\r\n ],\r\n exports: [\r\n MatCommonModule,\r\n MatIconModule,\r\n QMSTableAction,\r\n QMSTableActionBlock,\r\n ],\r\n declarations: [\r\n QMSTableAction,\r\n QMSTableActionBlock,\r\n ],\r\n providers: []\r\n})\r\nexport class QMSTableModule { }\r\n","import { ItemIconType } from \"../../related/common/item-icon-type.enum\";\r\n\r\nexport class BreadcrumbNode {\r\n icon: string;\r\n iconColor: string;\r\n itemIcon: string;\r\n itemIconSvg: string;\r\n itemIconPath: string;\r\n itemIconBase64: string;\r\n name: string;\r\n isOverflow?: boolean;\r\n isShow?: boolean;\r\n displayType?: ItemIconType;\r\n}\r\n ","export class StepModel {\r\n id: string;\r\n name: string;\r\n disabled: boolean;\r\n selected: boolean;\r\n constructor(id: string, name: string, disabled: boolean, selected: boolean) {\r\n this.id = id;\r\n this.disabled = disabled;\r\n this.name = name;\r\n this.selected = selected;\r\n }\r\n}","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\r\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { StepModel } from './qms-stepper.model';\r\n\r\n@Component({\r\n selector: 'app-qms-stepper',\r\n templateUrl: './qms-stepper.component.html',\r\n styleUrls: ['./qms-stepper.component.scss']\r\n})\r\nexport class QmsStepperComponent implements OnInit {\r\n @ViewChild('stepper', { static: false }) stepper;\r\n @Input() steps: StepModel[] = [];\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() isHorizontal = false;\r\n @Input() currentStep = 0;\r\n @Input() labelPosition = 'end';\r\n @Output() selectionChangeEvent: EventEmitter<number> = new EventEmitter();\r\n constructor(private changeDetector: ChangeDetectorRef) {\r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n changeStep(selectedIndex: number): void {\r\n this.currentStep = selectedIndex;\r\n this.selectionChangeEvent.emit(selectedIndex);\r\n }\r\n}\r\n","import { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { QmsStepperComponent } from './qms-stepper.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n@NgModule(\r\n {\r\n declarations: [\r\n QmsStepperComponent\r\n ],\r\n imports: [\r\n MatStepperModule,\r\n CommonModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n QmsStepperComponent\r\n ],\r\n entryComponents: [\r\n QmsStepperComponent\r\n ],\r\n providers: [{\r\n provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false }\r\n }]\r\n }\r\n)\r\n\r\nexport class QmsStepperModule {\r\n}","import { MatSnackBarConfig, MatSnackBarHorizontalPosition } from \"@angular/material/snack-bar\";\r\n\r\nexport class QMSSnackbarConfig extends MatSnackBarConfig {\r\n constructor(duration: number = 3000, horizontalPosition: MatSnackBarHorizontalPosition = 'right', panelClass: string | string[] = ['c-snackbar-qms']) {\r\n super();\r\n this.duration = duration;\r\n this.horizontalPosition = horizontalPosition;\r\n this.panelClass = panelClass;\r\n }\r\n}\r\n","/*\r\n * Public API Surface of qms-angular\r\n */\r\n\r\nimport { from } from 'rxjs';\r\n\r\nexport * from './lib/qms-angular.service';\r\nexport * from './lib/qms-angular.component';\r\nexport * from './lib/qms-angular.module';\r\n\r\n// directives\r\n// export * from './lib/directives/directive.module';\r\nexport * from './lib/directives/margin.directive';\r\nexport * from './lib/directives/form.directive';\r\n\r\n// //components\r\nexport * from './lib/components/test-only/test-only.component';\r\n\r\nexport * from './lib/components/button/button.module';\r\nexport * from './lib/components/button/button';\r\nexport * from './lib/components/button/color';\r\n\r\nexport * from './lib/components/comment/comment';\r\n\r\n\r\nexport * from './lib/directives/search-field.directive';\r\nexport * from './lib/directives/range-slider/range-slider.directive';\r\nexport * from './lib/directives/range-slider/range-slider-lockup.directive';\r\nexport * from './lib/components/list/list.module';\r\nexport * from './lib/components/list/list';\r\nexport * from './lib/components/suffix-field/suffix-field.directive';\r\n\r\nexport * from './lib/services/translation-registry.service';\r\nexport * from './lib/shared.module';\r\nexport * from './lib/model/en';\r\nexport * from './lib/model/no';\r\n\r\nexport * from './lib/components/rich-text/rich-text.module';\r\nexport * from './lib/components/rich-text/rich-text';\r\n\r\n\r\n\r\nexport * from './lib/directives/chips/chip.directive';\r\nexport * from './lib/directives/chips/chip-body.directive';\r\nexport * from './lib/components/edit-file-name-dialog/edit-file-name-dialog.module';\r\nexport * from './lib/components/edit-file-name-dialog/edit-file-name-dialog';\r\nexport * from './lib/components/upload-file-error-dialog/upload-file-error-dialog.module';\r\nexport * from './lib/components/upload-file-error-dialog/upload-file-error-dialog';\r\n\r\nexport * from './lib/directives/file-upload/file-upload.directive';\r\nexport * from './lib/directives/file-upload/file-upload-attachment-list.directive';\r\nexport * from './lib/directives/file-upload/file-upload-selector.directive';\r\nexport * from './lib/directives/file-upload/file-upload-display.directive';\r\nexport * from './lib/directives/file-upload/file-upload-scrollable-attachment-list.directive';\r\nexport * from './lib/directives/file-upload/file-upload-multiple.directive';\r\nexport * from './lib/directives/file-upload/file-upload-multiple-selector.directive';\r\nexport * from './lib/directives/file-upload/file-upload-multiple-display.directive';\r\nexport * from './lib/directives/file-upload/qms-file-upload-attachment.model';\r\n\r\n\r\nexport * from './lib/directives/dropdown-menu/dropdown-item.directive';\r\n\r\nexport * from './lib/directives/scrollbar/scrollbar.directive';\r\nexport * from './lib/directives/scroll-selected/scroll-to-selected.directive';\r\n\r\n// export * from './lib/components/substance-conflict/substance-conflict.module';\r\n// export * from './lib/components/substance-conflict/substaince-conflict.base';\r\n// export * from './lib/components/substance-conflict/substance-conflict.component';\r\n\r\nexport * from './lib/components/related/related.module';\r\nexport * from './lib/components/related/tree/tree.component';\r\nexport * from './lib/components/related/common/tree.function';\r\nexport * from './lib/components/related/model/tree-node.model';\r\nexport * from './lib/components/related/model/tree.model';\r\nexport * from './lib/components/related/popup/related-popup.component';\r\nexport * from './lib/components/related/model/popup-data.model';\r\nexport * from './lib/components/related/content/related-content.component';\r\nexport * from './lib/components/related/sidenav/sidenav.component';\r\nexport * from './lib/components/related/model/sidenav.model';\r\nexport * from './lib/components/related/risk/analysis/analysis.component';\r\nexport * from './lib/components/related/model/risk-analysis.model';\r\nexport * from './lib/components/related/model/tree-config.model';\r\nexport * from './lib/components/related/model/risk-danger.model';\r\nexport * from './lib/components/related/risk/result/result.component';\r\nexport * from './lib/components/related/model/risk-result.model';\r\nexport * from './lib/components/related/risk/list/list.component';\r\nexport * from './lib/components/related/list-other-related/list-related.component'\r\nexport * from './lib/components/related/service/related-global.service';\r\nexport * from './lib/components/related/common/qms-icon.const';\r\n/* qms-ckeditor */\r\nexport * from './lib/qms-ckeditor-components/qms-ckeditor.module';\r\nexport * from './lib/qms-ckeditor-components/qms-ckeditor-base.component';\r\nexport * from './lib/qms-ckeditor-components/qms-ckeditor.component';\r\n\r\nexport * from './lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant';\r\nexport * from './lib/qms-ckeditor-components/common/enums/document-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/link-anchor.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/link-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/protocol-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/target-type.enum';\r\nexport * from './lib/qms-ckeditor-components/common/enums/module.enum';\r\nexport * from './lib/qms-ckeditor-components/common/functions/common.function';\r\nexport * from './lib/qms-ckeditor-components/common/functions/tree.function';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-dialog.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-link-anchor-document.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-link-attachment.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-relation.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-tree.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-url.model';\r\nexport * from './lib/qms-ckeditor-components/common/models/qms-ckeditor-plugin.model';\r\nexport * from './lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component';\r\nexport * from './lib/qms-ckeditor-components/common/module/tree/qms-ckeditor-tree.component';\r\nexport * from './lib/qms-ckeditor-components/common/toast/qms-ckeditor-toast.service';\r\n\r\nexport * from './lib/qms-ckeditor-components/models/qms-ckeditor-template.model';\r\n\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component';\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component';\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component';\r\n// export * from './lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component';\r\nexport * from './lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component';\r\n\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-global.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-injector.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-base.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckedtior-template.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckedtior-template.service';\r\nexport * from './lib/qms-ckeditor-components/services/qms-ckeditor-link.service';\r\n\r\nexport * from './lib/directives/text-block/text-block.directive';\r\nexport * from './lib/directives/text-block/text-block-line.directive';\r\nexport * from './lib/components/qms-app-bar/qms-app-bar.module';\r\nexport * from './lib/components/qms-app-bar/qms-app-bar.model';\r\nexport * from './lib/components/qms-app-bar/qms-app-bar.component';\r\n\r\nexport * from './lib/components/dialog/constant';\r\nexport * from './lib/components/dialog/dialog';\r\n\r\nexport * from './lib/directives/side-sheet/drawer.directive';\r\nexport * from './lib/directives/side-sheet/drawer-header.directive';\r\nexport * from './lib/directives/side-sheet/drawer-content.directive';\r\nexport * from './lib/directives/side-sheet/drawer-header-action.directive';\r\nexport * from './lib/directives/tooltip/tooltip-renderer.directive';\r\nexport * from './lib/directives/tooltip/tooltip-image.directive';\r\nexport * from './lib/components/tooltip/tooltip';\r\nexport * from './lib/components/tooltip/tooltip.module';\r\n\r\nexport * from './lib/directives/tab/tab-label.directive';\r\nexport * from './lib/directives/tab/tab-group.directive';\r\nexport * from './lib/directives/tab/tab-group-advanced.directive';\r\n\r\nexport * from './lib/components/banner/qms-banner/qms-banner.module';\r\nexport * from './lib/components/banner/qms-banner/qms-banner.component';\r\nexport * from './lib/components/banner/qms-banner-loading/qms-banner-loading.module';\r\nexport * from './lib/components/banner/qms-banner-loading/qms-banner-loading.component';\r\nexport * from './lib/components/banner/qms-banner-confirm/qms-banner-confirm.module';\r\nexport * from './lib/components/banner/qms-banner-confirm/qms-banner-confirm.component';\r\nexport * from './lib/components/banner/models/qms-banner.model';\r\n\r\nexport * from './lib/components/button/button-toggle';\r\nexport * from './lib/pipe/dateFormat.pipe';\r\n\r\nexport * from './lib/directives/chip-input/chip-input-field.directive';\r\nexport * from './lib/directives/chip-input/chip-input-select-field.directive';\r\nexport * from './lib/directives/chip-input/chip-input-select-trigger.directive';\r\nexport * from './lib/directives/chip-input/chip-input-select-dropdown.directive';\r\nexport * from './lib/directives/chip-input/chip-input-chip-list.directive';\r\nexport * from './lib/components/table/table.module';\r\nexport * from './lib/components/table/table-action';\r\n\r\n\r\nexport * from './lib/components/breadcrumb/breadcrumb';\r\nexport * from './lib/components/breadcrumb/breadcrumb.module';\r\nexport * from './lib/components/breadcrumb/breadcrumb-item.directive';\r\nexport * from './lib/components/breadcrumb/breadcrumb-direction-icon.directive';\r\nexport * from './lib/components/breadcrumb/model/breadcrumb-node.model';\r\n\r\nexport * from './lib/common/qms-icon.const';\r\n\r\nexport * from './lib/components/qms-stepper/qms-stepper.model';\r\nexport * from './lib/components/qms-stepper/qms-stepper.module';\r\nexport * from './lib/components/qms-stepper/qms-stepper.component';\r\nexport * from './lib/components/snackbar/snackbar';\r\n\r\nexport * from './lib/directives/scroll-selected/scroll-to-selected.directive';\r\n\r\nexport * from './lib/components/app-icon/icon-registry.service';\r\nexport * from './lib/components/app-icon/app-icon.module';\r\n\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {SharedMaterialModule as ɵa} from './lib/material-module';\nexport {LinkAttachmentComponent as ɵd} from './lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component';\nexport {QMSCKEditorTemplateComponent as ɵb} from './lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component';\nexport {QMSCKEditorTooltipComponent as ɵe} from './lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component';\nexport {QMSCKEditorTooltip as ɵf} from './lib/qms-ckeditor-components/models/qms-ckeditor-tooltip.model';\nexport {QMSCKEditorTreeService as ɵc} from './lib/qms-ckeditor-components/services/qms-ckeditor-tree.service';"],"names":["Injectable","BehaviorSubject","Component","EventEmitter","ChangeDetectionStrategy","Input","Output","FormBuilder","ElementRef","MatDialogRef","Inject","MAT_DIALOG_DATA","ViewChild","HostListener","Directive","ContentChild","MatAutocompleteTrigger","NgControl","Optional","FileErrorType","MatDialog","Renderer2","ViewEncapsulation","ComponentPortal","Overlay","OverlayPositionBuilder","InjectionToken","NG_VALUE_ACCESSOR","forwardRef","coerceBooleanProperty","SelectionModel","ChangeDetectorRef","ContentChildren","mixinDisableRipple","FocusMonitor","Attribute","mixinDisabled","ANIMATION_MODULE_TYPE","NgModule","MatCommonModule","MatIconModule","MatProgressSpinnerModule","MatInputModule","MatCardModule","MatDialogModule","CUSTOM_ELEMENTS_SCHEMA","moment","Pipe","CommonModule","FormsModule","ReactiveFormsModule","MAT_FORM_FIELD_DEFAULT_OPTIONS","MAT_RADIO_DEFAULT_OPTIONS","setLines","MatListModule","MatExpansionModule","MAT_EXPANSION_PANEL_DEFAULT_OPTIONS","NO_ERRORS_SCHEMA","NG_VALIDATORS","MatButtonModule","MatFormFieldModule","MatIconRegistry","DomSanitizer","ViewChildren","MatMenuModule","objData","buildArrayTree","TreeNode","buildObjectTree","findParent","findChild","FlatTreeControl","MatTreeFlattener","MatTreeFlatDataSource","Subject","FormControl","takeUntil","debounceTime","MatTreeModule","MatCheckboxModule","MatAutocompleteModule","ScrollingModule","MatSidenavModule","HttpHeaders","HttpClient","CKEditorModule","LinkAnchor","LinkType","ProtocolType","TargetType","QMSCKEditorDocumentType","forkJoin","FormGroup","Validators","MatSnackBarConfig","MatSnackBar","MatSnackBarModule","MatSelectModule","HttpClientModule","Injector","MatToolbarModule","MatTooltipModule","MatBadgeModule","MatDialogConfig","BannerType","MatStepperModule","STEPPER_GLOBAL_OPTIONS"],"mappings":"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"}
|