@colijnit/sharedcomponents 1.0.55 → 1.0.56
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/.browserslistrc +16 -0
- package/.editorconfig +16 -0
- package/.vscode/extensions.json +4 -0
- package/.vscode/launch.json +20 -0
- package/.vscode/tasks.json +42 -0
- package/README.md +11 -8
- package/Sharedcomponents.iml +11 -0
- package/angular.json +177 -0
- package/custom-login-bundle.webpack.config.js +3 -0
- package/karma.conf.js +44 -0
- package/move-assets.js +14 -0
- package/package.json +68 -31
- package/projects/sharedcomponents/.browserslistrc +16 -0
- package/projects/sharedcomponents/README.md +24 -0
- package/projects/sharedcomponents/karma.conf.js +44 -0
- package/projects/sharedcomponents/ng-package.json +17 -0
- package/projects/sharedcomponents/package.json +23 -0
- package/projects/sharedcomponents/src/lib/assets/dictionary/text.properties.ts +8 -0
- package/projects/sharedcomponents/src/lib/assets/icons/account.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/angle_left_solid.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/angle_right_solid.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/arrow_fat_right.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_left.svg +8 -0
- package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_right.svg +4 -0
- package/projects/sharedcomponents/src/lib/assets/icons/at_solid.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/bring_forward_regular.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/check_duotone.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/check_round.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/cross_skinny.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/delete_left_regular.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/delivery_truck.svg +12 -0
- package/projects/sharedcomponents/src/lib/assets/icons/email.svg +5 -0
- package/projects/sharedcomponents/src/lib/assets/icons/envelope_regular.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/eye_regular.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/file_export_regular.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/file_export_solid.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/file_pdf_regular.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/file_pdf_solid.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/file_signature_regular.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/house_blank_regular.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/lock.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/message_sms_regular.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/message_sms_solid.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/pdf.svg +15 -0
- package/projects/sharedcomponents/src/lib/assets/icons/print.svg +10 -0
- package/projects/sharedcomponents/src/lib/assets/icons/print_regular.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/print_solid.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/signature_field.svg +9 -0
- package/projects/sharedcomponents/src/lib/assets/icons/tag_regular.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/x_solid.svg +1 -0
- package/projects/sharedcomponents/src/lib/assets/icons/xml.svg +1 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-base-view.component.ts +68 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-day-view.component.ts +35 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-event.component.ts +73 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-events.component.ts +53 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.ts +81 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-header.component.ts +275 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-cell.component.ts +38 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.ts +50 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view.component.ts +46 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-month-view.component.ts +65 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-select-event.component.ts +39 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-view.component.ts +41 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-select-view.component.ts +63 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-view.component.ts +50 -0
- package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/agenda/style/_layout.scss +12 -12
- package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/agenda/style/_material-definition.scss +2 -1
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/view-select.component.ts +43 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-months.component.ts +37 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-years.component.ts +52 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-header.component.ts +123 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-view.component.ts +200 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar.component.ts +35 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.component.ts +141 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.module.ts +61 -0
- package/projects/sharedcomponents/src/lib/components/date-planning/style/material.scss +7 -0
- package/projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts +82 -0
- package/projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts +50 -0
- package/projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts +270 -0
- package/projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts +22 -0
- package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.component.ts +216 -0
- package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.module.ts +20 -0
- package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.component.ts +98 -0
- package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.module.ts +21 -0
- package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.component.ts +57 -0
- package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.module.ts +17 -0
- package/projects/sharedcomponents/src/lib/components/login/components/login-base.component.ts +98 -0
- package/projects/sharedcomponents/src/lib/components/login/components/login-change-password.component.ts +194 -0
- package/projects/sharedcomponents/src/lib/components/login/components/login-mfa-code-entry.component.ts +41 -0
- package/projects/sharedcomponents/src/lib/components/login/components/login-mfa-code-setup.component.ts +44 -0
- package/projects/sharedcomponents/src/lib/components/login/components/login-username-password.component.ts +167 -0
- package/projects/sharedcomponents/src/lib/components/login/localization/login-translation.ts +15 -0
- package/projects/sharedcomponents/src/lib/components/login/login.component.ts +137 -0
- package/projects/sharedcomponents/src/lib/components/login/login.module.ts +53 -0
- package/projects/sharedcomponents/src/lib/components/login/service/login-adapter.service.ts +58 -0
- package/projects/sharedcomponents/src/lib/components/login/service/login.service.ts +50 -0
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/enums/field-type.enum.ts +9 -0
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Config.ts +6 -0
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Field.ts +8 -0
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Header.ts +8 -0
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Module.ts +6 -0
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Rubric.ts +10 -0
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/ScreenConfig.ts +9 -0
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/SubCat.ts +9 -0
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/SubRubric.ts +8 -0
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/screen-config-generator.component.ts +539 -0
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/screen-config-generator.module.ts +21 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.ts +91 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.ts +19 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.ts +84 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.ts +19 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.ts +63 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.ts +24 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.ts +38 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.ts +21 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.ts +60 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.ts +26 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.component.ts +42 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.module.ts +19 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/model/email-address-viewmodel.ts +9 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.component.ts +325 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.module.ts +32 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-params.interface.ts +13 -0
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/service/send-method.service.ts +63 -0
- package/projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.component.ts +243 -0
- package/projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.module.ts +24 -0
- package/projects/sharedcomponents/src/lib/components/statusbar/statusbar-popup.component.ts +100 -0
- package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.component.ts +107 -0
- package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.module.ts +25 -0
- package/projects/sharedcomponents/src/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.ts +45 -0
- package/projects/sharedcomponents/src/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.ts +45 -0
- package/projects/sharedcomponents/src/lib/components/stock/components/order-stock-history/order-stock-history.component.ts +45 -0
- package/projects/sharedcomponents/src/lib/components/stock/components/order-stock-tab/order-stock-tab.component.ts +43 -0
- package/projects/sharedcomponents/src/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.ts +45 -0
- package/projects/sharedcomponents/src/lib/components/stock/components/order-tab/order-tab.component.ts +71 -0
- package/projects/sharedcomponents/src/lib/components/stock/components/stock-history/stock-history.component.ts +52 -0
- package/projects/sharedcomponents/src/lib/components/stock/components/stock-location/stock-location.component.ts +276 -0
- package/projects/sharedcomponents/src/lib/components/stock/components/stock-prognose/stock-prognose.component.ts +49 -0
- package/projects/sharedcomponents/src/lib/components/stock/components/stock-tab/stock-tab.component.ts +40 -0
- package/projects/sharedcomponents/src/lib/components/stock/localization/translation.ts +60 -0
- package/projects/sharedcomponents/src/lib/components/stock/stock-history-tabs/stock-history-tabs.component.ts +32 -0
- package/projects/sharedcomponents/src/lib/components/stock/stock-information/stock-information.component.ts +56 -0
- package/projects/sharedcomponents/src/lib/components/stock/stock-information-grid/stock-information-grid.component.ts +500 -0
- package/projects/sharedcomponents/src/lib/components/stock/stock-tabs/stock-tabs.component.ts +276 -0
- package/{lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts → projects/sharedcomponents/src/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.ts} +2 -2
- package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-change-amount.component.ts +77 -0
- package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-transfer.component.ts +178 -0
- package/projects/sharedcomponents/src/lib/components/stock/stock.component.ts +228 -0
- package/projects/sharedcomponents/src/lib/components/stock/stock.module.ts +97 -0
- package/projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.component.ts +23 -0
- package/projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.module.ts +17 -0
- package/projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.component.ts +106 -0
- package/projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.module.ts +20 -0
- package/projects/sharedcomponents/src/lib/components/tab-bar/tab.interface.ts +5 -0
- package/projects/sharedcomponents/src/lib/components/tags/component/tag-join-label/tag-join-label.component.ts +61 -0
- package/projects/sharedcomponents/src/lib/components/tags/component/tag-label/tag-label.component.ts +47 -0
- package/projects/sharedcomponents/src/lib/components/tags/component/treeview/model/tree-view-node-item.ts +132 -0
- package/projects/sharedcomponents/src/lib/components/tags/component/treeview/treeview.component.ts +258 -0
- package/projects/sharedcomponents/src/lib/components/tags/tags.component.ts +192 -0
- package/projects/sharedcomponents/src/lib/components/tags/tags.module.ts +27 -0
- package/projects/sharedcomponents/src/lib/directives/click-outside.directive.ts +25 -0
- package/projects/sharedcomponents/src/lib/enum/calendar-view.enum.ts +8 -0
- package/projects/sharedcomponents/src/lib/enum/gauge-color.enum.ts +8 -0
- package/{lib/enum/icon.enum.d.ts → projects/sharedcomponents/src/lib/enum/icon.enum.ts} +3 -2
- package/projects/sharedcomponents/src/lib/enum/keyboard-code.enum.ts +30 -0
- package/projects/sharedcomponents/src/lib/enum/language-code.enum.ts +6 -0
- package/projects/sharedcomponents/src/lib/enum/login-component-extra-action-type.enum.ts +4 -0
- package/projects/sharedcomponents/src/lib/enum/login-component-page.type.enum.ts +6 -0
- package/projects/sharedcomponents/src/lib/enum/login-component-query-variables-name.enum.ts +5 -0
- package/{lib/enum/month.enum.d.ts → projects/sharedcomponents/src/lib/enum/month.enum.ts} +2 -1
- package/projects/sharedcomponents/src/lib/enum/tag-category.enum.ts +20 -0
- package/projects/sharedcomponents/src/lib/enum/thumb-three-way-state.ts +18 -0
- package/{lib/enum/time-period.enum.d.ts → projects/sharedcomponents/src/lib/enum/time-period.enum.ts} +2 -1
- package/projects/sharedcomponents/src/lib/localization/localization.module.ts +17 -0
- package/projects/sharedcomponents/src/lib/localization/localize.pipe.ts +21 -0
- package/projects/sharedcomponents/src/lib/localization/localize.service.ts +28 -0
- package/projects/sharedcomponents/src/lib/localization/translation.ts +2 -0
- package/projects/sharedcomponents/src/lib/model/agenda-event-per-day.model.ts +6 -0
- package/projects/sharedcomponents/src/lib/model/agenda-event.model.ts +19 -0
- package/projects/sharedcomponents/src/lib/model/agenda-null-objects.ts +11 -0
- package/projects/sharedcomponents/src/lib/model/constant/all-months.ts +17 -0
- package/projects/sharedcomponents/src/lib/model/date-range.ts +10 -0
- package/projects/sharedcomponents/src/lib/model/day.model.ts +9 -0
- package/projects/sharedcomponents/src/lib/model/icon-svg.ts +37 -0
- package/projects/sharedcomponents/src/lib/model/month.model.ts +11 -0
- package/projects/sharedcomponents/src/lib/model/send-method.ts +13 -0
- package/projects/sharedcomponents/src/lib/model/settings.ts +5 -0
- package/projects/sharedcomponents/src/lib/model/tag-tree-item.bo.ts +28 -0
- package/projects/sharedcomponents/src/lib/model/time-window.bo.ts +21 -0
- package/projects/sharedcomponents/src/lib/model/tree-object.ts +13 -0
- package/projects/sharedcomponents/src/lib/model/tree-view-default.model.ts +107 -0
- package/projects/sharedcomponents/src/lib/model/tree-view-node-default.model.ts +196 -0
- package/projects/sharedcomponents/src/lib/model/tree-view-node-item-options.model.ts +12 -0
- package/projects/sharedcomponents/src/lib/model/tree-view-node.model.ts +150 -0
- package/projects/sharedcomponents/src/lib/model/tree-view.model.ts +57 -0
- package/projects/sharedcomponents/src/lib/model/week.model.ts +5 -0
- package/projects/sharedcomponents/src/lib/model/weekday.model.ts +17 -0
- package/projects/sharedcomponents/src/lib/pipe/array-number.pipe.ts +14 -0
- package/projects/sharedcomponents/src/lib/pipe/master-pipes.ts +7 -0
- package/projects/sharedcomponents/src/lib/pipe/ucfirst.pipe.ts +14 -0
- package/projects/sharedcomponents/src/lib/service/dictionary.service.ts +86 -0
- package/projects/sharedcomponents/src/lib/service/icon-cache.service.ts +51 -0
- package/projects/sharedcomponents/src/lib/service/options.service.ts +43 -0
- package/projects/sharedcomponents/src/lib/service/shared-connector.service.ts +401 -0
- package/projects/sharedcomponents/src/lib/service/shared-initializer.service.ts +29 -0
- package/projects/sharedcomponents/src/lib/service/shared.service.ts +49 -0
- package/projects/sharedcomponents/src/lib/service/stock.service.ts +124 -0
- package/projects/sharedcomponents/src/lib/utils/array-utils.ts +225 -0
- package/projects/sharedcomponents/src/lib/utils/calendar.utils.ts +75 -0
- package/projects/sharedcomponents/src/lib/utils/check-precision-and-scale-result.ts +5 -0
- package/projects/sharedcomponents/src/lib/utils/check-within-stepped-bounds-result.ts +8 -0
- package/projects/sharedcomponents/src/lib/utils/css-utils.ts +275 -0
- package/projects/sharedcomponents/src/lib/utils/date-utils.ts +302 -0
- package/projects/sharedcomponents/src/lib/utils/function/not-nill.function.ts +4 -0
- package/projects/sharedcomponents/src/lib/utils/is-nill.function.ts +4 -0
- package/projects/sharedcomponents/src/lib/utils/map-utils.ts +44 -0
- package/projects/sharedcomponents/src/lib/utils/number-utils.ts +439 -0
- package/projects/sharedcomponents/src/lib/utils/object-utils.ts +310 -0
- package/projects/sharedcomponents/src/lib/utils/string-utils.ts +67 -0
- package/projects/sharedcomponents/src/lib/utils/tree-utils.ts +63 -0
- package/{public-api.d.ts → projects/sharedcomponents/src/public-api.ts} +7 -0
- package/projects/sharedcomponents/src/test.ts +27 -0
- package/projects/sharedcomponents/tsconfig.lib.json +18 -0
- package/projects/sharedcomponents/tsconfig.lib.prod.json +10 -0
- package/projects/sharedcomponents/tsconfig.spec.json +17 -0
- package/script/create-bundle-version.js +19 -0
- package/script/merge-icons.js +39 -0
- package/src/app/app.component.scss +31 -0
- package/src/app/app.component.spec.ts +31 -0
- package/src/app/app.component.ts +454 -0
- package/src/app/app.module.ts +69 -0
- package/src/app/bundle/index.html +14 -0
- package/src/app/bundle/login/login-bundle.component.scss +6 -0
- package/src/app/bundle/login/login-bundle.component.ts +111 -0
- package/src/app/bundle/login/login-bundle.module.ts +30 -0
- package/src/app/bundle/main-login-bundle.ts +11 -0
- package/src/app/bundle/polyfills.ts +63 -0
- package/src/app/test-data.service.ts +60 -0
- package/src/assets/.gitkeep +0 -0
- package/src/environments/environment.bundle.prod.ts +3 -0
- package/src/environments/environment.prod.ts +3 -0
- package/src/environments/environment.ts +16 -0
- package/src/favicon.ico +0 -0
- package/src/index.html +13 -0
- package/src/main.ts +12 -0
- package/src/polyfills.ts +53 -0
- package/src/styles.scss +54 -0
- package/src/test.ts +26 -0
- package/tsconfig.app.json +15 -0
- package/tsconfig.bundle.json +38 -0
- package/tsconfig.json +64 -0
- package/tsconfig.spec.json +18 -0
- package/webpack.login.bundle.config.js +32 -0
- package/bundles/colijnit-sharedcomponents.umd.js +0 -6733
- package/bundles/colijnit-sharedcomponents.umd.js.map +0 -1
- package/colijnit-sharedcomponents.d.ts +0 -74
- package/colijnit-sharedcomponents.metadata.json +0 -1
- package/esm2015/colijnit-sharedcomponents.js +0 -75
- package/esm2015/lib/assets/dictionary/text.properties.js +0 -11
- package/esm2015/lib/components/date-planning/component/agenda/agenda-base-view.component.js +0 -61
- package/esm2015/lib/components/date-planning/component/agenda/agenda-day-view.component.js +0 -32
- package/esm2015/lib/components/date-planning/component/agenda/agenda-event.component.js +0 -54
- package/esm2015/lib/components/date-planning/component/agenda/agenda-events.component.js +0 -43
- package/esm2015/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.js +0 -68
- package/esm2015/lib/components/date-planning/component/agenda/agenda-header.component.js +0 -232
- package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-cell.component.js +0 -36
- package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.js +0 -50
- package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view.component.js +0 -46
- package/esm2015/lib/components/date-planning/component/agenda/agenda-month-view.component.js +0 -61
- package/esm2015/lib/components/date-planning/component/agenda/agenda-select-event.component.js +0 -39
- package/esm2015/lib/components/date-planning/component/agenda/agenda-view.component.js +0 -35
- package/esm2015/lib/components/date-planning/component/agenda/agenda-week-select-view.component.js +0 -64
- package/esm2015/lib/components/date-planning/component/agenda/agenda-week-view.component.js +0 -48
- package/esm2015/lib/components/date-planning/component/agenda/view-select.component.js +0 -42
- package/esm2015/lib/components/date-planning/component/calendar/calendar-all-months.component.js +0 -34
- package/esm2015/lib/components/date-planning/component/calendar/calendar-all-years.component.js +0 -48
- package/esm2015/lib/components/date-planning/component/calendar/calendar-header.component.js +0 -107
- package/esm2015/lib/components/date-planning/component/calendar/calendar-view.component.js +0 -178
- package/esm2015/lib/components/date-planning/component/calendar/calendar.component.js +0 -34
- package/esm2015/lib/components/date-planning/date-planning.component.js +0 -108
- package/esm2015/lib/components/date-planning/date-planning.module.js +0 -63
- package/esm2015/lib/components/docsign/component/signature/signature.component.js +0 -75
- package/esm2015/lib/components/docsign/component/signatures/signatures.component.js +0 -44
- package/esm2015/lib/components/docsign/docsign.component.js +0 -242
- package/esm2015/lib/components/docsign/docsign.module.js +0 -23
- package/esm2015/lib/components/key-pad/key-pad.component.js +0 -200
- package/esm2015/lib/components/key-pad/key-pad.module.js +0 -22
- package/esm2015/lib/components/layout-switcher/layout-switcher.component.js +0 -74
- package/esm2015/lib/components/layout-switcher/layout-switcher.module.js +0 -21
- package/esm2015/lib/components/linear-gauge/co-linear-gauge.component.js +0 -59
- package/esm2015/lib/components/linear-gauge/co-linear-gauge.module.js +0 -19
- package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.js +0 -79
- package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.js +0 -21
- package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.js +0 -85
- package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.js +0 -21
- package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.js +0 -64
- package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.js +0 -26
- package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.js +0 -40
- package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.js +0 -23
- package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +0 -59
- package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.js +0 -28
- package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.component.js +0 -38
- package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.module.js +0 -21
- package/esm2015/lib/components/send-method-dialog/model/email-address-viewmodel.js +0 -7
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +0 -255
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +0 -35
- package/esm2015/lib/components/send-method-dialog/send-method-params.interface.js +0 -2
- package/esm2015/lib/components/send-method-dialog/service/send-method.service.js +0 -59
- package/esm2015/lib/components/simple-tags/simple-tags.component.js +0 -229
- package/esm2015/lib/components/simple-tags/simple-tags.module.js +0 -26
- package/esm2015/lib/components/statusbar/statusbar-popup.component.js +0 -97
- package/esm2015/lib/components/statusbar/statusbar.component.js +0 -81
- package/esm2015/lib/components/statusbar/statusbar.module.js +0 -27
- package/esm2015/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.js +0 -47
- package/esm2015/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.js +0 -47
- package/esm2015/lib/components/stock/components/order-stock-history/order-stock-history.component.js +0 -47
- package/esm2015/lib/components/stock/components/order-stock-tab/order-stock-tab.component.js +0 -47
- package/esm2015/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.js +0 -47
- package/esm2015/lib/components/stock/components/order-tab/order-tab.component.js +0 -67
- package/esm2015/lib/components/stock/components/stock-history/stock-history.component.js +0 -53
- package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +0 -240
- package/esm2015/lib/components/stock/components/stock-prognose/stock-prognose.component.js +0 -52
- package/esm2015/lib/components/stock/components/stock-tab/stock-tab.component.js +0 -41
- package/esm2015/lib/components/stock/localization/translation.js +0 -63
- package/esm2015/lib/components/stock/stock-history-tabs/stock-history-tabs.component.js +0 -33
- package/esm2015/lib/components/stock/stock-information/stock-information.component.js +0 -48
- package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +0 -457
- package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +0 -241
- package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +0 -2
- package/esm2015/lib/components/stock/stock-transfer/stock-change-amount.component.js +0 -72
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +0 -149
- package/esm2015/lib/components/stock/stock.component.js +0 -193
- package/esm2015/lib/components/stock/stock.module.js +0 -80
- package/esm2015/lib/components/stock-statusbar/stock-statusbar.component.js +0 -23
- package/esm2015/lib/components/stock-statusbar/stock-statusbar.module.js +0 -19
- package/esm2015/lib/components/tab-bar/tab-bar.component.js +0 -88
- package/esm2015/lib/components/tab-bar/tab-bar.module.js +0 -21
- package/esm2015/lib/components/tab-bar/tab.interface.js +0 -2
- package/esm2015/lib/enum/calendar-view.enum.js +0 -8
- package/esm2015/lib/enum/gauge-color.enum.js +0 -10
- package/esm2015/lib/enum/icon.enum.js +0 -38
- package/esm2015/lib/enum/keyboard-code.enum.js +0 -32
- package/esm2015/lib/enum/language-code.enum.js +0 -8
- package/esm2015/lib/enum/month.enum.js +0 -17
- package/esm2015/lib/enum/thumb-three-way-state.js +0 -19
- package/esm2015/lib/enum/time-period.enum.js +0 -11
- package/esm2015/lib/localization/localization.module.js +0 -19
- package/esm2015/lib/localization/localize.pipe.js +0 -26
- package/esm2015/lib/localization/localize.service.js +0 -30
- package/esm2015/lib/localization/translation.js +0 -3
- package/esm2015/lib/model/agenda-event-per-day.model.js +0 -6
- package/esm2015/lib/model/agenda-event.model.js +0 -8
- package/esm2015/lib/model/agenda-null-objects.js +0 -11
- package/esm2015/lib/model/constant/all-months.js +0 -17
- package/esm2015/lib/model/date-range.js +0 -5
- package/esm2015/lib/model/day.model.js +0 -7
- package/esm2015/lib/model/icon-svg.js +0 -37
- package/esm2015/lib/model/month.model.js +0 -11
- package/esm2015/lib/model/send-method.js +0 -8
- package/esm2015/lib/model/settings.js +0 -4
- package/esm2015/lib/model/time-window.bo.js +0 -26
- package/esm2015/lib/model/week.model.js +0 -6
- package/esm2015/lib/model/weekday.model.js +0 -10
- package/esm2015/lib/pipe/array-number.pipe.js +0 -15
- package/esm2015/lib/pipe/master-pipes.js +0 -7
- package/esm2015/lib/pipe/ucfirst.pipe.js +0 -16
- package/esm2015/lib/service/dictionary.service.js +0 -76
- package/esm2015/lib/service/icon-cache.service.js +0 -51
- package/esm2015/lib/service/options.service.js +0 -48
- package/esm2015/lib/service/shared-connector.service.js +0 -424
- package/esm2015/lib/service/shared.service.js +0 -60
- package/esm2015/lib/service/stock.service.js +0 -110
- package/esm2015/lib/utils/calendar.utils.js +0 -69
- package/esm2015/lib/utils/date-utils.js +0 -264
- package/esm2015/lib/utils/function/not-nill.function.js +0 -5
- package/esm2015/lib/utils/map-utils.js +0 -41
- package/esm2015/lib/utils/string-utils.js +0 -64
- package/esm2015/public-api.js +0 -24
- package/fesm2015/colijnit-sharedcomponents.js +0 -7001
- package/fesm2015/colijnit-sharedcomponents.js.map +0 -1
- package/lib/assets/dictionary/text.properties.d.ts +0 -3
- package/lib/components/date-planning/component/agenda/agenda-base-view.component.d.ts +0 -21
- package/lib/components/date-planning/component/agenda/agenda-day-view.component.d.ts +0 -6
- package/lib/components/date-planning/component/agenda/agenda-event.component.d.ts +0 -17
- package/lib/components/date-planning/component/agenda/agenda-events.component.d.ts +0 -12
- package/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.d.ts +0 -18
- package/lib/components/date-planning/component/agenda/agenda-header.component.d.ts +0 -47
- package/lib/components/date-planning/component/agenda/agenda-hour-cell.component.d.ts +0 -9
- package/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.d.ts +0 -8
- package/lib/components/date-planning/component/agenda/agenda-hour-view.component.d.ts +0 -7
- package/lib/components/date-planning/component/agenda/agenda-month-view.component.d.ts +0 -10
- package/lib/components/date-planning/component/agenda/agenda-select-event.component.d.ts +0 -12
- package/lib/components/date-planning/component/agenda/agenda-view.component.d.ts +0 -11
- package/lib/components/date-planning/component/agenda/agenda-week-select-view.component.d.ts +0 -10
- package/lib/components/date-planning/component/agenda/agenda-week-view.component.d.ts +0 -8
- package/lib/components/date-planning/component/agenda/view-select.component.d.ts +0 -11
- package/lib/components/date-planning/component/calendar/calendar-all-months.component.d.ts +0 -9
- package/lib/components/date-planning/component/calendar/calendar-all-years.component.d.ts +0 -9
- package/lib/components/date-planning/component/calendar/calendar-header.component.d.ts +0 -23
- package/lib/components/date-planning/component/calendar/calendar-view.component.d.ts +0 -31
- package/lib/components/date-planning/component/calendar/calendar.component.d.ts +0 -10
- package/lib/components/date-planning/date-planning.component.d.ts +0 -26
- package/lib/components/date-planning/date-planning.module.d.ts +0 -2
- package/lib/components/date-planning/style/material.scss +0 -5
- package/lib/components/docsign/component/signature/signature.component.d.ts +0 -16
- package/lib/components/docsign/component/signatures/signatures.component.d.ts +0 -12
- package/lib/components/docsign/docsign.component.d.ts +0 -94
- package/lib/components/docsign/docsign.module.d.ts +0 -2
- package/lib/components/key-pad/key-pad.component.d.ts +0 -38
- package/lib/components/key-pad/key-pad.module.d.ts +0 -2
- package/lib/components/layout-switcher/layout-switcher.component.d.ts +0 -16
- package/lib/components/layout-switcher/layout-switcher.module.d.ts +0 -2
- package/lib/components/linear-gauge/co-linear-gauge.component.d.ts +0 -11
- package/lib/components/linear-gauge/co-linear-gauge.module.d.ts +0 -2
- package/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.d.ts +0 -19
- package/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.d.ts +0 -2
- package/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.d.ts +0 -19
- package/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.d.ts +0 -2
- package/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.d.ts +0 -14
- package/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.d.ts +0 -2
- package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.d.ts +0 -8
- package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.d.ts +0 -2
- package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +0 -12
- package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.d.ts +0 -2
- package/lib/components/send-method-dialog/components/signature-button/signature-button.component.d.ts +0 -12
- package/lib/components/send-method-dialog/components/signature-button/signature-button.module.d.ts +0 -2
- package/lib/components/send-method-dialog/model/email-address-viewmodel.d.ts +0 -5
- package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +0 -70
- package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +0 -2
- package/lib/components/send-method-dialog/send-method-params.interface.d.ts +0 -13
- package/lib/components/send-method-dialog/service/send-method.service.d.ts +0 -23
- package/lib/components/simple-tags/simple-tags.component.d.ts +0 -31
- package/lib/components/simple-tags/simple-tags.module.d.ts +0 -2
- package/lib/components/statusbar/statusbar-popup.component.d.ts +0 -21
- package/lib/components/statusbar/statusbar.component.d.ts +0 -26
- package/lib/components/statusbar/statusbar.module.d.ts +0 -2
- package/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.d.ts +0 -9
- package/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.d.ts +0 -9
- package/lib/components/stock/components/order-stock-history/order-stock-history.component.d.ts +0 -9
- package/lib/components/stock/components/order-stock-tab/order-stock-tab.component.d.ts +0 -11
- package/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.d.ts +0 -9
- package/lib/components/stock/components/order-tab/order-tab.component.d.ts +0 -20
- package/lib/components/stock/components/stock-history/stock-history.component.d.ts +0 -13
- package/lib/components/stock/components/stock-location/stock-location.component.d.ts +0 -50
- package/lib/components/stock/components/stock-prognose/stock-prognose.component.d.ts +0 -11
- package/lib/components/stock/components/stock-tab/stock-tab.component.d.ts +0 -9
- package/lib/components/stock/localization/translation.d.ts +0 -60
- package/lib/components/stock/stock-history-tabs/stock-history-tabs.component.d.ts +0 -7
- package/lib/components/stock/stock-information/stock-information.component.d.ts +0 -8
- package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +0 -75
- package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +0 -56
- package/lib/components/stock/stock-transfer/stock-change-amount.component.d.ts +0 -18
- package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +0 -42
- package/lib/components/stock/stock.component.d.ts +0 -57
- package/lib/components/stock/stock.module.d.ts +0 -2
- package/lib/components/stock-statusbar/stock-statusbar.component.d.ts +0 -4
- package/lib/components/stock-statusbar/stock-statusbar.module.d.ts +0 -2
- package/lib/components/tab-bar/tab-bar.component.d.ts +0 -21
- package/lib/components/tab-bar/tab-bar.module.d.ts +0 -2
- package/lib/components/tab-bar/tab.interface.d.ts +0 -5
- package/lib/enum/calendar-view.enum.d.ts +0 -6
- package/lib/enum/gauge-color.enum.d.ts +0 -8
- package/lib/enum/keyboard-code.enum.d.ts +0 -30
- package/lib/enum/language-code.enum.d.ts +0 -6
- package/lib/enum/thumb-three-way-state.d.ts +0 -6
- package/lib/localization/localization.module.d.ts +0 -2
- package/lib/localization/localize.pipe.d.ts +0 -7
- package/lib/localization/localize.service.d.ts +0 -7
- package/lib/localization/translation.d.ts +0 -2
- package/lib/model/agenda-event-per-day.model.d.ts +0 -5
- package/lib/model/agenda-event.model.d.ts +0 -16
- package/lib/model/agenda-null-objects.d.ts +0 -10
- package/lib/model/constant/all-months.d.ts +0 -2
- package/lib/model/date-range.d.ts +0 -7
- package/lib/model/day.model.d.ts +0 -8
- package/lib/model/icon-svg.d.ts +0 -4
- package/lib/model/month.model.d.ts +0 -5
- package/lib/model/send-method.d.ts +0 -7
- package/lib/model/settings.d.ts +0 -3
- package/lib/model/time-window.bo.d.ts +0 -13
- package/lib/model/week.model.d.ts +0 -4
- package/lib/model/weekday.model.d.ts +0 -16
- package/lib/pipe/array-number.pipe.d.ts +0 -4
- package/lib/pipe/master-pipes.d.ts +0 -1
- package/lib/pipe/ucfirst.pipe.d.ts +0 -4
- package/lib/service/dictionary.service.d.ts +0 -21
- package/lib/service/icon-cache.service.d.ts +0 -18
- package/lib/service/options.service.d.ts +0 -13
- package/lib/service/shared-connector.service.d.ts +0 -53
- package/lib/service/shared.service.d.ts +0 -18
- package/lib/service/stock.service.d.ts +0 -41
- package/lib/utils/calendar.utils.d.ts +0 -10
- package/lib/utils/date-utils.d.ts +0 -44
- package/lib/utils/function/not-nill.function.d.ts +0 -1
- package/lib/utils/map-utils.d.ts +0 -16
- package/lib/utils/string-utils.d.ts +0 -22
- /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/agenda/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/agenda/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/calendar/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/calendar/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/calendar/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/calendar/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signature/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signature/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signature/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signature/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signatures/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signatures/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signatures/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signatures/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/key-pad/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/key-pad/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/key-pad/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/key-pad/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/layout-switcher/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/layout-switcher/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/layout-switcher/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/layout-switcher/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/linear-gauge/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/linear-gauge/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/linear-gauge/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/linear-gauge/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/login/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/login/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/login/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/login/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/screen-config-generator/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/screen-config-generator/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/screen-config-generator/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/screen-config-generator/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/layout-selection/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/layout-selection/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/layout-selection/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/layout-selection/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/printer-selection/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/printer-selection/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/printer-selection/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/printer-selection/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-email/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-email/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-email/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-email/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-pdf/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-pdf/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-pdf/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-pdf/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-printer/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-printer/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-printer/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-printer/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/signature-button/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/signature-button/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/signature-button/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/signature-button/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/simple-tags/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/simple-tags/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/simple-tags/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/simple-tags/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/statusbar/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/statusbar/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/statusbar/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/statusbar/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/stock/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/stock/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/stock/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/stock/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/stock-statusbar/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/stock-statusbar/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/stock-statusbar/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/stock-statusbar/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/tab-bar/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/tab-bar/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/tab-bar/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/tab-bar/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/tag-join-label/style/_layout.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/tag-join-label/style/_material-definition.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/tag-join-label/style/_theme.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/tag-join-label/style/material.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/style/_mixin.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/style/_variables.scss +0 -0
- /package/{lib → projects/sharedcomponents/src/lib}/style/sharedcomponents-globals.scss +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"colijnit-sharedcomponents.js","sources":["../../../projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts","../../../projects/sharedcomponents/src/lib/enum/language-code.enum.ts","../../../projects/sharedcomponents/src/lib/utils/string-utils.ts","../../../projects/sharedcomponents/src/lib/assets/dictionary/text.properties.ts","../../../projects/sharedcomponents/src/lib/service/dictionary.service.ts","../../../projects/sharedcomponents/src/lib/model/settings.ts","../../../projects/sharedcomponents/src/lib/service/options.service.ts","../../../projects/sharedcomponents/src/lib/service/shared-connector.service.ts","../../../projects/sharedcomponents/src/lib/service/stock.service.ts","../../../projects/sharedcomponents/src/lib/localization/translation.ts","../../../projects/sharedcomponents/src/lib/localization/localize.service.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-information/stock-information.component.ts","../../../projects/sharedcomponents/src/lib/model/icon-svg.ts","../../../projects/sharedcomponents/src/lib/service/icon-cache.service.ts","../../../projects/sharedcomponents/src/lib/enum/icon.enum.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-information-grid/stock-information-grid.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-transfer.component.ts","../../../projects/sharedcomponents/src/lib/service/shared.service.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/service/send-method.service.ts","../../../projects/sharedcomponents/src/lib/model/send-method.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/model/email-address-viewmodel.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-change-amount.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/stock-tab/stock-tab.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-tab/order-tab.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-tabs/stock-tabs.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-history-tabs/stock-history-tabs.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-stock-tab/order-stock-tab.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/stock-location/stock-location.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/stock-history/stock-history.component.ts","../../../projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.component.ts","../../../projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-stock-history/order-stock-history.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.ts","../../../projects/sharedcomponents/src/lib/enum/gauge-color.enum.ts","../../../projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.component.ts","../../../projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.module.ts","../../../projects/sharedcomponents/src/lib/components/statusbar/statusbar-popup.component.ts","../../../projects/sharedcomponents/src/lib/components/statusbar/statusbar.component.ts","../../../projects/sharedcomponents/src/lib/components/statusbar/statusbar.module.ts","../../../projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.component.ts","../../../projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/stock-prognose/stock-prognose.component.ts","../../../projects/sharedcomponents/src/lib/localization/localize.pipe.ts","../../../projects/sharedcomponents/src/lib/localization/localization.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/localization/translation.ts","../../../projects/sharedcomponents/src/lib/enum/keyboard-code.enum.ts","../../../projects/sharedcomponents/src/lib/components/key-pad/key-pad.component.ts","../../../projects/sharedcomponents/src/lib/components/key-pad/key-pad.module.ts","../../../projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.component.ts","../../../projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.module.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/date-planning.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-years.component.ts","../../../projects/sharedcomponents/src/lib/enum/month.enum.ts","../../../projects/sharedcomponents/src/lib/model/constant/all-months.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-months.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-header.component.ts","../../../projects/sharedcomponents/src/lib/enum/calendar-view.enum.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar.component.ts","../../../projects/sharedcomponents/src/lib/pipe/array-number.pipe.ts","../../../projects/sharedcomponents/src/lib/utils/function/not-nill.function.ts","../../../projects/sharedcomponents/src/lib/model/date-range.ts","../../../projects/sharedcomponents/src/lib/utils/date-utils.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-view.component.ts","../../../projects/sharedcomponents/src/lib/model/weekday.model.ts","../../../projects/sharedcomponents/src/lib/model/week.model.ts","../../../projects/sharedcomponents/src/lib/utils/calendar.utils.ts","../../../projects/sharedcomponents/src/lib/model/agenda-event.model.ts","../../../projects/sharedcomponents/src/lib/model/agenda-event-per-day.model.ts","../../../projects/sharedcomponents/src/lib/model/month.model.ts","../../../projects/sharedcomponents/src/lib/model/day.model.ts","../../../projects/sharedcomponents/src/lib/model/agenda-null-objects.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-header.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-base-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-month-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-day-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-select-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-cell.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-events.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-event.component.ts","../../../projects/sharedcomponents/src/lib/pipe/ucfirst.pipe.ts","../../../projects/sharedcomponents/src/lib/pipe/master-pipes.ts","../../../projects/sharedcomponents/src/lib/enum/thumb-three-way-state.ts","../../../projects/sharedcomponents/src/lib/utils/map-utils.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/view-select.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-select-event.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/date-planning.module.ts","../../../projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.component.ts","../../../projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.module.ts","../../../projects/sharedcomponents/src/public-api.ts","../../../projects/sharedcomponents/src/colijnit-sharedcomponents.ts"],"sourcesContent":["import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {PDFDocument} from \"pdf-lib\";\r\nimport * as PDFJS from \"pdfjs-dist/legacy/build/pdf\";\r\nimport pdfjsWorker from \"pdfjs-dist/build/pdf.worker.entry\";\r\nimport {TextItem} from \"pdfjs-dist/types/src/display/api\";\r\n\r\nexport interface TextDimension {\r\n x: number,\r\n y: number,\r\n width: number,\r\n height: number,\r\n page: number\r\n}\r\n\r\n@Component({\r\n selector: \"co-docsign\",\r\n template: `\r\n <iframe #iframe></iframe>\r\n <co-signatures *ngIf=\"showSignatures\" @showHideSignature\r\n [showFirstSignature]=\"showSigBuyer\"\r\n [firstSignatureTitle]=\"firstSignatureLabel\"\r\n [showSecondSignature]=\"showSigSeller\"\r\n [secondSignatureTitle]=\"secondSignatureLabel\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (saveFirstSignature)=\"saveFirstSignature($event)\"\r\n (saveSecondSignature)=\"saveSecondSignature($event)\"\r\n ></co-signatures>\r\n <input type=\"button\" *ngIf=\"(showSigBuyer || showSigSeller) && !showSignatures\" class=\"button button-sign-document\"\r\n [value]=\"signDocumentButtonLabel\"\r\n (click)=\"showSignatures = true\"\r\n />\r\n <input type=\"button\" class=\"button button-cancel\"\r\n [value]=\"cancelButtonLabel\"\r\n (click)=\"cancelClick.emit($event)\"\r\n />\r\n `,\r\n animations: [\r\n trigger(\"showHideSignature\", [\r\n state(\"void\", style({transform: \"translate(-50%, -50%) scale(0)\"})),\r\n state(\"*\", style({transform: \"translate(-50%, -50%) scale(1)\"})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\")),\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DocsignComponent {\r\n @ViewChild(\"iframe\", { read: ElementRef })\r\n public iframe: ElementRef;\r\n\r\n /**\r\n * Load an existing [[PDFDocument]]. The input data can be provided in\r\n * multiple formats:\r\n *\r\n * | Type | Contents |\r\n * | ------------- | ------------------------------------------------------ |\r\n * | `string` | A base64 encoded string (or data URI) containing a PDF |\r\n * | `Uint8Array` | The raw bytes of a PDF |\r\n * | `ArrayBuffer` | The raw bytes of a PDF |\r\n *\r\n * For example:\r\n * ```js\r\n * import { PDFDocument } from 'pdf-lib'\r\n *\r\n * // pdf=string\r\n * const base64 =\r\n * 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbm' +\r\n * 'd0aCAxMDQKPj4Kc3RyZWFtCniccwrhMlAAwaJ0Ln2P1Jyy1JLM5ERdc0MjCwUjE4WQNC4Q' +\r\n * '6cNlCFZkqGCqYGSqEJLLZWNuYGZiZmbkYuZsZmlmZGRgZmluDCQNzc3NTM2NzdzMXMxMjQ' +\r\n * 'ztFEKyuEK0uFxDuAAOERdVCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKPDwKL0ZpbHRl' +\r\n * 'ciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA0Ci9GaXJzdCAyMAovTGVuZ3RoID' +\r\n * 'IxNQo+PgpzdHJlYW0KeJxVj9GqwjAMhu/zFHkBzTo3nCCCiiKIHPEICuJF3cKoSCu2E8/b' +\r\n * '20wPIr1p8v9/8kVhgilmGfawX2CGaVrgcAi0/bsy0lrX7IGWpvJ4iJYEN3gEmrrGBlQwGs' +\r\n * 'HHO9VBX1wNrxAqMX87RBD5xpJuddqwd82tjAHxzV1U5LPgy52DKXWnr1Lheg+j/c/pzGVr' +\r\n * 'iqV0VlwZPXGPCJjElw/ybkwUmeoWgxesDXGhHJC/D/iikp1Av80ptKU0FdBEe25pPihAM1' +\r\n * 'u6ytgaaWfs2Hrz35CJT1+EWmAKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAovU2l6' +\r\n * 'ZSA4Ci9Sb290IDIgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW' +\r\n * '5ndGggMzgKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOCBdCj4+CnN0cmVhbQp4nBXEwREA' +\r\n * 'EBAEsCwz3vrvRmOOyyOoGhZdutHN2MT55fIAVocD+AplbmRzdHJlYW0KZW5kb2JqCgpzdG' +\r\n * 'FydHhyZWYKNTEwCiUlRU9G'\r\n *\r\n * const dataUri = 'data:application/pdf;base64,' + base64\r\n *\r\n * const pdfDoc1 = await PDFDocument.load(base64)\r\n * const pdfDoc2 = await PDFDocument.load(dataUri)\r\n *\r\n * // pdf=Uint8Array\r\n * import fs from 'fs'\r\n * const uint8Array = fs.readFileSync('with_update_sections.pdf')\r\n * const pdfDoc3 = await PDFDocument.load(uint8Array)\r\n *\r\n * // pdf=ArrayBuffer\r\n * const url = 'https://pdf-lib.js.org/assets/with_update_sections.pdf'\r\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\r\n * const pdfDoc4 = await PDFDocument.load(arrayBuffer)\r\n *\r\n * ```\r\n *\r\n * @param pdf The input data containing a PDF document.\r\n * @param options The options to be used when loading the document.\r\n * @returns Resolves with a document loaded from the input.\r\n */\r\n @Input()\r\n public set pdf(value: any) {\r\n if (value) {\r\n this._handlePdfData(value);\r\n this._openPDF();\r\n }\r\n }\r\n\r\n public get pdf(): any {\r\n return this._pdf;\r\n }\r\n\r\n @Input()\r\n public firstSignatureLabel: string;\r\n\r\n @Input()\r\n public firstSignatureField: string;\r\n\r\n @Input()\r\n public secondSignatureLabel: string;\r\n\r\n @Input()\r\n public secondSignatureField: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Input()\r\n public signDocumentButtonLabel: string = 'SIGN_DOCUMENT';\r\n\r\n @Input()\r\n public cancelButtonLabel: string = 'CANCEL';\r\n\r\n @Output()\r\n public pdfSaved: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding('class.co-docsign')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showSignaturePopup: boolean = false;\r\n public showSigBuyer: boolean = false;\r\n public sigBuyerPosition: TextDimension;\r\n public showSigSeller: boolean = false;\r\n public sigSellerPosition: TextDimension;\r\n public showSignatures: boolean = false;\r\n\r\n public pdfDoc: PDFDocument;\r\n\r\n private _pdf: any;\r\n\r\n public saveFirstSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigBuyerPosition);\r\n this.showSigBuyer = false;\r\n this._savePdf();\r\n }\r\n\r\n public saveSecondSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigSellerPosition);\r\n this.showSigSeller = false;\r\n this._savePdf();\r\n }\r\n\r\n private async _openPDF(): Promise<void> {\r\n // first create reader to check signatures\r\n this._checkSignatures();\r\n\r\n this.pdfDoc = await PDFDocument.load(this._pdf, {\r\n updateMetadata: false\r\n });\r\n const pdfDataUri = await this.pdfDoc.saveAsBase64({ dataUri: true });\r\n this.iframe.nativeElement.src = pdfDataUri;\r\n }\r\n\r\n private async _savePdf(): Promise<void> {\r\n if (!this.showSigBuyer && !this.showSigSeller) {\r\n // ready, save the pdf and emit result\r\n const result = await this.pdfDoc.saveAsBase64();\r\n this.pdfSaved.next(result);\r\n }\r\n }\r\n\r\n private async _checkSignatures(): Promise<void> {\r\n let pdfWorkerSrc;\r\n if (window.hasOwnProperty('pdfWorkerSrc') &&\r\n typeof (window as any).pdfWorkerSrc === 'string' &&\r\n (window as any).pdfWorkerSrc) {\r\n pdfWorkerSrc = (window as any).pdfWorkerSrc;\r\n }\r\n else {\r\n pdfWorkerSrc = pdfjsWorker;\r\n }\r\n PDFJS.GlobalWorkerOptions.workerSrc = pdfWorkerSrc;\r\n const pdfReader = await PDFJS.getDocument(this._pdf).promise;\r\n const numPages = pdfReader.numPages;\r\n for (let i = 0; i < numPages; i++) {\r\n const page = await pdfReader.getPage(i + 1);\r\n const text = await page.getTextContent();\r\n page.cleanup();\r\n if (this.firstSignatureField) {\r\n this.sigBuyerPosition = this._getPositionSignature(text, this.firstSignatureField);\r\n if (this.sigBuyerPosition.width > 0 && this.sigBuyerPosition.height > 0) {\r\n this.sigBuyerPosition.page = i;\r\n this.showSigBuyer = true;\r\n }\r\n }\r\n if (this.secondSignatureField) {\r\n this.sigSellerPosition = this._getPositionSignature(text, this.secondSignatureField);\r\n if (this.sigSellerPosition.width > 0 && this.sigSellerPosition.height > 0) {\r\n this.sigSellerPosition.page = i;\r\n this.showSigSeller = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _getPositionSignature(textItem: any, signatureField: string): TextDimension {\r\n const sigItem: TextItem = <TextItem>textItem.items.find((i: any) => i.str.toLowerCase() === signatureField.toLowerCase());\r\n if (sigItem) {\r\n textItem.items.slice(textItem.items.indexOf(sigItem), 1);\r\n return {\r\n x: sigItem.transform[4],\r\n y: sigItem.transform[5],\r\n width: sigItem.width,\r\n height: sigItem.height,\r\n page: 0\r\n };\r\n }\r\n return {x: 0, y: 0, width: 0, height: 0, page: 0}\r\n }\r\n\r\n private async _saveSignature(sig: string, dimensions: TextDimension): Promise<void> {\r\n const jpgImage = await this.pdfDoc.embedPng(sig);\r\n const page = await this.pdfDoc.getPage(dimensions.page);\r\n page.drawImage(jpgImage, {\r\n x: ((dimensions.x + (dimensions.width / 2)) - (200 / 2)),\r\n y: ((dimensions.y + (dimensions.height / 2)) - (100 / 2)),\r\n width: 200,\r\n height: 100\r\n });\r\n }\r\n\r\n private _handlePdfData(pdfData: any) {\r\n if (typeof pdfData === 'string') {\r\n this._preparePDF(pdfData);\r\n } else {\r\n this._pdf = pdfData;\r\n }\r\n }\r\n\r\n private _preparePDF(base64: string): void {\r\n var binary_string = window.atob(base64);\r\n var len = binary_string.length;\r\n var bytes = new Uint8Array(len);\r\n for (var i = 0; i < len; i++) {\r\n bytes[i] = binary_string.charCodeAt(i);\r\n }\r\n this._pdf = bytes;\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport SignaturePad from \"signature_pad\";\r\n\r\n@Component({\r\n selector: \"co-signature\",\r\n template: `\r\n <div class=\"signature-wrapper\">\r\n <div class=\"signature-header\">\r\n <span *ngIf=\"title\" class=\"title\" [textContent]=\"title\"></span>\r\n <div class=\"button-wrapper\">\r\n <input type=\"button\" (click)=\"handleSave($event)\" [value]=\"saveButtonLabel\"/>\r\n <input type=\"button\" (click)=\"handleClear($event)\" [value]=\"clearButtonLabel\">\r\n </div>\r\n </div>\r\n <div class=\"canvas\">\r\n <canvas #signature></canvas>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignatureComponent {\r\n @ViewChild(\"signature\", {read: ElementRef}) set content(content: ElementRef) {\r\n if (content) {\r\n this.signatureCanvas = content;\r\n this._initCanvas();\r\n }\r\n }\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public save: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-signature\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public signature: SignaturePad;\r\n public signatureCanvas: ElementRef;\r\n\r\n public handleSave(event: MouseEvent): void {\r\n // save canvas as svg\r\n // const sig: string = this.signature.toDataURL(\"image/svg+xml\");\r\n const sig: string = this.signature.toDataURL(\"image/png\");\r\n // emit signature string\r\n this.save.next(sig);\r\n }\r\n\r\n public handleClear(event: MouseEvent): void {\r\n if (this.signature) {\r\n this.signature.clear();\r\n }\r\n }\r\n\r\n private _initCanvas(): void {\r\n if (this.signatureCanvas && this.signatureCanvas.nativeElement) {\r\n this.signature = new SignaturePad(this.signatureCanvas.nativeElement);\r\n setTimeout(() => {\r\n this._resizeSignatureCanvas(this.signature, this.signatureCanvas);\r\n });\r\n }\r\n }\r\n\r\n private _resizeSignatureCanvas(signature: SignaturePad, signatureCanvas: ElementRef): void {\r\n const imageBeforeResize: string = signature.toDataURL();\r\n const ratio: number = Math.max(window.devicePixelRatio || 1, 1);\r\n signatureCanvas.nativeElement.width = signatureCanvas.nativeElement.offsetWidth * ratio;\r\n signatureCanvas.nativeElement.height = signatureCanvas.nativeElement.offsetHeight * ratio;\r\n signatureCanvas.nativeElement.getContext(\"2d\").scale(ratio, ratio);\r\n signature.fromDataURL(imageBeforeResize);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-signatures\",\r\n template: `\r\n <co-signature *ngIf=\"showFirstSignature\"\r\n [title]=\"firstSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveFirstSignature.emit($event)\"></co-signature>\r\n <co-signature *ngIf=\"showSecondSignature\"\r\n [title]=\"secondSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveSecondSignature.emit($event)\"></co-signature>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignaturesComponent {\r\n\r\n @Input()\r\n public showFirstSignature: boolean = false;\r\n\r\n @Input()\r\n public firstSignatureTitle: string;\r\n\r\n @Input()\r\n public showSecondSignature: boolean = false;\r\n\r\n @Input()\r\n public secondSignatureTitle: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public saveFirstSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public saveSecondSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-signatures\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DocsignComponent} from \"./docsign.component\";\r\nimport {SignatureComponent} from \"./component/signature/signature.component\";\r\nimport {SignaturesComponent} from \"./component/signatures/signatures.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n DocsignComponent,\r\n SignatureComponent,\r\n SignaturesComponent\r\n ],\r\n exports: [\r\n DocsignComponent\r\n ]\r\n})\r\nexport class DocsignModule {\r\n\r\n}\r\n","export enum LanguageCode {\r\n Dutch = \"nl-NL\",\r\n English = \"en-GB\",\r\n German = \"de-DE\",\r\n French = \"fr-FR\",\r\n}\r\n","// Static utility functions holder related to strings.\r\nexport class StringUtils {\r\n\r\n /**\r\n * Returns a new string where given placeholder in given source string are replaced by given replacement texts.\r\n *\r\n * Example usage:\r\n *\r\n * source = \"ABCDABCD\"\r\n * placeholder = \"BC\"\r\n * replacementTexts = \"Z\", \"Z\" (REST arguments)\r\n * OUTPUT = \"AZDAZD\"\r\n *\r\n * @param {string} source\r\n * @param {string} placeholder\r\n * @param {string} replacementTexts If only one is given, this function replaces all placeholders with that single replacementText.\r\n * If more are given, placeholders without a corresponding replacementText will remain their original placeholder characters.\r\n */\r\n public static ReplaceOccurrencesIn(source: string, placeholder: string, ...replacementTexts: string[]): string {\r\n // parameter guards\r\n if (!(source)) {\r\n return undefined;\r\n }\r\n if (!placeholder || replacementTexts.length === 0) {\r\n return source;\r\n }\r\n let outString: string = source;\r\n // one replacementText means replace for all\r\n if (replacementTexts.length === 1) {\r\n // \"g\" is the g flag to replace globally\r\n outString = outString.replace(placeholder, replacementTexts[0]);\r\n } else {\r\n // replace occurence i by replacementTexts[i], one at a time in loop (there might be a faster way..)\r\n for (let i: number = 0, len: number = replacementTexts.length; i < len; i++) {\r\n outString = outString.replace(placeholder, replacementTexts[i]);\r\n }\r\n }\r\n return outString;\r\n }\r\n\r\n // Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.\r\n public static ParseString(arg: any, defaultValue: string = \"\"): string {\r\n if (!StringUtils.IsString(arg)) {\r\n if (arg && typeof arg.toString === \"function\") {\r\n arg = arg.toString();\r\n } else {\r\n arg = defaultValue;\r\n }\r\n }\r\n return arg;\r\n }\r\n\r\n public static IsString(str: any): boolean {\r\n return typeof str === 'string';\r\n }\r\n\r\n // Returns whether given str is a string and has a length > 0.\r\n public static IsStringWithLength(str: string): boolean {\r\n return str && StringUtils.IsString(str) && str.length > 0;\r\n }\r\n\r\n // Returns given string, escaped for use as string literal in regular expressions.\r\n private static _escapeRegExp(str: string): string {\r\n return str;// .replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^$\\|]/g, \"\\\\$&\");\r\n }\r\n\r\n}\r\n","export class Dictionary {\r\n public strings: {} = {\r\n \"nl\": {},\r\n \"de\": {},\r\n \"fr\": {},\r\n \"en\": {},\r\n };\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {LanguageCode} from \"../enum/language-code.enum\";\r\nimport {StringUtils} from \"../utils/string-utils\";\r\nimport {Dictionary} from \"../assets/dictionary/text.properties\";\r\n\r\n// The localization service, providing peers with text translation functionality.\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DictionaryService {\r\n private readonly dictionaryUrl: string = \"js/browser/res/dictionary/\";\r\n\r\n public get language(): string {\r\n return this._language;\r\n }\r\n\r\n public set rootUrl(value: string) {\r\n this._rootUrl = value;\r\n this._dictBasePath = this._rootUrl + \"/\" + this.dictionaryUrl;\r\n }\r\n\r\n // public dictionaryLoaded: Subject<void> = new Subject();\r\n\r\n private _dictBasePath: string;\r\n private _rootUrl: string;\r\n // private _dictionaryPromise: Map<LanguageCode, Promise<{ [key: string]: string }>> = new Map<LanguageCode, Promise<{ [key: string]: string }>>();\r\n private _dictionaries: Map<string, { [key: string]: string }> = new Map<string, { [key: string]: string }>();\r\n private _language: string;\r\n\r\n // Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.\r\n private readonly _placeholder: string = \"|~\";\r\n\r\n constructor(\r\n ) {\r\n }\r\n\r\n // Loads the dictionary for given language in memory.\r\n public async setDictionary(language: string): Promise<void> {\r\n this._language = language || LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n private _loadDictionary() {\r\n if (!this._dictionaries.has(this._language)) {\r\n const dictionary: Dictionary = new Dictionary();\r\n // eslint-disable-next-line no-magic-numbers\r\n if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {\r\n // eslint-disable-next-line no-magic-numbers\r\n this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the localized text for the given dictionary key.\r\n * @param {string} key\r\n * @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val\r\n * @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value\r\n * @returns {string} The translated text for given dictionary key\r\n */\r\n public get(key: string, upperCaseFirst: boolean = true, ...replacementTexts: string[]): string {\r\n if (!StringUtils.IsStringWithLength(key)) {\r\n return key || \"\";\r\n }\r\n\r\n if (this.language === undefined) {\r\n this._language = LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n let text: string = this._dictionaries.get(this.language)[key];\r\n text = StringUtils.IsStringWithLength(text) ? text : key;\r\n\r\n if (upperCaseFirst) {\r\n text = text.charAt(0).toUpperCase() + text.slice(1);\r\n } else {\r\n text = text.charAt(0).toLowerCase() + text.slice(1);\r\n }\r\n\r\n if (replacementTexts.length > 0) {\r\n text = StringUtils.ReplaceOccurrencesIn(text, this._placeholder, ...replacementTexts);\r\n }\r\n\r\n return text;\r\n }\r\n}\r\n","import {Options} from '@colijnit/ioneconnector/build/model/options';\r\n\r\nexport class SharedSettings extends Options {\r\n\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {BehaviorSubject} from \"rxjs\";\r\nimport {DictionaryService} from \"./dictionary.service\";\r\nimport {SharedSettings} from '../model/settings';\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class OptionsService {\r\n\r\n public optionsInitialized: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n\r\n public set options(value: any) {\r\n this._options = value;\r\n }\r\n\r\n public get options(): any {\r\n return this._options;\r\n }\r\n\r\n public optionsLoaded: BehaviorSubject<boolean> = new BehaviorSubject(false);\r\n\r\n private _options: any;\r\n\r\n constructor(private _dictionary: DictionaryService) {\r\n }\r\n\r\n public async createSettingsFromObject(obj: any): Promise<void> {\r\n if (!this.options) {\r\n this.options = new SharedSettings();\r\n }\r\n this.options = Object.assign(this.options, obj);\r\n this.optionsLoaded.next(true);\r\n }\r\n\r\n public async initialize(options: any): Promise<void> {\r\n if (options) {\r\n await this.createSettingsFromObject(options);\r\n await this._dictionary.setDictionary(this.options.languageCode);\r\n this.optionsInitialized.next(true);\r\n }\r\n }\r\n}\r\n","import {Articles} from '@colijnit/articleapi/build/articles';\r\nimport {Sharedapi} from '@colijnit/sharedapi/build/sharedapi';\r\nimport {Injectable} from '@angular/core';\r\nimport {GetStockHistoryRequest} from '@colijnit/articleapi/build/model/get-stock-history-request';\r\nimport {ArticleStock as ArticleStockBo} from '@colijnit/articleapi/build/model/article-stock.bo';\r\nimport {ArticleStock} from '@colijnit/articleapi/build/model/article-stock';\r\nimport {StockHistoryBo} from '@colijnit/articleapi/build/model/stock-history.bo';\r\nimport {ArticleStockManagement} from '@colijnit/articleapi/build/model/article-stock-management';\r\nimport {ArticleDetailsBo} from '@colijnit/articleapi/build/model/article-details.bo';\r\nimport {StockStatus} from '@colijnit/articleapi/build/model/stock-status.bo';\r\nimport {StockManagementWarehouses} from '@colijnit/articleapi/build/model/stock-management-warehouses.bo';\r\nimport {StockLocation} from '@colijnit/articleapi/build/model/stock-location.bo';\r\nimport {ArticleTransaction} from '@colijnit/articleapi/build/model/article-transaction';\r\nimport {ArticleTransaction as ArticleTransactionBo} from '@colijnit/articleapi/build/model/article-transaction.bo';\r\nimport {OptionsService} from './options.service';\r\nimport {MainApi} from '@colijnit/mainapi';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {DataServiceResponseData} from '@colijnit/ioneconnector/build/model/data-service-response-data';\r\nimport {SendMethod} from '@colijnit/mainapi/build/model/send-method.bo';\r\nimport {StockForecast} from \"@colijnit/articleapi/build/model/stock-forecast.bo\";\r\nimport {BusinessObjectFactory} from '@colijnit/ioneconnector/build/service/business-object-factory';\r\nimport {TagCategory} from \"@colijnit/mainapi/build/enum/tab-category.enum\";\r\nimport {TagTreeItem} from \"@colijnit/mainapi/build/model/tag-tree-item.bo\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {ArticleExtendedRequest} from \"@colijnit/articleapi/build/model/article-extended-request\";\r\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SharedConnectorService {\r\n public articleConnector: Articles;\r\n public sharedConnector: Sharedapi;\r\n public mainConnector: MainApi;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n\r\n constructor(\r\n private _optionsService: OptionsService,\r\n ) {\r\n }\r\n\r\n public async connect(): Promise<void> {\r\n this.sharedConnector = new Sharedapi(this._optionsService.options);\r\n await this.sharedConnector.connect();\r\n this.articleConnector = new Articles(this._optionsService.options);\r\n this.mainConnector = new MainApi(this._optionsService.options);\r\n }\r\n\r\n public async getAllPrinters(): Promise<Printer[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.mainConnector.listAllPrinters().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Printer, result.resultObject));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getSendMethods(): Promise<SendMethod[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.mainConnector.getSendMethods().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject && result.resultObject.result) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(SendMethod, result.resultObject.result));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getScreenConfigTree(): Promise<any> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.sharedConnector.getConfigTreeObject('T', 'JS').then((result: any) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(result.resultObjects);\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getScreenConfigSubRubric(parentRubricId: number, configId: number, fixedKey: string): Promise<any> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.sharedConnector.getConfigSubRubric(parentRubricId, configId, fixedKey).then((result: any) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(result.resultObjects);\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getTagsFullTree(category: TagCategory, includeTags: boolean): Promise<TagTreeItem[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.mainConnector.getTagsFullTree(category, includeTags).then((result: any) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(TagTreeItem, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getDocumentContent(id: number, thumbnail: boolean = true): Promise<string> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.mainConnector.getDocumentContent(id, thumbnail).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(result.resultObject.documentContent);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // public async getPrintStockStickers(request: PrintStockStickers): Promise<PrintStockStickers> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getPrintStockStickers(request).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve(this._boFactory.makeWithRawBackendData(PrintStockStickers, result.resultObject));\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // })\r\n // })\r\n // }\r\n\r\n // public async getPrintPriceStickers(request: PrintPriceStickers): Promise<PrintPriceStickers> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.printPriceStickers(request).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve(this._boFactory.makeWithRawBackendData(PrintPriceStickers, result.resultObject));\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // })\r\n // })\r\n // }\r\n\r\n public async getStockHistory(request: GetStockHistoryRequest): Promise<StockHistoryBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockHistory(request).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject && result.resultObject.hasOwnProperty(\"stockHistory\")) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockHistoryBo, result.resultObject.stockHistory));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n })\r\n })\r\n }\r\n\r\n public async getStockInformation(data: ArticleStock): Promise<ArticleStockBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockInformation(data).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleStockBo, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getArtStockStatus(goodId: number, branchNo?: string, requestedAmount?: number, warehouseId?: number): Promise<number> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject) {\r\n resolve(result.resultObject);\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getArticleFlat(sku: string): Promise<ArticleFlat> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getArticleFlat(sku).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject) {\r\n resolve(result.resultObject);\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async searchArticles(request: ArticleExtendedRequest): Promise<ArticleExtended[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.searchArticles(request, false).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockManagementWarehouses, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getStockManagementWarehouses(): Promise<StockManagementWarehouses[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockManagementWarehouses().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockManagementWarehouses, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getStockManagementLocations(warehouseNo: number): Promise<StockLocation[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockManagementLocations(warehouseNo).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockLocation, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getOrderConfirmationDefaultSendMethod(relationId).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve (result.resultObject);\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n // public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID: string): Promise<string[]> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getDefaultEmailAddressListForOrderConfirmation(transactionUUID).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve (result.resultObject);\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n // public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getPurchaseOrderEmailLayouts(transactionUUID).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve (result.resultObject);\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n public async getArticleDetails(data: ArticleStockManagement): Promise<ArticleDetailsBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getArticleDetails(data).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleDetailsBo, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async updateArticleDetails(data: ArticleDetailsBo): Promise<boolean> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.updateArticleDetails(data).then(async (result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n await this.commit();\r\n resolve(true);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n public async lockArticleDetails(data: ArticleStockManagement): Promise<boolean> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.lockArticleDetails(data).then(async (result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n await this.commit();\r\n resolve(true);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n public async getStockStatus(): Promise<StockStatus[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockState().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStatus, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.mainConnector.getStockStickerPrintLayouts(data).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStickersPrintLayouts, result.resultObject));\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n public async getArticleTransaction(data: ArticleTransaction): Promise<ArticleTransactionBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getArticleTransaction(data).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleTransactionBo, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getStockPrognose(goodId: number, warehouseNumber: number): Promise<StockForecast[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockForecast(goodId, warehouseNumber).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(result.resultObjects);\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public commit(): Promise<DataServiceResponseData> {\r\n return this.articleConnector.commit();\r\n }\r\n\r\n}\r\n","import {EventEmitter, Injectable} from \"@angular/core\";\r\nimport {PrintStockStickers} from \"@colijnit/sharedapi/build/model/print-stock-stickers\";\r\nimport {GetStockHistoryRequest} from \"@colijnit/articleapi/build/model/get-stock-history-request\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {ArticleTransaction} from \"@colijnit/articleapi/build/model/article-transaction\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\nimport {SharedConnectorService} from \"./shared-connector.service\";\r\nimport {SendMethodParams} from \"../components/send-method-dialog/send-method-params.interface\";\r\nimport {DataServiceResponseData} from '@colijnit/ioneconnector/build/model/data-service-response-data';\r\nimport {StockForecast} from \"@colijnit/articleapi/build/model/stock-forecast.bo\";\r\nimport {ArticleExtendedRequest} from \"@colijnit/articleapi/build/model/article-extended-request\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StockService {\r\n\r\n public stockStickers: PrintStockStickers;\r\n public printLayoutParams: SendMethodParams;\r\n\r\n public readonly warehouseSelected: EventEmitter<StockManagementWarehouses> = new EventEmitter<StockManagementWarehouses>()\r\n\r\n constructor(\r\n private _sharedService: SharedConnectorService,\r\n ) {\r\n }\r\n\r\n // public async getPrintStockStickers(data: PrintStockStickers): Promise<void> {\r\n // await this._sharedService.getPrintStockStickers(data);\r\n // }\r\n\r\n // public async getPrintPriceStickers(data: PrintPriceStickers): Promise<void> {\r\n // await this._sharedService.getPrintPriceStickers(data);\r\n // }\r\n\r\n public async getStockHistory(data: GetStockHistoryRequest): Promise<StockHistoryBo[]> {\r\n return await this._sharedService.getStockHistory(data);\r\n }\r\n\r\n public async getStockInformation(data: ArticleStock): Promise<ArticleStockBo[]> {\r\n return await this._sharedService.getStockInformation(data);\r\n }\r\n\r\n // public async getStockStickerPrintLayouts(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\r\n // return await this._connector.getStockStickerPrintLayouts(data);\r\n // }\r\n\r\n public async getArticleDetails(data: ArticleStockManagement): Promise<ArticleDetailsBo[]> {\r\n return await this._sharedService.getArticleDetails(data);\r\n }\r\n\r\n public async updateArticleDetails(data: ArticleDetailsBo): Promise<boolean> {\r\n return await this._sharedService.updateArticleDetails(data);\r\n }\r\n\r\n public async getStockState(): Promise<StockStatus[]> {\r\n return await this._sharedService.getStockStatus();\r\n }\r\n\r\n public async getArtStockStatus(goodId: number, branchNo?: string, requestedAmount?: number, warehouseId?: number): Promise<number> {\r\n return await this._sharedService.getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId);\r\n }\r\n\r\n // public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\r\n // return await this._sharedService.getStockStickerTemplates(data);\r\n // }\r\n\r\n public async getStockManagementWarehouses(): Promise<StockManagementWarehouses[]> {\r\n return await this._sharedService.getStockManagementWarehouses();\r\n }\r\n\r\n public async getStockManagementLocations(warehouseNo: number): Promise<StockLocation[]> {\r\n return await this._sharedService.getStockManagementLocations(warehouseNo);\r\n }\r\n\r\n // public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {\r\n // return await this._sharedService.getOrderConfirmationDefaultSendMethod(relationId);\r\n // }\r\n\r\n // public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID: string): Promise<string[]> {\r\n // return await this._sharedService.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);\r\n // }\r\n\r\n // public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]> {\r\n // return await this._sharedService.getPurchaseOrderEmailLayouts(transactionUUID);\r\n // }\r\n\r\n public async getArticleTransaction(data: ArticleTransaction): Promise<ArticleTransactionBo[]> {\r\n return await this._sharedService.getArticleTransaction(data);\r\n }\r\n\r\n public async stockPrognose(goodId: number, warehouseNumber: number): Promise<StockForecast[]> {\r\n return await this._sharedService.getStockPrognose(goodId, warehouseNumber);\r\n }\r\n\r\n public async lockArticleDetails(data: ArticleStockManagement): Promise<boolean> {\r\n return await this._sharedService.lockArticleDetails(data);\r\n }\r\n\r\n public commit(): Promise<DataServiceResponseData> {\r\n return this._sharedService.commit();\r\n }\r\n\r\n public async getArticleFlat(sku: string): Promise<ArticleFlat> {\r\n return await this._sharedService.getArticleFlat(sku);\r\n }\r\n\r\n public async searchArticles(request: ArticleExtendedRequest): Promise<ArticleExtended[]> {\r\n return await this._sharedService.searchArticles(request);\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","export class Translation {\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Translation} from './translation';\r\n\r\n@Injectable()\r\nexport class LocalizeService {\r\n public set translation(value: Translation) {\r\n this._translation = Object.assign(new Translation(), value);\r\n }\r\n\r\n public get translation(): Translation {\r\n return this._translation;\r\n }\r\n\r\n private _translation: Translation = new Translation();\r\n\r\n public get(key: string, upperCaseFirst: boolean = true, ...replacementTexts: string[]): string {\r\n let text: string = key;\r\n if (this.translation.hasOwnProperty(key)) {\r\n text = this.translation[key].toLowerCase();\r\n if (upperCaseFirst) {\r\n text = text.charAt(0).toUpperCase() + text.slice(1);\r\n }\r\n } else {\r\n console.log('not found', key);\r\n }\r\n return text;\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Input, OnDestroy, OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {StockService} from \"../../service/stock.service\";\r\nimport {PrintStockStickers} from \"@colijnit/sharedapi/build/model/print-stock-stickers\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {OptionsService} from \"../../service/options.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {Translation} from './localization/translation';\r\nimport {LocalizeService} from '../../localization/localize.service';\r\nimport {ArticleExtendedRequest} from \"@colijnit/articleapi/build/model/article-extended-request\";\r\nimport {SharedConnectorService} from \"../../service/shared-connector.service\";\r\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock\",\r\n template: `\r\n <div class=\"stock-info-container\" *ngIf=\"loaded && articleExtended\">\r\n <co-stock-information [article]=\"articleExtended\"\r\n [articleStockState]=\"articleStockState\"\r\n [allAvailableStockInformation]=\"allAvailableStock\"\r\n [allTechnicalStockInformation]=\"allTechnicalStock\"\r\n >\r\n </co-stock-information>\r\n <hr>\r\n <co-stock-tabs [stockInformation]=\"stockInformation\"\r\n [article]=\"articleExtended\"\r\n [articleFlat]=\"articleFlat\"\r\n (transferIconClicked)=\"handleStockTransferClick($event)\"\r\n (sendMethodDialogClicked)=\"handleSendMethodClick($event)\"\r\n [warehouses]=\"warehouses\"\r\n ></co-stock-tabs>\r\n\r\n <co-dialog *ngIf=\"showStockTransfer\" (closeClick)=\"showStockTransfer = false\">\r\n <co-stock-transfer (handleClick)=\"backToStock()\"\r\n class=\"stock-transfer-dialog\"\r\n [article]=\"stockTransferArticle\"\r\n [articleToTransfer]=\"stockTransferArticleDetails\"\r\n (handleStickerClicked)=\"handleStickerClicked.emit($event)\"\r\n [articleWarehouse]=\"articleWarehouse\"\r\n [allWarehouses]=\"allWarehouses\"\r\n >\r\n </co-stock-transfer>\r\n </co-dialog>\r\n\r\n <co-send-method-dialog *ngIf=\"showSendMethodDialog\">\r\n\r\n </co-send-method-dialog>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockComponent implements OnDestroy, OnInit {\r\n\r\n @Input()\r\n public set translation(value: Translation) {\r\n this._localizeService.translation = value;\r\n this._changeDetector.markForCheck();\r\n }\r\n\r\n @Output()\r\n public handleStickerClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Input()\r\n public set article(articleOrGoodId: ArticleExtended | number) {\r\n if(articleOrGoodId instanceof ArticleExtended) {\r\n this.articleExtended = articleOrGoodId;\r\n this._goodId = articleOrGoodId.goodId;\r\n\r\n } else if(typeof articleOrGoodId === \"number\" ) {\r\n this._goodId = articleOrGoodId;\r\n }\r\n\r\n };\r\n\r\n @Input()\r\n public articleWarehouse: any[] = [];\r\n\r\n @Input()\r\n public allWarehouses: any[] = [];\r\n\r\n @Output()\r\n public readonly okButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly cancelButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostBinding(\"class.co-stock\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public loaded: boolean = false;\r\n\r\n public showStockInformationGrid: boolean = true;\r\n public showStockTransfer: boolean = false;\r\n public stockInformation: ArticleStockBo[] = [];\r\n public stockTransferArticle: ArticleStockBo;\r\n public stockTransferArticleDetails: ArticleDetailsBo;\r\n public articleExtended: ArticleExtended;\r\n\r\n public articleFlat:ArticleFlat;\r\n public stockHistory: StockHistoryBo[] = [];\r\n public allAvailableStock: number = 0;\r\n public allTechnicalStock: number = 0;\r\n public showSendMethodDialog: boolean = false;\r\n public articleStockState: number;\r\n public warehouses: StockManagementWarehouses[] = [];\r\n\r\n private _subscriptions: Subscription[] = [];\r\n private _goodId: number;\r\n\r\n constructor(\r\n private _stockService: StockService,\r\n private _optionsService: OptionsService,\r\n private _dictionary: DictionaryService,\r\n private _changeDetector: ChangeDetectorRef,\r\n private _localizeService: LocalizeService,\r\n private _connector: SharedConnectorService\r\n ) {\r\n this._subscriptions.push(\r\n this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)),\r\n )\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.articleExtended = undefined;\r\n this.articleFlat = undefined;\r\n this._subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public handleStockTransferClick(event): void {\r\n this.stockTransferArticleDetails = event;\r\n this.showStockTransfer = !this.showStockTransfer;\r\n this.showStockInformationGrid = !this.showStockInformationGrid;\r\n this._stockService.stockStickers = new PrintStockStickers();\r\n }\r\n\r\n public handleSendMethodClick(event): void {\r\n this.showSendMethodDialog = true;\r\n }\r\n\r\n public backToStock(): void {\r\n this.showStockTransfer = !this.showStockTransfer;\r\n this.showStockInformationGrid = !this.showStockInformationGrid;\r\n }\r\n\r\n public getStockInformation(goodId: number): void {\r\n const articleData: ArticleStock = new ArticleStock();\r\n articleData.goodId = goodId.toString();\r\n articleData.viewKind = \"M\";\r\n this._stockService.getStockInformation(articleData).then(result => {\r\n this.stockInformation = result;\r\n this.stockInformation.forEach((articleStock) => this.allAvailableStock += articleStock.availableStock);\r\n this.stockInformation.forEach((articleStock) => this.allTechnicalStock += articleStock.technicalStock);\r\n });\r\n\r\n }\r\n\r\n public getArtStockStatus(): void {\r\n this._stockService.getArtStockStatus(this.articleExtended ? this.articleExtended.goodId : this._goodId).then(result => {\r\n this.articleStockState = result;\r\n });\r\n }\r\n\r\n public getStockManagementWarehouses(): void {\r\n this._stockService.getStockManagementWarehouses().then((warehouses) => {\r\n this.warehouses = warehouses;\r\n })\r\n }\r\n\r\n private async _handleSettingsLoaded(loaded: boolean): Promise<void> {\r\n if (loaded) {\r\n await this._initConnection().then();\r\n }\r\n }\r\n\r\n private async _initConnection(): Promise<void> {\r\n await this._connector.connect();\r\n if (this._optionsService.options.url) {\r\n this._dictionary.rootUrl = this._optionsService.options.url.replace(\"/ajaxservice\", \"\");\r\n }\r\n await this._dictionary.setDictionary(this._optionsService.options.languageCode);\r\n setTimeout(() => {\r\n this._changeDetector.detectChanges();\r\n });\r\n this.loaded = true;\r\n this.loadData();\r\n }\r\n\r\n\r\n public loadData() {\r\n if(this.loaded) {\r\n if(this._goodId && !this.articleExtended) {\r\n let request: ArticleExtendedRequest = new ArticleExtendedRequest();\r\n request.goodId = this._goodId;\r\n this._stockService.searchArticles(request).then((articleExtended: ArticleExtended[]) => {\r\n this.articleExtended = articleExtended[0];\r\n });\r\n }\r\n this._stockService.getArticleFlat(this.articleExtended.articleNumber).then(result => {\r\n this.articleFlat = result;\r\n })\r\n this.getArtStockStatus();\r\n this.getStockManagementWarehouses();\r\n this.getStockInformation(this.articleExtended ? this.articleExtended.goodId : this._goodId);\r\n }\r\n this._changeDetector.markForCheck();\r\n this._changeDetector.detectChanges();\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-information\",\r\n template: `\r\n <div class=\"stock-info\" *ngIf=\"article\">\r\n <div class=\"stock-info-row\" >\r\n <div class=\"stock-info-row-image\">\r\n <div class=\"stock-image\">\r\n <co-image class=\"stock-image\" [source]=\"article.imageData\"></co-image>\r\n </div>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label class=\"stock-label\" [textContent]=\"'DESCRIPTION' | localize\"></label>\r\n <span class=\"stock-span\" [textContent]=\"article.description\"></span>\r\n </div>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label class=\"stock-label\" [textContent]=\"'STOCK_STATUS' | localize\"></label>\r\n <span class=\"stock-span\" [textContent]=\"article.stockStatus\"></span>\r\n <co-stock-statusbar [value]=\"articleStockState\"></co-stock-statusbar>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label class=\"stock-label\" [textContent]=\"'AMOUNT_IN_STOCK' | localize\"></label>\r\n <span class=\"stock-span\" [textContent]=\"allTechnicalStockInformation\"></span>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label class=\"stock-label\" [textContent]=\"'AMOUNT_AVAILABLE' | localize\"></label>\r\n <span class=\"stock-span\" [textContent]=\"allAvailableStockInformation\"></span>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label class=\"stock-label\" [textContent]=\"'ECONOMICAL_STOCK' | localize\"></label>\r\n <span class=\"stock-span\" [textContent]=\"\"></span>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockInformationComponent {\r\n\r\n public image: string;\r\n\r\n @Input()\r\n public article: ArticleExtended;\r\n\r\n @Input()\r\n public articleStockState: number;\r\n\r\n @Input()\r\n public allAvailableStockInformation: number;\r\n\r\n @Input()\r\n public allTechnicalStockInformation: number;\r\n\r\n}\r\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\r\n\r\nexport const IconSvg: {[iconName: string]: string} = {\r\n \"account\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><path d=\\\"M15,15c3.59,0,6.5-2.91,6.5-6.5s-2.91-6.5-6.5-6.5-6.5,2.91-6.5,6.5,2.91,6.5,6.5,6.5Zm-2.32,2.44c-5,0-9.05,4.05-9.05,9.05,0,.83,.68,1.51,1.51,1.51H24.87c.83,0,1.51-.68,1.51-1.51,0-5-4.05-9.05-9.05-9.05h-4.64Z\\\" fill=\\\"#484f60\\\"/></g></svg>\",\r\n \"angle_left_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 320 512\\\"><path fill=\\\"#183153\\\" d=\\\"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\\\"/></svg>\",\r\n \"angle_right_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 320 512\\\"><path fill=\\\"#183153\\\" d=\\\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\\\"/></svg>\",\r\n \"arrow_fat_right\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"37.5 25 25.2 12.7 25.2 20.35 12.5 20.35 12.5 29.66 25.2 29.66 25.2 37.3 37.5 25\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"arrow_point_left\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M31.9,36.7l-14.7-9.6C17.1,27,17,26.9,17,26.7v-2.4c0-0.2,0.1-0.3,0.2-0.4l14.7-9.6c0.2-0.2,0.5-0.1,0.7,0.1l1.4,2.1c0.2,0.2,0.1,0.5-0.1,0.7l-12,7.8c-0.3,0.2-0.3,0.6,0,0.8l12,7.8c0.2,0.2,0.3,0.5,0.1,0.7l-1.4,2.1C32.4,36.8,32.1,36.8,31.9,36.7z\\\"/></svg>\",\r\n \"arrow_point_right\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\"><path fill=\\\"#484F5F\\\" d=\\\"M19.1,14.3l14.7,9.6c0.1,0.1,0.2,0.2,0.2,0.4v2.4c0,0.2-0.1,0.3-0.2,0.4l-14.7,9.6c-0.2,0.2-0.5,0.1-0.7-0.1l-1.4-2.1c-0.2-0.2-0.1-0.5,0.1-0.7l12-7.8c0.3-0.2,0.3-0.6,0-0.8l-12-7.8c-0.2-0.2-0.3-0.5-0.1-0.7l1.4-2.1C18.6,14.2,18.9,14.2,19.1,14.3z\\\"/></svg>\",\r\n \"at_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M207.8 20.73c-93.45 18.32-168.7 93.66-187 187.1c-27.64 140.9 68.65 266.2 199.1 285.1c19.01 2.888 36.17-12.26 36.17-31.49l.0001-.6631c0-15.74-11.44-28.88-26.84-31.24c-84.35-12.98-149.2-86.13-149.2-174.2c0-102.9 88.61-185.5 193.4-175.4c91.54 8.869 158.6 91.25 158.6 183.2l0 16.16c0 22.09-17.94 40.05-40 40.05s-40.01-17.96-40.01-40.05v-120.1c0-8.847-7.161-16.02-16.01-16.02l-31.98 .0036c-7.299 0-13.2 4.992-15.12 11.68c-24.85-12.15-54.24-16.38-86.06-5.106c-38.75 13.73-68.12 48.91-73.72 89.64c-9.483 69.01 43.81 128 110.9 128c26.44 0 50.43-9.544 69.59-24.88c24 31.3 65.23 48.69 109.4 37.49C465.2 369.3 496 324.1 495.1 277.2V256.3C495.1 107.1 361.2-9.332 207.8 20.73zM239.1 304.3c-26.47 0-48-21.56-48-48.05s21.53-48.05 48-48.05s48 21.56 48 48.05S266.5 304.3 239.1 304.3z\\\"/></svg>\",\r\n \"bring_forward_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path fill=\\\"#183153\\\" d=\\\"M224 464H448C456.8 464 464 456.8 464 448V224C464 215.2 456.8 208 448 208H384V160H448C483.3 160 512 188.7 512 224V448C512 483.3 483.3 512 448 512H224C188.7 512 160 483.3 160 448V384H208V448C208 456.8 215.2 464 224 464zM64 352C28.65 352 0 323.3 0 288V64C0 28.65 28.65 0 64 0H288C323.3 0 352 28.65 352 64V288C352 323.3 323.3 352 288 352H64z\\\"/></svg>\",\r\n \"check_duotone\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><defs><style>.fa-secondary{opacity:.4}</style></defs><path class=\\\"fa-primary\\\" d=\\\"M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z\\\"/></svg>\",\r\n \"check_round\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,10A15,15,0,1,0,40,25,15,15,0,0,0,25,10ZM23,34l-6.24-9.09,2.81-3.59L23,26.45,27.66,16h5.58Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"cross_skinny\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><polygon points=\\\"25.35 5.52 24.65 4.81 15 14.46 5.35 4.81 4.65 5.52 14.29 15.17 4.65 24.81 5.35 25.52 15 15.87 24.65 25.52 25.35 24.81 15.71 15.17 25.35 5.52\\\" fill=\\\"#484f60\\\"/></g></svg>\",\r\n \"delete_left_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M432.1 208.1L385.9 256L432.1 303C442.3 312.4 442.3 327.6 432.1 336.1C423.6 346.3 408.4 346.3 399 336.1L352 289.9L304.1 336.1C295.6 346.3 280.4 346.3 271 336.1C261.7 327.6 261.7 312.4 271 303L318.1 256L271 208.1C261.7 199.6 261.7 184.4 271 175C280.4 165.7 295.6 165.7 304.1 175L352 222.1L399 175C408.4 165.7 423.6 165.7 432.1 175C442.3 184.4 442.3 199.6 432.1 208.1V208.1zM512 64C547.3 64 576 92.65 576 128V384C576 419.3 547.3 448 512 448H205.3C188.3 448 172 441.3 160 429.3L9.372 278.6C3.371 272.6 0 264.5 0 256C0 247.5 3.372 239.4 9.372 233.4L160 82.75C172 70.74 188.3 64 205.3 64L512 64zM528 128C528 119.2 520.8 112 512 112H205.3C201 112 196.9 113.7 193.9 116.7L54.63 256L193.9 395.3C196.9 398.3 201 400 205.3 400H512C520.8 400 528 392.8 528 384V128z\\\"/></svg>\",\r\n \"delivery_truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"15.35\\\" y=\\\"16.56\\\" width=\\\"15.14\\\" height=\\\"10.94\\\" transform=\\\"translate(-1.83 2.08) rotate(-5)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M38.5,18.1l-6.9.61L32.41,28l-7.63.67a3.76,3.76,0,0,1,1.43,2.25l7.25-.63A3.83,3.83,0,0,1,41,29.6l1-.1-.52-6Zm.29,5.84-3.91.34a.51.51,0,0,1-.55-.46L34,20.1a.49.49,0,0,1,.45-.54l2.27-.2a.5.5,0,0,1,.48.25l2,3.59A.5.5,0,0,1,38.79,23.94Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.66,29.09a3.8,3.8,0,0,0-1,2.46l-.74.07-1.82-.94L16,29.41Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.56,30.62a2.74,2.74,0,1,0,2.49-3A2.73,2.73,0,0,0,34.56,30.62Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.74,31.91a2.74,2.74,0,1,0,2.49-3A2.74,2.74,0,0,0,19.74,31.91Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"7.96\\\" y=\\\"17.63\\\" width=\\\"5\\\" height=\\\"1\\\" transform=\\\"translate(-1.54 0.98) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.02\\\" y=\\\"29.71\\\" width=\\\"3\\\" height=\\\"1\\\" transform=\\\"translate(-2.59 1.21) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"9.48\\\" y=\\\"23.53\\\" width=\\\"4\\\" height=\\\"1\\\" transform=\\\"matrix(1, -0.09, 0.09, 1, -2.05, 1.09)\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"email\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.79,38.45A17.82,17.82,0,0,1,23.86,40,13.09,13.09,0,0,1,10.41,26.42C10.41,17.63,16.83,10,26.53,10c7.63,0,13.06,5.21,13.06,12.46,0,6.33-3.53,10.3-8.19,10.3a3.42,3.42,0,0,1-3.71-3.32h-.08A6.5,6.5,0,0,1,22,32.76c-2.75,0-4.82-2.11-4.82-5.65a9.85,9.85,0,0,1,10.13-10,12.89,12.89,0,0,1,5.13,1l-1.3,8c-.43,2.54-.13,3.71,1.08,3.75,1.85.09,4.18-2.28,4.18-7.28,0-5.65-3.62-10-10.3-10S13.73,17.76,13.73,26c0,7.25,4.57,11.3,11,11.3A14.81,14.81,0,0,0,31,36ZM28,20.65a5.34,5.34,0,0,0-1.33-.18c-2.85,0-5.09,2.81-5.09,6.12,0,1.64.73,2.68,2.16,2.68,1.59,0,3.27-2,3.66-4.53Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"envelope_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\\\"/></svg>\",\r\n \"eye_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\\\"/></svg>\",\r\n \"file_export_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M568.1 303l-80-80c-9.375-9.375-24.56-9.375-33.94 0s-9.375 24.56 0 33.94L494.1 296H216C202.8 296 192 306.8 192 320s10.75 24 24 24h278.1l-39.03 39.03C450.3 387.7 448 393.8 448 400s2.344 12.28 7.031 16.97c9.375 9.375 24.56 9.375 33.94 0l80-80C578.3 327.6 578.3 312.4 568.1 303zM360 384c-13.25 0-24 10.74-24 24V448c0 8.836-7.164 16-16 16H64.02c-8.836 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1v72c0 13.25 10.74 24 23.1 24S384 245.3 384 232V138.6c0-16.98-6.742-33.26-18.75-45.26l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H63.1C28.65 0-.002 28.66 0 64l.0065 384c.002 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64v-40C384 394.7 373.3 384 360 384z\\\"/></svg>\",\r\n \"file_export_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M32 64C32 28.7 60.7 0 96 0H256V128c0 17.7 14.3 32 32 32H416V288H248c-13.3 0-24 10.7-24 24s10.7 24 24 24H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM416 336V288H526.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H416zm0-208H288V0L416 128z\\\"/></svg>\",\r\n \"file_pdf_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M320 464C328.8 464 336 456.8 336 448V416H384V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V416H48V448C48 456.8 55.16 464 64 464H320zM256 160C238.3 160 224 145.7 224 128V48H64C55.16 48 48 55.16 48 64V192H0V64C0 28.65 28.65 0 64 0H229.5C246.5 0 262.7 6.743 274.7 18.75L365.3 109.3C377.3 121.3 384 137.5 384 154.5V192H336V160H256zM88 224C118.9 224 144 249.1 144 280C144 310.9 118.9 336 88 336H80V368C80 376.8 72.84 384 64 384C55.16 384 48 376.8 48 368V240C48 231.2 55.16 224 64 224H88zM112 280C112 266.7 101.3 256 88 256H80V304H88C101.3 304 112 293.3 112 280zM160 240C160 231.2 167.2 224 176 224H200C226.5 224 248 245.5 248 272V336C248 362.5 226.5 384 200 384H176C167.2 384 160 376.8 160 368V240zM192 352H200C208.8 352 216 344.8 216 336V272C216 263.2 208.8 256 200 256H192V352zM336 224C344.8 224 352 231.2 352 240C352 248.8 344.8 256 336 256H304V288H336C344.8 288 352 295.2 352 304C352 312.8 344.8 320 336 320H304V368C304 376.8 296.8 384 288 384C279.2 384 272 376.8 272 368V240C272 231.2 279.2 224 288 224H336z\\\"/></svg>\",\r\n \"file_pdf_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 224H88c30.9 0 56 25.1 56 56s-25.1 56-56 56H80v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V320 240c0-8.8 7.2-16 16-16zm24 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H80v48h8zm72-64c0-8.8 7.2-16 16-16h24c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-8.8 0-16-7.2-16-16V240zm32 112h8c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16h-8v96zm96-128h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 240c0-8.8 7.2-16 16-16z\\\"/></svg>\",\r\n \"file_signature_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M64 464H320c8.8 0 16-7.2 16-16v-6.7l39.8-9.9c2.8-.7 5.6-1.6 8.2-2.7V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v49.1l-48 48V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm96-115l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8h25.6l12-48.2c1.4-5.6 4.3-10.8 8.4-14.9L441.1 191.8l71 71L382.9 391.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-1.1 .3-2.1 .4-3.2 .5c-.8 .1-1.5 .2-2.3 .2H256c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L160 349zM549.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0z\\\"/></svg>\",\r\n \"house_blank_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-264-224zM464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 464 204.8z\\\"/></svg>\",\r\n \"lock\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><g><path d=\\\"M22.65,11.67H7.35c-2.82,0-3.07,2.29-3.07,5.12v8.09c0,2.83,.25,5.12,3.07,5.12h15.29c2.81,0,3.07-2.29,3.07-5.12v-8.09c0-2.83-.25-5.12-3.07-5.12Zm-12.42,15.82l2.6-6.32c-1-.7-1.65-1.85-1.65-3.15,0-2.12,1.71-3.84,3.82-3.84s3.82,1.73,3.82,3.84c0,1.31-.65,2.46-1.65,3.15l2.6,6.32H10.22Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.51,6.64c0-3.6-2.02-4.07-4.51-4.07h0c-2.49,0-4.51,.47-4.51,4.07v3h-2.7v-3C7.79,1.62,11.02,0,15,0h0c3.98,0,7.21,1.62,7.21,6.64v3h-2.7v-3Z\\\" fill=\\\"#484f60\\\"/></g></g></svg>\",\r\n \"message_sms_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M448-.0004H64c-35.25 0-64 28.75-64 63.1v287.1c0 35.25 28.75 63.1 64 63.1h96v83.98c0 9.836 11.02 15.55 19.12 9.7L304 415.1H448c35.25 0 64-28.75 64-63.1V63.1C512 28.75 483.3-.0004 448-.0004zM464 352c0 8.75-7.25 16-16 16h-160l-80 60v-60H64c-8.75 0-16-7.25-16-16V64c0-8.75 7.25-16 16-16h384c8.75 0 16 7.25 16 16V352zM124.4 192.6C113.6 189.5 103.2 187.2 104.2 181.5c.7813-4.5 10.28-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.375 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34C143.1 147.8 136.5 145.9 130.6 145c-30.69-4.812-53.94 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34C135 239 125.7 241.1 114.3 239.4C107.9 238.4 100.4 235.4 93.38 232.9c-8.375-2.969-16 1.875-18.97 10.19S77.19 261.1 85.5 264.1C92.81 266.8 101.1 269.8 109.4 271C113.7 271.7 117.9 272 121.1 272c24.28 0 41.94-12.03 45.38-32.13C173.1 206.5 141.4 197.5 124.4 192.6zM396.4 192.6C385.6 189.5 375.2 187.2 376.2 181.5c.7813-4.5 10.31-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.406 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34c-6.156-2.125-12.69-4.062-18.59-4.969c-30.75-4.812-53.97 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34c-.7813 4.562-10.12 6.656-21.56 4.938c-6.342-.9883-13.9-3.939-20.88-6.438c-8.375-2.969-16 1.875-18.97 10.19s2.781 17.97 11.09 20.97c7.312 2.656 15.62 5.656 23.88 6.906C385.7 271.7 389.9 272 393.1 272c24.28 0 41.94-12.03 45.38-32.13C445.1 206.5 413.4 197.5 396.4 192.6zM309.1 144.8c-6.469-2.062-13.72 .0625-17.88 5.594L256 197.3L220.8 150.4C216.7 144.9 209.4 142.7 202.9 144.8C196.4 147 192 153.1 192 160v96c0 8.844 7.156 16 16 16S224 264.8 224 256V208l19.19 25.59c6.062 8.062 19.56 8.062 25.62 0L288 208V256c0 8.844 7.156 16 16 16S320 264.8 320 256V160C320 153.1 315.6 147 309.1 144.8z\\\"/></svg>\",\r\n \"message_sms_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm202.9 80.8C196.4 147 192 153.1 192 160v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 208v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 197.3l-35.2-46.9c-4.1-5.5-11.3-7.8-17.9-5.6zm173.1 38c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.1 .1 12.9 1.4 20.1 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.2-2.2-17.9-4.3-27.9-4.4c-9.3-.1-20.4 1.9-29.7 7.4c-9.9 5.9-18.6 16.4-18.5 31.6c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7-.2-13.5-2.4-22.6-5.5l0 0 0 0c-1.5-.5-3.2-1.1-4.9-1.6c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.2 .4 2.6 .9 4 1.4l0 0 0 0c8.8 3 20.4 7 32.6 7.4c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.2-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4zm-272 0c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.6 .1 16.7 1.6 23.3 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.8-2.4-21.6-4.3-31.1-4.4c-9.3-.1-20.4 1.9-29.7 7.4C80.6 157.3 72 167.8 72 183c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l0 0 1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7.2-.2-14.2-2.6-23.7-5.8l0 0 0 0c-1.3-.4-2.7-.9-4.1-1.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.1 .4 2.4 .8 3.6 1.2l0 0 0 0c9 3.1 20.9 7.2 33.2 7.6c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.3-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4z\\\"/></svg>\",\r\n \"pdf\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.42,40.17H13.88c-2.16,0-2.72-.56-2.72-2.72V12.88c0-2.15.56-2.71,2.72-2.71h11.6l8.66,8.88v3.43H32.8V19.6l-7.88-8.09h-11c-1.38,0-1.38,0-1.38,1.37V37.45c0,1.37,0,1.37,1.38,1.37H31.42c1.38,0,1.38,0,1.38-1.37V35h1.34v2.43C34.14,39.61,33.58,40.17,31.42,40.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M27.83,26.63v4.24h1a3.57,3.57,0,0,0,.78-.06,1.22,1.22,0,0,0,.52-.26,1.44,1.44,0,0,0,.34-.62,4.13,4.13,0,0,0,.13-1.18,3.79,3.79,0,0,0-.13-1.14,1.51,1.51,0,0,0-.37-.62,1.14,1.14,0,0,0-.6-.3,5.93,5.93,0,0,0-1.06-.06Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21.86,26.63v1.82h.71a3.57,3.57,0,0,0,1-.1A.88.88,0,0,0,24,28a.84.84,0,0,0,.14-.5.8.8,0,0,0-.2-.57.88.88,0,0,0-.52-.29,6.36,6.36,0,0,0-.93,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.14,24.27v9h19.7v-9Zm6.12,4.24a1.68,1.68,0,0,1-.54.63,1.9,1.9,0,0,1-.67.3,6.57,6.57,0,0,1-1.34.1h-.85V32H20.57V25.54h2.07a7.75,7.75,0,0,1,1.54.1,1.73,1.73,0,0,1,.93.63,2,2,0,0,1,.37,1.25A2,2,0,0,1,25.26,28.51Zm6.45,1.66A2.91,2.91,0,0,1,31,31.31a2.28,2.28,0,0,1-.91.51A4,4,0,0,1,29,32H26.54V25.54H28.9a4.21,4.21,0,0,1,1.22.13,2.08,2.08,0,0,1,1,.59,2.79,2.79,0,0,1,.61,1,4.76,4.76,0,0,1,.21,1.52A4.19,4.19,0,0,1,31.71,30.17Zm5.7-3.54h-3.1v1.52H37v1.08H34.31V32H33V25.54h4.39Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25.2,10.84v6.44c0,1.78.27,2,2,2h6.23Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"print\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M38,16.5H12a2,2,0,0,0-2,2v9a2,2,0,0,0,2,2h2v-5H36v5h2a2,2,0,0,0,2-2v-9A2,2,0,0,0,38,16.5ZM37,21a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,37,21Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35,11.5v5H15v-5H35m1-1H14v7H36v-7Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35,25.5v13H15v-13H35m1-1H14v15H36v-15Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"28.3\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"31.5\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"34.7\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"print_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M111.1 48h254.1L400 81.94V160H448V81.94c0-12.73-5.057-24.94-14.06-33.94l-33.94-33.94C391 5.057 378.8 0 366.1 0H111.1C85.49 0 64.01 21.48 64 47.98l.002 82.28c-.002 0 .002 0 0 0L64 160h48.01L111.1 48zM440 192H72C32.3 192 0 224.3 0 264v112c0 13.25 10.75 24 24 24H80V480c0 17.67 14.33 32 32 32h288c17.67 0 32-14.33 32-32v-80h56c13.25 0 24-10.75 24-24v-112C512 224.3 479.7 192 440 192zM384 464H128v-96h256V464zM464 352h-32c0-17.67-14.33-32-32-32h-288c-17.67 0-32 14.33-32 32h-32V264c0-13.23 10.77-24 24-24h368c13.23 0 24 10.77 24 24V352z\\\"/></svg>\",\r\n \"print_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M448 192H64C28.65 192 0 220.7 0 256v96c0 17.67 14.33 32 32 32h32v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h32c17.67 0 32-14.33 32-32V256C512 220.7 483.3 192 448 192zM384 448H128v-96h256V448zM432 296c-13.25 0-24-10.75-24-24c0-13.27 10.75-24 24-24s24 10.73 24 24C456 285.3 445.3 296 432 296zM128 64h229.5L384 90.51V160h64V77.25c0-8.484-3.375-16.62-9.375-22.62l-45.25-45.25C387.4 3.375 379.2 0 370.8 0H96C78.34 0 64 14.33 64 32v128h64V64z\\\"/></svg>\",\r\n \"signature_field\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M20.1,25.42a1.1,1.1,0,1,1,1.27,1.45l-3.3,9.07A63.13,63.13,0,0,1,28,28.3l1.26-12-8.26-3-6.77,10A62.4,62.4,0,0,1,17,35.54l3.3-9.07A1.12,1.12,0,0,1,20.1,25.42Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.62\\\" y=\\\"11.43\\\" width=\\\"8.79\\\" height=\\\"2.34\\\" transform=\\\"translate(5.88 -8.14) rotate(20)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.11,37.48c1.44,2.65,4.58,2.94,7.23,2.1,1.41-.44,2.2-1.49,3.44-2.06,2.42-1.1,3.13,1.2,5.36,1.37.42,0,2-.65,1.54-.68-2.55-.19-2.93-3.13-5.51-2.65a4.9,4.9,0,0,0-1.64.71c-.77.49-1.31,1.62-2.07,2l-4.61.56A3.38,3.38,0,0,1,20,37c-.22-.41-2,.28-1.85.5Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"tag_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M197.5 32c17 0 33.3 6.7 45.3 18.7l176 176c25 25 25 65.5 0 90.5L285.3 450.7c-25 25-65.5 25-90.5 0l-176-176C6.7 262.7 0 246.5 0 229.5V80C0 53.5 21.5 32 48 32H197.5zM48 229.5c0 4.2 1.7 8.3 4.7 11.3l176 176c6.2 6.2 16.4 6.2 22.6 0L384.8 283.3c6.2-6.2 6.2-16.4 0-22.6l-176-176c-3-3-7.1-4.7-11.3-4.7H48V229.5zM112 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\\\"/></svg>\",\r\n \"xml\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><g><path d=\\\"M21.42,30.17H3.87c-2.16,0-2.72-.56-2.72-2.72V2.88C1.16,.73,1.72,.17,3.87,.17H15.48l8.66,8.88v3.43h-1.34v-2.88L14.92,1.51H3.87q-1.37,0-1.37,1.37V27.45q0,1.37,1.37,1.37H21.42q1.37,0,1.37-1.37v-2.43h1.34v2.43c0,2.16-.56,2.72-2.72,2.72Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M15.2,.84V7.28c0,1.78,.27,2.05,2.04,2.05h6.22L15.2,.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M9.14,14.27v8.96H28.84V14.27H9.14Zm5.36,7.4l-1.3-2.02-1.3,2.02h-1.42l2-3.05-1.81-2.8h1.38l1.17,1.88,1.15-1.88h1.37l-1.82,2.84,2,3.01h-1.43Zm7.67,0h-1.1v-4.61l-1.16,4.61h-1.14l-1.16-4.61v4.61h-1.1v-5.85h1.77l1.06,3.99,1.05-3.99h1.77v5.85Zm5.33,0h-4.12v-5.81h1.18v4.82h2.94v.99Z\\\" fill=\\\"#484f60\\\"/></g></g></svg>\",\r\n \"x_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z\\\"/></svg>\"\r\n};","import {Injectable} from \"@angular/core\";\r\nimport {DomSanitizer, SafeHtml} from \"@angular/platform-browser\";\r\nimport {Icon} from \"../enum/icon.enum\";\r\nimport {IconSvg} from \"../model/icon-svg\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class IconCacheService {\r\n /**\r\n * All the icons as a large JSON object, from the all-icons.json file.\r\n * The object has property keys that are the icon names, and property values with the data string of the actual svg icon.\r\n */\r\n public get iconCache(): { [iconName: string]: SafeHtml } {\r\n return this._iconCache;\r\n }\r\n\r\n private _iconCache: { [iconName: string]: SafeHtml } = {};\r\n\r\n constructor(\r\n private _sanitizer: DomSanitizer\r\n ) {\r\n this.setIconCache();\r\n }\r\n\r\n public getIcon(iconName: Icon | string): SafeHtml {\r\n if (iconName) {\r\n return this._iconCache[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public getIconAsBase64(iconName: Icon): SafeHtml {\r\n const icon: string = IconSvg[iconName];\r\n const base64Data: string = window.btoa(icon);\r\n return this._sanitizer.bypassSecurityTrustUrl(`data:image/svg+xml;base64,${base64Data}`);\r\n }\r\n\r\n public getRawIcon(iconName: Icon): string {\r\n if (iconName) {\r\n return IconSvg[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public setIconCache(): void {\r\n for (const key in IconSvg) {\r\n if (IconSvg.hasOwnProperty(key) && typeof IconSvg[key] !== \"function\") {\r\n this._iconCache[key.toLowerCase()] = this._sanitizer.bypassSecurityTrustHtml(IconSvg[key]);\r\n }\r\n }\r\n }\r\n}\r\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\r\n\r\nexport enum Icon {\r\n Account = \"account\",\r\n AngleLeftSolid = \"angle_left_solid\",\r\n AngleRightSolid = \"angle_right_solid\",\r\n ArrowFatRight = \"arrow_fat_right\",\r\n ArrowPointLeft = \"arrow_point_left\",\r\n ArrowPointRight = \"arrow_point_right\",\r\n AtSolid = \"at_solid\",\r\n BringForwardRegular = \"bring_forward_regular\",\r\n CheckDuotone = \"check_duotone\",\r\n CheckRound = \"check_round\",\r\n CrossSkinny = \"cross_skinny\",\r\n DeleteLeftRegular = \"delete_left_regular\",\r\n DeliveryTruck = \"delivery_truck\",\r\n Email = \"email\",\r\n EnvelopeRegular = \"envelope_regular\",\r\n EyeRegular = \"eye_regular\",\r\n FileExportRegular = \"file_export_regular\",\r\n FileExportSolid = \"file_export_solid\",\r\n FilePdfRegular = \"file_pdf_regular\",\r\n FilePdfSolid = \"file_pdf_solid\",\r\n FileSignatureRegular = \"file_signature_regular\",\r\n HouseBlankRegular = \"house_blank_regular\",\r\n Lock = \"lock\",\r\n MessageSmsRegular = \"message_sms_regular\",\r\n MessageSmsSolid = \"message_sms_solid\",\r\n Pdf = \"pdf\",\r\n Print = \"print\",\r\n PrintRegular = \"print_regular\",\r\n PrintSolid = \"print_solid\",\r\n SignatureField = \"signature_field\",\r\n TagRegular = \"tag_regular\",\r\n Xml = \"xml\",\r\n XSolid = \"x_solid\"\r\n}","import {Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {CoDropDownListFields} from \"../stock-transfer/co-drop-down-list-fields.interface\";\r\nimport {ArticleTransaction} from \"@colijnit/articleapi/build/model/article-transaction\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {SendMethodType} from \"@colijnit/mainapi/build/enum/send-method-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-stock-information-grid\",\r\n template: `\r\n <div class=\"tab-link show\" *ngIf=\"hideOrShowTabs\">\r\n <span class=\"tab-link-buttons\"\r\n *ngFor=\"let tab of tabs\"\r\n (click)=\"handleTabClick(tab)\"\r\n [textContent]=\"tab\"\r\n [class.active]=\"tab === activeTab\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"stock-line\">\r\n <div [textContent]=\"activeTabText\"></div>\r\n\r\n </div>\r\n\r\n <div class=\"stock-grid\">\r\n <co-simple-grid *ngIf=\"activeTab === tabs[0] && hideOrShowTabs\"\r\n [data]=\"articleStockInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNo'\" [order]=\"10\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [field]=\"'warehouseName'\" [order]=\"11\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK' | localize\" [field]=\"'technicalStock'\" [order]=\"12\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK' | localize\" [field]=\"'availableStock'\" [order]=\"13\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ECONOMICAL_STOCK' | localize\" [field]=\"'economicalStock'\" [order]=\"14\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNo'\" [order]=\"15\">\r\n <ng-template #template let-row=\"row\">\r\n <span class=\"location-link\" [textContent]=\"'LOOK_AT' | localize\" (click)=\"onLocationClick(row)\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n\r\n <co-simple-grid *ngIf=\"activeTab === tabs[1]\"\r\n [data]=\"inOrderInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'IN_ORDER' | localize\" [field]=\"'transactionNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'CUSTOMER' | localize\" [field]=\"'customerName'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNumber'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [field]=\"'warehouseDescription'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSFER' | localize\" [field]=\"'transfer'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\" (click)=\"handleStockTransferClick($event)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n\r\n <co-simple-grid *ngIf=\"activeTab === tabs[2]\"\r\n [data]=\"orderInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER_NR' | localize\" [field]=\"'transactionNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RESERVED' | localize\" [field]=\"'reserved'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'FREE_STOCK' | localize\" [field]=\"'InOrderForStock'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.deliveryDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n\r\n <div class=\"stock-grid\" *ngIf=\"hideOrShowLocationTab\">\r\n <div class=\"stock-location-group\">\r\n <div class=\"stock-location-left-group\">\r\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES' | localize\" (click)=\"handleBackToStockClick()\"></span>\r\n </div>\r\n <div class=\"stock-location-right-group\">\r\n<!--\r\n <co-drop-down-list [(model)]=\"selectedWarehouse\"\r\n [collection]=\"dataWareHouseCode\"\r\n [fields]=\"dataWareHouseFields\"\r\n [placeholder]=\"'WAREHOUSE' | localize\"\r\n (modelChange)=\"onSelectWarehouse($event)\"\r\n [required]=\"true\"\r\n ></co-drop-down-list>\r\n-->\r\n </div>\r\n </div>\r\n\r\n<!-- TODO move to own component stock-location-->\r\n <co-simple-grid [data]=\"articleDetails\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n [showAdd]=\"true\"\r\n [showToolbar]=\"true\"\r\n [showDelete]=\"true\"\r\n [inlineEdit]=\"true\"\r\n (dblClickRow)=\"lockSelectedRow($event)\"\r\n >\r\n <div class=\"stock-location-group\">\r\n <div class=\"stock-location-left-group\">\r\n <co-button class=\"stock-lines-button\" [textContent]=\"'BACK_TO_STOCK_LINES' | localize\" (click)=\"handleBackToStockClick()\"></co-button>\r\n </div>\r\n </div>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n<!--\r\n <co-drop-down-list [(model)]=\"row.locationNo\"\r\n [collection]=\"stockLocations\"\r\n [fields]=\"dataLocationFields\"\r\n [placeholder]=\"'LOCATION' | localize\"\r\n (click)=\"onLocationDropdownClick()\"\r\n [required]=\"true\"\r\n ></co-drop-down-list>\r\n-->\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column *ngIf=\"articleDetails\" [headerText]=\"'BATCH' | localize\" [field]=\"'batchNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row.batchNo\"\r\n [placeholder]=\"'BATCH' | localize\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column *ngIf=\"articleDetails\" [headerText]=\"'SERIAL_NO' | localize\" [field]=\"'serialNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row.serialNo\"\r\n [placeholder]=\"'SERIAL_NO' | localize\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK' | localize\" [field]=\"'amountInStock'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row.amountInStock\"\r\n [label]=\"'STOCK' | localize\"\r\n (modelChange)=\"amountInStockChanged($event)\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ALLOCATED' | localize\" [field]=\"'stockAssigned'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.stockAssigned\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK' | localize\" [field]=\"'amountInStockFree'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.amountInStockFree\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currency'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.currency\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_PRICE' | localize\" [field]=\"'purchasePrice'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.purchasePrice\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'SUPPLIER_NUMBER' | localize\" [field]=\"'supplierNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.supplierNo\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSFER' | localize\" [field]=\"'transfer'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\" (click)=\"handleStockTransferClick(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n\r\n <co-stock-change-amount *ngIf=\"showChangeStockDetails\"\r\n (closeStockChangeAmount)=\"showChangeStockDetails = false\"\r\n [selectedArticleDetailsData]=\"selectedArticleDetailsData\"\r\n >\r\n </co-stock-change-amount>\r\n\r\n <div class=\"stock-grid\" *ngIf=\"showStockHistory\">\r\n <div class=\"stock-button-left-group\">\r\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES' | localize\" (click)=\"backToStockInformation()\"></span>\r\n </div>\r\n <co-simple-grid [data]=\"stockHistoryInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSACTION_TYPE' | localize\" [field]=\"'transType'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'posLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_ID' | localize\" [field]=\"'relationId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n\r\n <div class=\"stock-button-toolbar\">\r\n <div class=\"stock-button-left-group\">\r\n <co-button *ngIf=\"activeTab === tabs[0]\" [label]=\"'HISTORY' | localize\" (click)=\"handleHistoryClick()\"></co-button>\r\n </div>\r\n <div class=\"stock-button-middle-group\" *ngIf=\"activeTab !== tabs[0]\">\r\n <div class=\"button-left\">\r\n <co-button [textContent]=\"'OK' | localize\" (click)=\"onOkClick()\"></co-button>\r\n </div>\r\n <div class=\"button-right\">\r\n <co-button [textContent]=\"'CANCEL' | localize\" (click)=\"onCancelClick()\"></co-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"stock-button-middle-group\" *ngIf=\"hideOrShowLocationTab\">\r\n <div class=\"button-left\">\r\n <co-button [textContent]=\"'OK' | localize\" (click)=\"onOkClickSendLocations()\"></co-button>\r\n </div>\r\n <div class=\"button-right\">\r\n <co-button [textContent]=\"'CANCEL' | localize\" (click)=\"onCancelClickSendLocations()\"></co-button>\r\n </div>\r\n </div>\r\n </div>\r\n <co-send-method-dialog *ngIf=\"showSendMethodDialog\"\r\n (closeClick)=\"showSendMethodDialog = false\"\r\n [visibleMethods]=\"sendMethod[1]\"\r\n ></co-send-method-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class StockInformationGridComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild(StockInformationGridComponent)\r\n public stock: StockInformationGridComponent;\r\n\r\n @Input()\r\n public articleStockInformation: ArticleStockBo[];\r\n\r\n @Input()\r\n public stockLocationData: ArticleStockBo[];\r\n\r\n @Input()\r\n public stockHistoryInformation: StockHistoryBo[];\r\n\r\n @Input()\r\n public article: ArticleExtended;\r\n\r\n @Output()\r\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly historyClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly cancelButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly okButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n public image: string;\r\n public show: boolean = false;\r\n public hideOrShowLocationTab: boolean = false;\r\n public showStockHistory: boolean = false;\r\n public showSendMethodDialog: boolean = false;\r\n\r\n public inOrderInformation: ArticleTransactionBo[];\r\n public orderInformation: ArticleTransactionBo[]\r\n public hideOrShowTabs: boolean = true;\r\n public dataWareHouseCode: StockManagementWarehouses[];\r\n public dataWareHouseFields: CoDropDownListFields = { text: \"warehouseDescription\", value: \"warehouseNo\" };\r\n public dataLocationFields: CoDropDownListFields = {text: \"locationNo\", value: \"locationNo\"};\r\n public selectedWarehouse: any;\r\n public selectedLocation: StockLocation;\r\n public stockLocations: StockLocation[];\r\n public articleStockSearchInfo: ArticleStock = new ArticleStock();\r\n public articleDetails: ArticleDetailsBo[];\r\n public selectedArticleDetailsData: ArticleDetailsBo = new ArticleDetailsBo();\r\n public showChangeStockDetails: boolean = false;\r\n public articleDetailsInformation: ArticleStockManagement = new ArticleStockManagement();\r\n public sendMethod: SendMethodType[];\r\n\r\n public tabs: string[] = [\r\n \"STOCK\",\r\n \"IN_ORDER2\",\r\n \"ORDERS1\"\r\n ];\r\n public activeTab: string = this.tabs[0];\r\n\r\n public get activeTabText(): string {\r\n switch (this.activeTab) {\r\n case this.tabs[0]:\r\n return \"Voorraadregels\";\r\n case this.tabs[1]:\r\n return \"Gevonden in order(s)\";\r\n case this.tabs[2]:\r\n return \"Gevonden in bestellingen\";\r\n default:\r\n return \"Voorraadlocatie regels\";\r\n }\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n\r\n public handleTabClick(tabData): void {\r\n this.activeTab = tabData;\r\n if (this.activeTab === \"IN_ORDER2\") {\r\n this.getInOrderData();\r\n } if (this.activeTab === \"ORDERS1\") {\r\n this.getOrderData();\r\n }\r\n }\r\n\r\n public onLocationClick(data: ArticleStockBo): void {\r\n this.articleStockSearchInfo.goodId = data.goodId.toString();\r\n this.articleStockSearchInfo.wareHouseNo = data.warehouseNo.toString();\r\n this.articleStockSearchInfo.viewKind = \"D\";\r\n this.selectedWarehouse = data.warehouseNo;\r\n if (!this.dataWareHouseCode) {\r\n this.getStockManagementWarehouses(data);\r\n }\r\n this.getArticleDetails(data);\r\n this.hideOrShowTabs = false;\r\n this.hideOrShowLocationTab = true;\r\n }\r\n\r\n public handleHistoryClick(): void {\r\n this.historyClicked.emit()\r\n this.hideOrShowLocationTab = false;\r\n this.showChangeStockDetails = false;\r\n this.hideOrShowTabs = false;\r\n this.showStockHistory = true;\r\n }\r\n\r\n public backToStockInformation(): void {\r\n this.showStockHistory = false;\r\n this.hideOrShowTabs = true;\r\n }\r\n\r\n public handleStockTransferClick(event): void {\r\n this.transferIconClicked.emit(event);\r\n }\r\n\r\n public async handleBackToStockClick(): Promise<void> {\r\n this.activeTab = this.tabs[0];\r\n this.hideOrShowTabs = true;\r\n this.hideOrShowLocationTab = false;\r\n this.articleDetails = undefined;\r\n }\r\n\r\n public openSendMethodDialog(data): void {\r\n if (!(this._stockService.printLayoutParams instanceof PrintPriceStickers)) {\r\n this._stockService.printLayoutParams.goodId = data.goodId;\r\n this._stockService.printLayoutParams.warehouse = data.warehouseNo;\r\n }\r\n this.showSendMethodDialog = true;\r\n }\r\n\r\n public printStockStickers(): void {\r\n // this._stockService.getPrintStockStickers(this._stockService.printLayoutParams);\r\n }\r\n\r\n public onOkClick(): void {\r\n this.okButtonClicked.emit();\r\n }\r\n\r\n public onCancelClick(): void {\r\n this.cancelButtonClicked.emit();\r\n }\r\n\r\n public openDialogClick(data): void {\r\n this.selectedArticleDetailsData = data;\r\n this.showChangeStockDetails = true;\r\n }\r\n\r\n public getArticleDetails(data: any): void {\r\n // const info = new ArticleStockManagement();\r\n this.articleDetailsInformation.goodId = data.goodId;\r\n this.articleDetailsInformation.lineId = data.lineId;\r\n this.articleDetailsInformation.warehouseNumber = data.warehouseNo;\r\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n\r\n public getStockManagementWarehouses(data: ArticleStockBo): void {\r\n this._stockService.getStockManagementWarehouses().then((warehouses) => {\r\n this.dataWareHouseCode = warehouses;\r\n this.selectedWarehouse = data.warehouseNo;\r\n })\r\n }\r\n\r\n public onSelectWarehouse(event): void {\r\n this.articleDetailsInformation.warehouseNumber = event;\r\n if (this.selectedWarehouse || this.selectedWarehouse === 0) {\r\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n }\r\n\r\n public async getInOrderData(): Promise<void> {\r\n const inOrderData: ArticleTransaction = new ArticleTransaction();\r\n inOrderData.type = \"V\";\r\n inOrderData.goodId = this.articleStockInformation[0].goodId.toString();\r\n this.inOrderInformation = await this._stockService.getArticleTransaction(inOrderData);\r\n }\r\n\r\n public async getOrderData(): Promise<void> {\r\n const orderData: ArticleTransaction = new ArticleTransaction();\r\n orderData.type = \"I\";\r\n orderData.goodId = this.articleStockInformation[0].goodId.toString();\r\n this.orderInformation = await this._stockService.getArticleTransaction(orderData);\r\n }\r\n\r\n public onLocationDropdownClick(): void {\r\n this._stockService.getStockManagementLocations(this.selectedWarehouse).then((locations) => {\r\n this.stockLocations = locations;\r\n })\r\n }\r\n\r\n public onLocationSelected(location): void {\r\n this.selectedArticleDetailsData.locationNo = location;\r\n }\r\n\r\n public async onOkClickSendLocations(): Promise<void> {\r\n this.selectedArticleDetailsData.selected = true;\r\n this.selectedArticleDetailsData.goodId = this.article.goodId;\r\n this.selectedArticleDetailsData.entryDate = new Date();\r\n this.selectedArticleDetailsData.warehouseNo = this.selectedWarehouse;\r\n await this._stockService.updateArticleDetails(this.selectedArticleDetailsData);\r\n await this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n\r\n public onCancelClickSendLocations(): void {\r\n\r\n }\r\n\r\n public amountInStockChanged(data): void {\r\n this.selectedArticleDetailsData.amountInStock = data;\r\n }\r\n\r\n public lockSelectedRow(row): void {\r\n this._stockService.lockArticleDetails(row);\r\n }\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {PrintStockStickers} from \"@colijnit/articleapi/build/model/print-stock-stickers\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {CoDropDownListFields} from \"./co-drop-down-list-fields.interface\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-stock-transfer\",\r\n template: `\r\n <div class=\"stock-transfer\">\r\n <span [textContent]=\"'TRANSFER_STOCK' | localize\"></span>\r\n <div class=\"stock-transfer-columns\">\r\n <div *ngIf=\"articleToTransfer\" class=\"stock-transfer-left-column\">\r\n <co-input-text [readonly]=\"true\"\r\n [(model)]=\"articleToTransfer.warehouseDescription\"\r\n [placeholder]=\"'STANDARD_WAREHOUSE' | localize\"\r\n >\r\n </co-input-text>\r\n <co-input-text [readonly]=\"true\"\r\n [(model)]=\"articleToTransfer.locationNo\"\r\n [placeholder]=\"'STANDARD_LOCATION' | localize\">\r\n </co-input-text>\r\n <co-input-text [readonly]=\"true\"\r\n [(model)]=\"articleToTransfer.batchItem\"\r\n [placeholder]=\"'BATCH_NO' | localize\">\r\n </co-input-text>\r\n <co-input-text [readonly]=\"true\"\r\n [(model)]=\"articleToTransfer.serialNo\"\r\n [placeholder]=\"'SERIE_NO' | localize\">\r\n </co-input-text>\r\n <co-input-text\r\n [(model)]=\"articleToTransfer.amountTransfer\"\r\n [placeholder]=\"'Aantal' | localize\">\r\n </co-input-text>\r\n </div>\r\n\r\n <div class=\"icon-wrapper\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ArrowFatRight)\"></co-icon>\r\n </div>\r\n\r\n <div class=\"stock-transfer-right-column\">\r\n\r\n <co-list-of-values [collection]=\"warehouses\"\r\n [displayField]=\"'warehouseDescription'\"\r\n (modelChange)=\"handleSelectedWarehouse($event)\"\r\n [label]=\"'Magazijn' | localize\"\r\n >\r\n </co-list-of-values>\r\n <co-list-of-values [collection]=\"locations\"\r\n [displayField]=\"'description'\"\r\n (modelChange)=\"handleSelectedLocation($event)\"\r\n [label]=\"'Locatie' | localize\"\r\n >\r\n </co-list-of-values>\r\n <co-list-of-values [collection]=\"stockState\"\r\n [displayField]=\"'stateDescription'\"\r\n [label]=\"'Voorraadstatus' | localize\"\r\n (modelChange)=\"handleSelectedStockState($event)\"\r\n >\r\n </co-list-of-values>\r\n\r\n <co-input-text [placeholder]=\"'Omschrijving' | localize\"\r\n [(model)]=\"articleToTransfer.stockStateRemark\">\r\n </co-input-text>\r\n </div>\r\n </div>\r\n\r\n <div class=\"ok-cancel-buttons\">\r\n <co-button [textContent]=\"'OK' | localize\" (click)=\"handleOkClick(articleToTransfer)\"></co-button>\r\n <co-button [textContent]=\"'STICKER' | localize\" (click)=\"handleStickerClick()\"></co-button>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockTransferComponent implements AfterViewInit {\r\n\r\n @Input()\r\n public stockSticker: PrintStockStickers;\r\n\r\n @Input()\r\n public article: ArticleStockBo;\r\n\r\n @Input()\r\n public articleToTransfer: ArticleDetailsBo;\r\n\r\n @Input()\r\n public articleWarehouse: any[];\r\n\r\n @Input()\r\n public allWarehouses: any[];\r\n\r\n @Output()\r\n public handleClick: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public handleStickerClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n public allWarehousesDropdownFields: CoDropDownListFields = {text: \"warehouseDescription\", value: \"warehouseNo\"};\r\n public allLocationDropdownFields: CoDropDownListFields = {text: \"locationNo\", value: \"locationNo\"};\r\n\r\n public showSendMethodDialog: boolean = false;\r\n public warehouses: StockManagementWarehouses[] = [];\r\n public stockState: StockStatus[] = [];\r\n public stockStateDropdownField: CoDropDownListFields = {text: \"stateDescription\", value: \"stockStateId\"};\r\n public locations: StockLocation[] = [];\r\n public selectedWarehouse: StockManagementWarehouses;\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n constructor(\r\n private _stockService: StockService,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.getStockManagementWarehouses();\r\n this.getStockState();\r\n }\r\n\r\n public handleOkClick(data: ArticleDetailsBo): void {\r\n data.selected = true;\r\n data.entryDate = new Date;\r\n this._stockService.updateArticleDetails(data).then( result => {\r\n this.handleClick.emit();\r\n });\r\n\r\n }\r\n\r\n public handleCancelClick(): void {\r\n this.handleClick.emit();\r\n }\r\n\r\n public handleSelectedWarehouse(event: StockManagementWarehouses): void {\r\n this.articleToTransfer.targetWarehouse = event.warehouseNo;\r\n this.selectedWarehouse = event;\r\n this.getStockManagementLocations(this.selectedWarehouse.warehouseNo);\r\n }\r\n\r\n public handleSelectedLocation(event: StockLocation): void {\r\n this.articleToTransfer.targetLocation = event.locationNo;\r\n }\r\n\r\n public handleSelectedStockState(event: StockStatus): void {\r\n this.articleToTransfer.stockStateId = event.stockStateId;\r\n }\r\n\r\n public handleStickerClick(): void {\r\n this.handleStickerClicked.emit();\r\n this.showSendMethodDialog = true;\r\n }\r\n\r\n public getStockManagementWarehouses(): void {\r\n this._stockService.getStockManagementWarehouses().then((warehouses) => {\r\n this.warehouses = warehouses;\r\n })\r\n }\r\n\r\n public getStockManagementLocations(data): void {\r\n this._stockService.getStockManagementLocations(data).then((locations) => {\r\n this.locations = locations;\r\n })\r\n }\r\n\r\n public getStockState(): void {\r\n this._stockService.getStockState().then((state: StockStatus[]) => {\r\n this.stockState = state;\r\n });\r\n }\r\n\r\n}\r\n","import {SharedConnectorService} from \"./shared-connector.service\";\r\nimport {Injectable} from \"@angular/core\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {SendMethod} from '@colijnit/mainapi/build/model/send-method.bo';\r\nimport {TagCategory} from \"@colijnit/mainapi/build/enum/tab-category.enum\";\r\nimport {TagTreeItem} from \"@colijnit/mainapi/build/model/tag-tree-item.bo\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class SharedService {\r\n\r\n constructor(\r\n protected options: OptionsService,\r\n protected connector: SharedConnectorService,\r\n ) {\r\n }\r\n\r\n public async init(options: any): Promise<void> {\r\n await this.options.initialize(options);\r\n this.connector.connect();\r\n }\r\n\r\n public async getAllPrinters(): Promise<Printer[]> {\r\n return await this.connector.getAllPrinters();\r\n }\r\n\r\n public async getSendMethods(): Promise<SendMethod[]> {\r\n return await this.connector.getSendMethods();\r\n }\r\n\r\n public async getScreenConfigTree(): Promise<any> {\r\n return await this.connector.getScreenConfigTree();\r\n }\r\n\r\n public async getScreenConfigSubRubric(parentRubricId: number, configId: number, fixedKey: string): Promise<any> {\r\n return await this.connector.getScreenConfigSubRubric(parentRubricId, configId, fixedKey);\r\n }\r\n\r\n public async getTagsFullTree(category: TagCategory, includeTags: boolean = true): Promise<TagTreeItem[]> {\r\n return await this.connector.getTagsFullTree(category, includeTags);\r\n }\r\n\r\n public async getDocumentContent(docId: number, thumbnail: boolean = true): Promise<string> {\r\n return await this.connector.getDocumentContent(docId, thumbnail);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {ReportingDocumentEmailSignDocBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request';\r\nimport {ReportingDocumentPdfBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';\r\nimport {ReportingDocumentPrintSignDocBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request';\r\nimport {Subject} from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SendMethodService {\r\n public reportingDocumentPrintSignDocBaseRequestChanged: Subject<ReportingDocumentPrintSignDocBaseRequest> = new Subject<ReportingDocumentPrintSignDocBaseRequest>();\r\n public reportingDocumentEmailSignDocBaseRequestChanged: Subject<ReportingDocumentEmailSignDocBaseRequest> = new Subject<ReportingDocumentEmailSignDocBaseRequest>();\r\n public reportingDocumentPdfBaseRequestChanged: Subject<ReportingDocumentPdfBaseRequest> = new Subject<ReportingDocumentPdfBaseRequest>();\r\n\r\n public set reportingDocumentPrintSignDocBaseRequest(value: ReportingDocumentPrintSignDocBaseRequest) {\r\n this._reportingDocumentPrintSignDocBaseRequest = value;\r\n this.activePrinter = this._reportingDocumentPrintSignDocBaseRequest.printerName;\r\n this.reportingDocumentPrintSignDocBaseRequestChanged.next(this._reportingDocumentPrintSignDocBaseRequest);\r\n }\r\n public get reportingDocumentPrintSignDocBaseRequest(): ReportingDocumentPrintSignDocBaseRequest {\r\n return this._reportingDocumentPrintSignDocBaseRequest;\r\n }\r\n public set reportingDocumentEmailSignDocBaseRequest(value: ReportingDocumentEmailSignDocBaseRequest) {\r\n this._reportingDocumentEmailSignDocBaseRequest = value;\r\n this.selectedEmailAddresses = this._reportingDocumentEmailSignDocBaseRequest.toAddresses.split(';');\r\n this.reportingDocumentEmailSignDocBaseRequestChanged.next(this._reportingDocumentEmailSignDocBaseRequest);\r\n }\r\n public get reportingDocumentEmailSignDocBaseRequest(): ReportingDocumentEmailSignDocBaseRequest {\r\n return this._reportingDocumentEmailSignDocBaseRequest;\r\n }\r\n public set reportingDocumentPdfBaseRequest(value: ReportingDocumentPdfBaseRequest) {\r\n this._reportingDocumentPdfBaseRequest = value;\r\n this.reportingDocumentPdfBaseRequestChanged.next(this._reportingDocumentPdfBaseRequest);\r\n }\r\n public get reportingDocumentPdfBaseRequest(): ReportingDocumentPdfBaseRequest {\r\n return this._reportingDocumentPdfBaseRequest;\r\n }\r\n\r\n public selectedEmailAddresses: string[] = [];\r\n public activePrinter: string;\r\n\r\n private _reportingDocumentPrintSignDocBaseRequest: ReportingDocumentPrintSignDocBaseRequest = new ReportingDocumentPrintSignDocBaseRequest();\r\n private _reportingDocumentEmailSignDocBaseRequest: ReportingDocumentEmailSignDocBaseRequest = new ReportingDocumentEmailSignDocBaseRequest();\r\n private _reportingDocumentPdfBaseRequest: ReportingDocumentPdfBaseRequest = new ReportingDocumentPdfBaseRequest();\r\n\r\n public removeEmailAddress(address: string): void {\r\n if (this.selectedEmailAddresses.indexOf(address) > -1) {\r\n this.selectedEmailAddresses.splice(this.selectedEmailAddresses.indexOf(address), 1);\r\n this._updateEmailAddresses();\r\n }\r\n }\r\n\r\n public addEmailAddress(address: string): void {\r\n if (this.selectedEmailAddresses.indexOf(address) < 0) {\r\n this.selectedEmailAddresses.push(address);\r\n this._updateEmailAddresses();\r\n }\r\n }\r\n\r\n private _updateEmailAddresses(): void {\r\n this._reportingDocumentEmailSignDocBaseRequest.toAddresses = this.selectedEmailAddresses.join(';');\r\n this.reportingDocumentEmailSignDocBaseRequestChanged.next(this._reportingDocumentEmailSignDocBaseRequest);\r\n }\r\n\r\n}\r\n","import {SendMethodType} from '@colijnit/mainapi/build/enum/send-method-type.enum';\r\n\r\nexport class SendMethod {\r\n public code: SendMethodType;\r\n public description: string;\r\n public icon: string;\r\n\r\n constructor(code: SendMethodType, description: string, icon: string) {\r\n this.code = code;\r\n this.description = description;\r\n this.icon = icon;\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {Icon} from '../../enum/icon.enum';\r\nimport {IconCacheService} from '../../service/icon-cache.service';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {Subscription} from 'rxjs';\r\nimport {SharedService} from '../../service/shared.service';\r\nimport {ReportLayoutSelectionEmail} from '@colijnit/mainapi/build/model/report-layout-selection-email.bo';\r\nimport {ReportLayoutSelectionPrint} from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';\r\nimport {ReportingDocumentPdfBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';\r\nimport {SendMethodService} from './service/send-method.service';\r\nimport {SendMethod} from '../../model/send-method';\r\nimport {SendMethodType} from '@colijnit/mainapi/build/enum/send-method-type.enum';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {\r\n ReportingDocumentEmailSignDocBaseRequest\r\n} from '@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request';\r\nimport {\r\n ReportingDocumentPrintSignDocBaseRequest\r\n} from \"@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request\";\r\n\r\nexport const sendMethodsWithIcon: SendMethod[] = [\r\n new SendMethod(SendMethodType.Fax, \"Fax\", Icon.PrintRegular),\r\n new SendMethod(SendMethodType.Print, \"Print\", Icon.PrintSolid),\r\n new SendMethod(SendMethodType.Email, \"Email\", Icon.AtSolid),\r\n new SendMethod(SendMethodType.Edi, \"Edi\", Icon.FileExportSolid),\r\n new SendMethod(SendMethodType.EmailTemplate, \"Email template\", Icon.EnvelopeRegular),\r\n new SendMethod(SendMethodType.Sms, \"Sms\", Icon.MessageSmsSolid),\r\n new SendMethod(SendMethodType.WebService, \"Webservice\", Icon.PrintRegular),\r\n new SendMethod(SendMethodType.Pdf, \"Pdf\", Icon.Pdf)\r\n]\r\n\r\n@Component({\r\n selector: 'co-send-method-dialog',\r\n template: `\r\n <co-dialog id=\"sendOptionsDialog\" [headerTemplate]=\"headerTemplate\" [footerTemplate]=\"footerTemplate\"\r\n (closeClick)=\"closeClick.emit($event)\">\r\n <ng-template #headerTemplate>\r\n <div class=\"co-dialog-header-title-wrapper\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.EnvelopeRegular)\"></co-icon>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"headerTitle\"></div>\r\n </div>\r\n <div class=\"dialog-navigation-wrapper\">\r\n <div class=\"send-button-wrapper\" *ngFor=\"let sendMethod of sendMethods; let index = index\"\r\n [class.selected]=\"activeSendMethod ? sendMethod.code === activeSendMethod.code : index === 0\"\r\n (click)=\"handleSendMethodClick(sendMethod)\">\r\n <div class=\"custom-button-title\" [textContent]=\"sendMethod.description\"></div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"dialog-content-wrapper\">\r\n <div class=\"send-methods-wrapper\">\r\n\r\n </div>\r\n <div #navigationItems class=\"send-method-navigation-wrapper\" [class.smooth-scrolling]=\"!startUp\">\r\n <div #faxItems class=\"send-method-navigation-content co-small-scrollbar\">\r\n\r\n </div>\r\n <div #printItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showPrint\">\r\n <co-send-method-printer\r\n [printerList]=\"printerList\"\r\n [layouts]=\"printLayouts\"\r\n ></co-send-method-printer>\r\n </div>\r\n <div #emailItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEmail\">\r\n <co-send-method-email\r\n [emailAddresses]=\"emailAddresses\"\r\n [layouts]=\"emailLayouts\"\r\n ></co-send-method-email>\r\n </div>\r\n <div #ediItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEdi\">\r\n\r\n </div>\r\n <div #emailTemplateItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEmailTemplate\">\r\n\r\n </div>\r\n <div #smsItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showSms\">\r\n\r\n </div>\r\n <div #webServiceItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showWebservice\">\r\n\r\n </div>\r\n <div #pdfItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showPdf\">\r\n <co-send-method-pdf\r\n [layouts]=\"printLayouts\"\r\n ></co-send-method-pdf>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\">\r\n <co-button class=\"save-button\"\r\n [iconData]=\"iconCacheService.getIcon(icons.CheckDuotone)\"\r\n (click)=\"okClick.emit(activeSendMethod ? activeSendMethod.code : '0')\"></co-button>\r\n <co-button class=\"close-button\"\r\n [iconData]=\"iconCacheService.getIcon(icons.CrossSkinny)\"\r\n (click)=\"closeClick.emit($event)\"></co-button>\r\n </div>\r\n </ng-template>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger('slideInOut', [\r\n state('*', style({transform: 'translateX(0%)', width: '100%', opacity: '1'})),\r\n state('void', style({transform: 'translateX(150%)', opacity: '0'})),\r\n transition('void => *', animate(250))\r\n ])\r\n ]\r\n})\r\n\r\nexport class SendMethodDialogComponent implements OnInit, OnDestroy {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild('navigationItems', {read: ElementRef})\r\n public navigationItems: ElementRef;\r\n\r\n @ViewChild('faxItems', {read: ElementRef})\r\n public faxItems: ElementRef;\r\n\r\n @ViewChild('printItems', {read: ElementRef})\r\n public printItems: ElementRef;\r\n\r\n @ViewChild('emailItems', {read: ElementRef})\r\n public emailItems: ElementRef;\r\n\r\n @ViewChild('ediItems', {read: ElementRef})\r\n public ediItems: ElementRef;\r\n\r\n @ViewChild('emailTemplateItems', {read: ElementRef})\r\n public emailTemplateItems: ElementRef;\r\n\r\n @ViewChild('smsItems', {read: ElementRef})\r\n public smsItems: ElementRef;\r\n\r\n @ViewChild('webServiceItems', {read: ElementRef})\r\n public webServiceItems: ElementRef;\r\n\r\n @ViewChild('pdfItems', {read: ElementRef})\r\n public pdfItems: ElementRef;\r\n\r\n @Input()\r\n public printerList: Printer[] = [];\r\n\r\n @Input()\r\n public reportingDocumentPrintRequest: ReportingDocumentPrintSignDocBaseRequest;\r\n\r\n @Input()\r\n public reportingDocumentEmailRequest: ReportingDocumentEmailSignDocBaseRequest;\r\n\r\n @Input()\r\n public reportingDocumentPdfRequest: ReportingDocumentPdfBaseRequest;\r\n\r\n @Input()\r\n public emailLayouts: ReportLayoutSelectionEmail[] = [];\r\n\r\n @Input()\r\n public printLayouts: ReportLayoutSelectionPrint[] = [];\r\n\r\n // @Input()\r\n // public priceListCodeData: any;\r\n\r\n @Input()\r\n public headerTitle: string;\r\n\r\n @Input()\r\n public emailAddresses: string[] = [];\r\n\r\n @Input()\r\n public defaultSendMethod: string;\r\n\r\n @Input()\r\n public visibleMethods: SendMethodType[] | string[] = [];\r\n\r\n @Input()\r\n public isDocSignEnabled: boolean = false;\r\n\r\n @Input()\r\n public docSign: boolean = false;\r\n\r\n @Output()\r\n public reportingDocumentPrintRequestChange: EventEmitter<ReportingDocumentPrintSignDocBaseRequest> = new EventEmitter<ReportingDocumentPrintSignDocBaseRequest>();\r\n\r\n @Output()\r\n public reportingDocumentEmailRequestChange: EventEmitter<ReportingDocumentEmailSignDocBaseRequest> = new EventEmitter<ReportingDocumentEmailSignDocBaseRequest>();\r\n\r\n @Output()\r\n public reportingDocumentPdfRequestChange: EventEmitter<ReportingDocumentPdfBaseRequest> = new EventEmitter<ReportingDocumentPdfBaseRequest>();\r\n\r\n @Output()\r\n public startSignatureClicked: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public okClick: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding('class.co-send-method-dialog')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public sendMethods = sendMethodsWithIcon;\r\n public activeSendMethod: SendMethod;\r\n public upAndLoaded: boolean = false;\r\n public startUp: boolean = true;\r\n\r\n public showFax: boolean = true;\r\n public showPrint: boolean = true;\r\n public showEmail: boolean = true;\r\n public showEdi: boolean = true;\r\n public showSms: boolean = true;\r\n public showEmailTemplate: boolean = true;\r\n public showWebservice: boolean = true;\r\n public showPdf: boolean = true;\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _changeDetector: ChangeDetectorRef,\r\n private _sharedService: SharedService,\r\n private _sendMethodService: SendMethodService\r\n ) {\r\n this._subscriptions.push(\r\n this._sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.subscribe((value: ReportingDocumentPrintSignDocBaseRequest) => this.reportingDocumentPrintRequestChange.next(value)),\r\n this._sendMethodService.reportingDocumentEmailSignDocBaseRequestChanged.subscribe((value: ReportingDocumentEmailSignDocBaseRequest) => this.reportingDocumentEmailRequestChange.next(value)),\r\n this._sendMethodService.reportingDocumentPdfBaseRequestChanged.subscribe((value: ReportingDocumentPdfBaseRequest) => this.reportingDocumentPdfRequestChange.next(value))\r\n )\r\n }\r\n\r\n ngOnInit() {\r\n if (this.reportingDocumentEmailRequest) {\r\n this._sendMethodService.reportingDocumentEmailSignDocBaseRequest = this.reportingDocumentEmailRequest;\r\n }\r\n if (this.reportingDocumentPrintRequest) {\r\n this._sendMethodService.reportingDocumentPrintSignDocBaseRequest = this.reportingDocumentPrintRequest;\r\n }\r\n if (this.reportingDocumentPdfRequest) {\r\n this._sendMethodService.reportingDocumentPdfBaseRequest = this.reportingDocumentPdfRequest;\r\n }\r\n this._initDefaultSendMethod();\r\n this._prepareVisibleMethods();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n public handleSignatureStart(): void {\r\n this.docSign = !this.docSign;\r\n this.startSignatureClicked.emit();\r\n }\r\n\r\n public handleSendMethodClick(sendMethod: SendMethod): void {\r\n this.activeSendMethod = sendMethod;\r\n if (sendMethod.code === SendMethodType.Fax && this.showFax) {\r\n this.navigationItems.nativeElement.scrollLeft = this.faxItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Print && this.showPrint) {\r\n this.navigationItems.nativeElement.scrollLeft = this.printItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Email && this.showEmail) {\r\n this.navigationItems.nativeElement.scrollLeft = this.emailItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Edi && this.showEdi) {\r\n this.navigationItems.nativeElement.scrollLeft = this.ediItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.EmailTemplate && this.showEmailTemplate) {\r\n this.navigationItems.nativeElement.scrollLeft = this.emailTemplateItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Sms && this.showSms) {\r\n this.navigationItems.nativeElement.scrollLeft = this.smsItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.WebService && this.showWebservice) {\r\n this.navigationItems.nativeElement.scrollLeft = this.webServiceItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Pdf && this.showPdf) {\r\n this.navigationItems.nativeElement.scrollLeft = this.pdfItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n }\r\n }\r\n\r\n private _initDefaultSendMethod(): void {\r\n if (this.defaultSendMethod) {\r\n this._selectDefaultSendMethod();\r\n } else {\r\n if (this.visibleMethods && this.visibleMethods.length === 1) {\r\n this.defaultSendMethod = this.visibleMethods[0];\r\n this._selectDefaultSendMethod();\r\n }\r\n this.startUp = false;\r\n }\r\n }\r\n\r\n private _selectDefaultSendMethod(): void {\r\n const sendMethod: SendMethod = this.sendMethods.find(sm => sm.code === this.defaultSendMethod);\r\n if (sendMethod) {\r\n setTimeout(() => {\r\n this.handleSendMethodClick(sendMethod);\r\n this.startUp = false;\r\n });\r\n }\r\n }\r\n\r\n private _prepareVisibleMethods(): void {\r\n if (this.visibleMethods && this.visibleMethods.length > 0) {\r\n this.sendMethods = this.sendMethods.filter(sm => this.visibleMethods.find(vm => vm === sm.code));\r\n }\r\n this.showFax = this.sendMethods.find(sm => sm.code === SendMethodType.Fax) !== undefined;\r\n this.showPrint = this.sendMethods.find(sm => sm.code === SendMethodType.Print) !== undefined;\r\n this.showEmail = this.sendMethods.find(sm => sm.code === SendMethodType.Email) !== undefined;\r\n this.showEdi = this.sendMethods.find(sm => sm.code === SendMethodType.Edi) !== undefined;\r\n this.showEmailTemplate = this.sendMethods.find(sm => sm.code === SendMethodType.EmailTemplate) !== undefined;\r\n this.showSms = this.sendMethods.find(sm => sm.code === SendMethodType.Sms) !== undefined;\r\n this.showWebservice = this.sendMethods.find(sm => sm.code === SendMethodType.WebService) !== undefined;\r\n this.showPdf = this.sendMethods.find(sm => sm.code === SendMethodType.Pdf) !== undefined;\r\n\r\n }\r\n}\r\n","export class EmailAddressViewmodel {\r\n public checked: boolean;\r\n public emailAddress: string;\r\n\r\n constructor(checked: boolean, emailAddress: string) {\r\n this.checked = checked;\r\n this.emailAddress = emailAddress;\r\n }\r\n}\r\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\nimport {EmailAddressViewmodel} from '../../model/email-address-viewmodel';\r\nimport {ReportLayoutSelectionEmail} from '@colijnit/mainapi/build/model/report-layout-selection-email.bo';\r\n\r\n@Component({\r\n selector: 'co-send-method-email',\r\n template: `\r\n <div class=\"email-addresses-wrapper co-small-scrollbar\">\r\n <div class=\"email-address-wrapper\" *ngFor=\"let emailAddressViewmodel of emailAddressViewmodels\" (click)=\"handleCheckedEmail(emailAddressViewmodel)\">\r\n <co-input-checkbox [model]=\"emailAddressViewmodel.checked\" (modelChange)=\"handleCheckedEmail(emailAddressViewmodel)\"></co-input-checkbox>\r\n <div class=\"email-address\" [textContent]=\"emailAddressViewmodel.emailAddress\"></div>\r\n </div>\r\n </div>\r\n <div class=\"layout-signature-wrapper\">\r\n <co-layout-selection\r\n [(request)]=\"sendMethodService.reportingDocumentEmailSignDocBaseRequest\"\r\n [layouts]=\"layouts\"\r\n ></co-layout-selection>\r\n <co-signature-button\r\n [request]=\"sendMethodService.reportingDocumentEmailSignDocBaseRequest\"\r\n ></co-signature-button>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SendMethodEmailComponent implements OnInit {\r\n\r\n @Input()\r\n public emailAddresses: string[] = [];\r\n\r\n @Input()\r\n public layouts: ReportLayoutSelectionEmail[] = [];\r\n\r\n @HostBinding('class.co-send-method-email')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public emailAddressViewmodels: EmailAddressViewmodel[] = [];\r\n\r\n constructor(public sendMethodService: SendMethodService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.emailAddresses) {\r\n this.emailAddresses.forEach((ea: string) => {\r\n const emailAddressViewmodel: EmailAddressViewmodel = new EmailAddressViewmodel(this.sendMethodService.selectedEmailAddresses.indexOf(ea) > -1, ea);\r\n this.emailAddressViewmodels.push(emailAddressViewmodel);\r\n });\r\n }\r\n }\r\n\r\n public handleCheckedEmail(emailAddressViewmodel: EmailAddressViewmodel): void {\r\n const wantedValue: boolean = !emailAddressViewmodel.checked;\r\n if (!wantedValue) {\r\n this.sendMethodService.removeEmailAddress(emailAddressViewmodel.emailAddress);\r\n } else {\r\n this.sendMethodService.addEmailAddress(emailAddressViewmodel.emailAddress);\r\n }\r\n emailAddressViewmodel.checked = wantedValue;\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {ReportLayoutSelectionBase} from '@colijnit/mainapi/build/model/report-layout-selection-base.bo';\r\nimport {ReportingDocumentBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-base-request';\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: 'co-layout-selection',\r\n template: `\r\n <div class=\"layout-selection-wrapper\" (click)=\"showLayoutList = !showLayoutList\">\r\n <div class=\"title\" [textContent]=\"'Lay-out'\"></div>\r\n <div class=\"layout-description\" [textContent]=\"currentLayout?.description || 'Layout kiezen'\"></div>\r\n </div>\r\n <div class=\"layouts-wrapper co-small-scrollbar\" *ngIf=\"showLayoutList\" @showHideLayouts>\r\n <div class=\"layouts-wrapper-header\">\r\n <div class=\"title\" [textContent]=\"'Lay-out'\"></div>\r\n <div class=\"close-layouts\">\r\n <div class=\"dialog-close-button\" (click)=\"closeSelectLayout()\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.XSolid)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"layout-selection-wrapper\" *ngFor=\"let reportLayout of layouts\"\r\n [class.selected]=\"reportLayout.reportId === currentLayout?.reportId\"\r\n (click)=\"handleSelectLayout(reportLayout)\">\r\n <div class=\"layout-description\" [textContent]=\"reportLayout.description\"></div>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHideLayouts\", [\r\n state(\"void\", style({height: 0})),\r\n state(\"*\", style({height: \"100%\"})),\r\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\r\n transition(\"* => void\", animate(\"200ms ease-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LayoutSelectionComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n @Input()\r\n public request: ReportingDocumentBaseRequest;\r\n\r\n @Input()\r\n public layouts: ReportLayoutSelectionBase[] = [];\r\n\r\n @Output()\r\n public requestChange: EventEmitter<ReportingDocumentBaseRequest> = new EventEmitter<ReportingDocumentBaseRequest>();\r\n\r\n @HostBinding('class.co-layout-selection')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public currentLayout: ReportLayoutSelectionBase;\r\n public showLayoutList: boolean = false;\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n ngOnInit(): void {\r\n if (this.layouts && this.layouts.length > 0) {\r\n this.currentLayout = this.layouts.find(l => l.reportId === this.request.reportId);\r\n if (!this.currentLayout) {\r\n this.currentLayout = this.layouts[0];\r\n }\r\n }\r\n }\r\n\r\n public handleSelectLayout(reportLayout: ReportLayoutSelectionBase): void {\r\n this.currentLayout = reportLayout;\r\n this.request.reportId = this.currentLayout.reportId;\r\n this.requestChange.emit(this.request);\r\n this.showLayoutList = false;\r\n }\r\n public closeSelectLayout(): void {\r\n this.showLayoutList = false;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {LayoutSelectionComponent} from './layout-selection.component';\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n LayoutSelectionComponent\r\n ],\r\n exports: [\r\n LayoutSelectionComponent\r\n ]\r\n})\r\nexport class LayoutSelectionModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {\r\n ReportingDocumentEmailSignDocBaseRequest\r\n} from \"@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request\";\r\nimport {\r\n ReportingDocumentPrintSignDocBaseRequest\r\n} from \"@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request\";\r\n\r\n@Component({\r\n selector: \"co-signature-button\",\r\n template: `\r\n <div class=\"signature-button-wrapper\"\r\n [class.selected]=\"request.parkForDigitalSignature\"\r\n (click)=\"handleToggleSignature()\">\r\n <co-icon\r\n [iconData]=\"iconCacheService.getIcon(icons.FileSignatureRegular)\"\r\n ></co-icon>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignatureButtonComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public request: ReportingDocumentEmailSignDocBaseRequest | ReportingDocumentPrintSignDocBaseRequest;\r\n\r\n @HostBinding(\"class.co-signature-button\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) { }\r\n\r\n public handleToggleSignature(): void {\r\n this.request.parkForDigitalSignature = !this.request.parkForDigitalSignature;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {SignatureButtonComponent} from \"./signature-button.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n SignatureButtonComponent\r\n ],\r\n exports: [\r\n SignatureButtonComponent\r\n ]\r\n})\r\nexport class SignatureButtonModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {SendMethodEmailComponent} from './send-method-email.component';\r\nimport {IconModule, InputCheckboxModule} from '@colijnit/corecomponents_v12';\r\nimport {LayoutSelectionModule} from '../layout-selection/layout-selection.module';\r\nimport {SignatureButtonModule} from \"../signature-button/signature-button.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputCheckboxModule,\r\n LayoutSelectionModule,\r\n IconModule,\r\n SignatureButtonModule\r\n ],\r\n declarations: [\r\n SendMethodEmailComponent\r\n ],\r\n exports: [\r\n SendMethodEmailComponent\r\n ]\r\n})\r\nexport class SendMethodEmailModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from '@angular/core';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\nimport {ReportLayoutSelectionPrint} from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\n\r\n@Component({\r\n selector: 'co-send-method-printer',\r\n template: `\r\n <div class=\"printer-layout-selections-wrapper\">\r\n <co-printer-selection [printers]=\"printerList\"></co-printer-selection>\r\n <div class=\"layout-signature-wrapper\">\r\n <co-layout-selection\r\n [(request)]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest\"\r\n [layouts]=\"layouts\"\r\n ></co-layout-selection>\r\n <co-signature-button\r\n [request]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest\"\r\n ></co-signature-button>\r\n </div>\r\n </div>\r\n <co-input-checkbox\r\n [model]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForUser\"\r\n [label]=\"'Koppeling onthouden'\"\r\n (modelChange)=\"handleDefaultPrinterUserChange($event)\"\r\n ></co-input-checkbox>\r\n <co-input-checkbox\r\n [model]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForAllUsers\"\r\n [label]=\"'Alle gebruikers'\"\r\n (modelChange)=\"handleDefaultPrinterAllUsersChange($event)\"\r\n ></co-input-checkbox>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SendMethodPrinterComponent {\r\n @Input()\r\n public printerList: Printer[] = [];\r\n\r\n @Input()\r\n public layouts: ReportLayoutSelectionPrint[] = [];\r\n\r\n @HostBinding('class.co-send-method-printer')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public sendMethodService: SendMethodService\r\n ) {\r\n }\r\n\r\n public handleDefaultPrinterUserChange(checked: boolean): void {\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForUser = checked;\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);\r\n }\r\n\r\n public handleDefaultPrinterAllUsersChange(checked: boolean): void {\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForAllUsers = checked;\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {SharedService} from '../../../../service/shared.service';\r\nimport {IconCacheService} from '../../../../service/icon-cache.service';\r\nimport {Icon} from '../../../../enum/icon.enum';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\n\r\n@Component({\r\n selector: 'co-printer-selection',\r\n template: `\r\n <div class=\"printer-selection-wrapper\" (click)=\"showPrinterList = !showPrinterList\">\r\n <div class=\"title\" [textContent]=\"'Printer'\"></div>\r\n <div class=\"printer-name\" [textContent]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName || 'Printer kiezen'\"></div>\r\n </div>\r\n <div class=\"layouts-wrapper co-small-scrollbar\" *ngIf=\"showPrinterList\" @showHideLayouts>\r\n <div class=\"layouts-wrapper-header\">\r\n <div class=\"title\" [textContent]=\"'Printer'\"></div>\r\n <div class=\"close-layouts\">\r\n <div class=\"dialog-close-button\" (click)=\"closePrinterClicked()\">\r\n <co-icon [iconData]=\"iconService.getIcon(icons.XSolid)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"printer-list-item\" *ngFor=\"let printer of printers\"\r\n [class.selected]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName === printer.name\"\r\n (click)=\"handlePrinterClicked(printer)\">\r\n <co-icon class=\"printer-icon\" [iconData]=\"iconService.getIcon(icons.PrintRegular)\"></co-icon>\r\n <div class=\"printer-details\">\r\n <span class=\"printer-name\" [textContent]=\"printer.name\"></span>\r\n <span class=\"printer-status\" [textContent]=\"printer.acceptingJobs\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger('showHideLayouts', [\r\n state('void', style({height: 0})),\r\n state('*', style({height: '100%'})),\r\n transition('void => *', animate('200ms ease-in-out')),\r\n transition('* => void', animate('200ms ease-out'))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PrinterSelectionComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public printers: Printer[] = [];\r\n\r\n @HostBinding('class.co-printer-selection')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showPrinterList: boolean = false;\r\n\r\n constructor(\r\n public sendMethodService: SendMethodService,\r\n public iconService: IconCacheService,\r\n private _service: SharedService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName && this.printers && this.printers.length > 0) {\r\n const defaultPrinter: Printer = this.printers.find(p => p.isDefault);\r\n if (defaultPrinter) {\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName = defaultPrinter.name;\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);\r\n }\r\n }\r\n }\r\n\r\n public handlePrinterClicked(printer: Printer): void {\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName = printer.name;\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);\r\n this.showPrinterList = false;\r\n }\r\n public closePrinterClicked(): void {\r\n this.showPrinterList = false;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {PrinterSelectionComponent} from './printer-selection.component';\r\nimport {IconModule} from '@colijnit/corecomponents_v12';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n PrinterSelectionComponent\r\n ],\r\n exports: [\r\n PrinterSelectionComponent\r\n ]\r\n})\r\nexport class PrinterSelectionModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {SendMethodPrinterComponent} from './send-method-printer.component';\r\nimport {IconModule, InputCheckboxModule} from '@colijnit/corecomponents_v12';\r\nimport {LayoutSelectionModule} from '../layout-selection/layout-selection.module';\r\nimport {PrinterSelectionModule} from '../printer-selection/printer-selection.module';\r\nimport {SignatureButtonModule} from \"../signature-button/signature-button.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n LayoutSelectionModule,\r\n PrinterSelectionModule,\r\n InputCheckboxModule,\r\n SignatureButtonModule\r\n ],\r\n declarations: [\r\n SendMethodPrinterComponent\r\n ],\r\n exports: [\r\n SendMethodPrinterComponent\r\n ]\r\n})\r\nexport class SendMethodPrinterModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from '@angular/core';\r\nimport {ReportLayoutSelectionPrint} from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\n\r\n@Component({\r\n selector: 'co-send-method-pdf',\r\n template: `\r\n <div class=\"pdf-layout-selections-wrapper\">\r\n <div class=\"layout-signature-wrapper\">\r\n <co-layout-selection\r\n [(request)]=\"sendMethodService.reportingDocumentPdfBaseRequest\"\r\n [layouts]=\"layouts\"\r\n ></co-layout-selection>\r\n<!--\r\n <co-signature-button\r\n [request]=\"sendMethodService.reportingDocumentPdfBaseRequest\"\r\n ></co-signature-button>\r\n-->\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SendMethodPdfComponent {\r\n\r\n @Input()\r\n public layouts: ReportLayoutSelectionPrint[] = [];\r\n\r\n @HostBinding('class.co-send-method-pdf')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public sendMethodService: SendMethodService\r\n ) {\r\n }\r\n} \r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {SendMethodPdfComponent} from './send-method-pdf.component';\r\nimport {LayoutSelectionModule} from '../layout-selection/layout-selection.module';\r\nimport {SignatureButtonModule} from '../signature-button/signature-button.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n LayoutSelectionModule,\r\n SignatureButtonModule\r\n ],\r\n declarations: [\r\n SendMethodPdfComponent\r\n ],\r\n exports: [\r\n SendMethodPdfComponent\r\n ]\r\n})\r\nexport class SendMethodPdfModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ButtonModule, CoDialogModule, IconModule} from '@colijnit/corecomponents_v12';\r\nimport {SendMethodDialogComponent} from './send-method-dialog.component';\r\nimport {StockService} from '../../service/stock.service';\r\nimport {SendMethodService} from './service/send-method.service';\r\nimport {SendMethodEmailModule} from './components/send-method-email/send-method-email.module';\r\nimport {SendMethodPrinterModule} from './components/send-method-printer/send-method-printer.module';\r\nimport {SendMethodPdfModule} from './components/send-method-pdf/send-method-pdf.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n SendMethodDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n IconModule,\r\n SendMethodEmailModule,\r\n SendMethodPrinterModule,\r\n ButtonModule,\r\n SendMethodPdfModule\r\n ],\r\n exports: [\r\n SendMethodDialogComponent\r\n ],\r\n providers: [\r\n SendMethodService,\r\n StockService\r\n ]\r\n})\r\nexport class SendMethodDialogModule { }\r\n","import {AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {CoDropDownListFields} from \"./co-drop-down-list-fields.interface\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-change-amount\",\r\n template: `\r\n <div class=\"stock-transfer\">\r\n <co-dialog-wizard [showCloseIcon]=\"true\" (closeClick)=\"closeDialogClick()\">\r\n <ng-container header>\r\n <span [textContent]=\"'STOCK_CHANGE_REASON' | localize\"></span>\r\n </ng-container>\r\n <div class=\"popup-wrapper\">\r\n<!--\r\n <co-drop-down-list [collection]=\"stockState\"\r\n [fields]=\"stockStateDropdownField\"\r\n [placeholder]=\"'STOCK_STATE' | localize\"\r\n [(model)]=\"selectedArticleDetailsData.stockStateId\"\r\n ></co-drop-down-list>\r\n-->\r\n\r\n <co-input-textarea [(model)]=\"selectedArticleDetailsData.stockStateRemark\"\r\n\r\n ></co-input-textarea>\r\n <div class=\"ok-cancel-buttons\">\r\n <co-button [textContent]=\"'OK' | localize\" (click)=\"handleOkClick(selectedArticleDetailsData)\"></co-button>\r\n <co-button [textContent]=\"'CANCEL' | localize\" (click)=\"handleCancelClick()\"></co-button>\r\n </div>\r\n </div>\r\n </co-dialog-wizard>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockChangeAmountComponent implements AfterViewInit {\r\n\r\n @Input()\r\n public selectedArticleDetailsData: ArticleDetailsBo;\r\n\r\n @Output()\r\n public readonly closeStockChangeAmount: EventEmitter<any> = new EventEmitter();\r\n\r\n public stockState: StockStatus[] = [];\r\n public stockStateDropdownField: CoDropDownListFields = {text: \"stateDescription\", value: \"stockStateId\"};\r\n\r\n constructor(\r\n private _stockService: StockService\r\n ) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.getStockState();\r\n }\r\n\r\n public closeDialogClick(): void {\r\n this.closeStockChangeAmount.emit();\r\n }\r\n\r\n public async handleOkClick(data: ArticleDetailsBo): Promise<void> {\r\n data.selected = true;\r\n data.entryDate = new Date();\r\n await this._stockService.updateArticleDetails(data);\r\n }\r\n\r\n public handleCancelClick(): void {\r\n this.closeStockChangeAmount.emit();\r\n }\r\n\r\n public getStockState(): void {\r\n this._stockService.getStockState().then((state: StockStatus[]) => {\r\n this.stockState = state;\r\n });\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-tab\",\r\n template: `\r\n <co-simple-grid [data]=\"articleStockInformation\"a\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNo'\" [order]=\"10\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [field]=\"'warehouseName'\" [order]=\"11\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK' | localize\" [field]=\"'technicalStock'\" [order]=\"12\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK' | localize\" [field]=\"'availableStock'\" [order]=\"13\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ECONOMICAL_STOCK' | localize\" [field]=\"'economicalStock'\" [order]=\"14\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNo'\" [order]=\"15\">\r\n <ng-template #template let-row=\"row\">\r\n <span class=\"location-link\" [textContent]=\"'LOOK_AT' | localize\" (click)=\"onLocationClick(row)\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockTabComponent {\r\n\r\n @Input()\r\n public articleStockInformation: ArticleStockBo[] = [];\r\n\r\n @Output()\r\n public locationClicked: EventEmitter<StockManagementWarehouses> = new EventEmitter<StockManagementWarehouses>();\r\n\r\n public warehouseToShow: StockManagementWarehouses = new StockManagementWarehouses();\r\n\r\n public onLocationClick(data: ArticleStockBo): void {\r\n this.warehouseToShow.warehouseNo = +data.warehouseNo;\r\n this.locationClicked.emit(this.warehouseToShow);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {StockService} from \"../../../../service/stock.service\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\r\n\r\n@Component({\r\n selector: \"co-order-tab\",\r\n template: `\r\n <co-simple-grid [data]=\"inOrderInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'IN_ORDER' | localize\" [field]=\"'transactionNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'CUSTOMER' | localize\" [field]=\"'customerName'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNumber'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [field]=\"'warehouseDescription'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSFER' | localize\" [field]=\"'transfer'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\" (click)=\"handleStockTransferClick(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OrderTabComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public articleStockInformation: ArticleStockBo[] = [];\r\n\r\n @Input()\r\n public inOrderInformation: ArticleTransactionBo[] = [];\r\n\r\n @Output()\r\n public locationClicked: EventEmitter<ArticleStockBo> = new EventEmitter<ArticleStockBo>();\r\n\r\n @Output()\r\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly sendMethodDialogClicked: EventEmitter<PrintPriceStickers> = new EventEmitter();\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n\r\n public openSendMethodDialog(data): void {\r\n this.sendMethodDialogClicked.emit(data);\r\n }\r\n\r\n public handleStockTransferClick(event): void {\r\n this.transferIconClicked.emit(event);\r\n }\r\n}\r\n","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {GetStockHistoryRequest} from \"@colijnit/articleapi/build/model/get-stock-history-request\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {Tab} from \"../../tab-bar/tab.interface\";\r\nimport {ArticleTransaction} from \"@colijnit/articleapi/build/model/article-transaction\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\r\nimport {StockForecast} from \"@colijnit/articleapi/build/model/stock-forecast.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {LocalizeService} from '../../../localization/localize.service';\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-tabs\",\r\n template: `\r\n <co-tab-bar [wareHouseLabel]=\"'CHOICES' | localize\"\r\n [wareHouseSearchLabel]=\"'SEARCH' | localize\"\r\n [tabs]=\"tabs\"\r\n [dataWareHouseCode]=\"warehouses\"\r\n [selectedWarehouse]=\"selectedWarehouse\"\r\n [secondaryTabs]=\"historyTabs\"\r\n [ActivateSecondaryTabs]=\"tabs[5].active\"\r\n [showWarehouseSelection]=\"tabs[1].active || tabs[2].active\"\r\n (warehouseSelected)=\"handleWarehouseSelected($event)\"\r\n ></co-tab-bar>\r\n\r\n <co-stock-tab *ngIf=\"tabs[0].active\"\r\n [articleStockInformation]=\"stockInformation\"\r\n (locationClicked)=\"handleLocationClicked($event)\"\r\n ></co-stock-tab>\r\n\r\n <co-stock-prognose *ngIf=\"tabs[1].active\"\r\n [stockPrognose]=\"stockPrognose\"\r\n ></co-stock-prognose>\r\n\r\n <co-stock-location *ngIf=\"tabs[2].active\"\r\n [articleStockInfo]=\"articleDetails\"\r\n [articleStockInformation]=\"stockInformation\"\r\n [article]=\"article\"\r\n [articleFlat]=\"articleFlat\"\r\n [selectedWarehouse]=\"selectedWarehouse\"\r\n [dataWareHouseCode]=\"warehouses\"\r\n (transferIconClicked)=\"transferIconClicked.emit($event)\"\r\n (sendMethodDialogClicked)=\"sendMethodDialogClicked.emit($event)\"\r\n\r\n ></co-stock-location>\r\n\r\n <co-order-tab *ngIf=\"tabs[3].active\"\r\n [articleStockInformation]=\"stockInformation\"\r\n [inOrderInformation]=\"inOrderInformation\"\r\n (transferIconClicked)=\"transferIconClicked.emit($event)\"\r\n (sendMethodDialogClicked)=\"sendMethodDialogClicked.emit($event)\"\r\n ></co-order-tab>\r\n\r\n <co-order-stock-tab *ngIf=\"tabs[4].active\"\r\n [orderInformation]=\"orderInformation\"\r\n ></co-order-stock-tab>\r\n\r\n <co-stock-history *ngIf=\"historyTabs[0].active && tabs[5].active\"\r\n [stockHistory]=\"stockHistory\"\r\n ></co-stock-history>\r\n\r\n <co-order-supply-stock-history *ngIf=\"historyTabs[1].active && tabs[5].active\"\r\n [orderSupplyStockHistory]=\"orderSupplyStockHistory\"\r\n ></co-order-supply-stock-history>\r\n\r\n <co-order-stock-commission-history *ngIf=\"historyTabs[2].active && tabs[5].active\"\r\n [orderStockCommissionHistory]=\"orderCommissionStockHistory\"\r\n ></co-order-stock-commission-history>\r\n\r\n <co-order-stock-history *ngIf=\"historyTabs[3].active && tabs[5].active\"\r\n [orderStockHistory]=\"orderStockHistory\"\r\n ></co-order-stock-history>\r\n\r\n <co-allocation-stock-history *ngIf=\"historyTabs[4].active && tabs[5].active\"\r\n [allocationStockHistory]=\"orderAllocationStockHistory\"\r\n ></co-allocation-stock-history>\r\n\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockTabsComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public stockInformation: ArticleStockBo[] = [];\r\n\r\n @Input()\r\n public article: ArticleExtended;\r\n\r\n @Input()\r\n public articleFlat: ArticleFlat;\r\n\r\n\r\n @Input()\r\n public warehouses: StockManagementWarehouses[] = [];\r\n\r\n @Output()\r\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly sendMethodDialogClicked: EventEmitter<PrintPriceStickers> = new EventEmitter();\r\n\r\n\r\n public selectedLocationNo: string;\r\n public stockHistory: StockHistoryBo[] = [];\r\n public orderSupplyStockHistory: StockHistoryBo[] = [];\r\n public orderCommissionStockHistory: StockHistoryBo[] = [];\r\n public orderStockHistory: StockHistoryBo[] = [];\r\n public orderAllocationStockHistory: StockHistoryBo[] = [];\r\n public inOrderInformation: ArticleTransactionBo[] = [];\r\n public orderInformation: ArticleTransactionBo[] = [];\r\n public stockPrognose: StockForecast[] = [];\r\n public selectedWarehouse: StockManagementWarehouses;\r\n public articleDetailsInformation: ArticleStockManagement = new ArticleStockManagement()\r\n public showWarehouseSelection: boolean = false;\r\n public articleDetails: ArticleDetailsBo[] = [];\r\n\r\n public tabs: Tab[] = [];\r\n public historyTabs: Tab[] = [];\r\n\r\n constructor(\r\n private _stockService: StockService,\r\n private _localizeService: LocalizeService,\r\n private _changeDetector: ChangeDetectorRef,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.tabs = [\r\n {title: this._localizeService.get('OVERVIEW'), active: true},\r\n {title: this._localizeService.get('STOCK_FORECAST'), active: false},\r\n {title: this._localizeService.get('STOCK_DETAILS'), active: false},\r\n {title: this._localizeService.get('ALREADY_IN_ORDER'), active: false},\r\n {title: this._localizeService.get('IN_ORDER'), active: false},\r\n {title: this._localizeService.get('HISTORY'), active: false},\r\n ];\r\n\r\n this.historyTabs = [\r\n {title: this._localizeService.get('STOCK'), active: true},\r\n {\r\n title: this._localizeService.get('ORDER_STOCK'),\r\n active: false\r\n },\r\n {\r\n title: this._localizeService.get('ORDER_COMMISSION'),\r\n active: false\r\n },\r\n {title: this._localizeService.get('ORDER'), active: false},\r\n {\r\n title: this._localizeService.get('ALLOCATION'),\r\n active: false\r\n },\r\n ];\r\n\r\n\r\n }\r\n\r\n public handleLocationClicked(data: StockManagementWarehouses): void {\r\n this.tabs[0].active = false;\r\n this.tabs[2].active = true;\r\n this.selectedWarehouse = this.wareHouseForCode(data.warehouseNo);\r\n this.handleWarehouseSelected(this.selectedWarehouse);\r\n this.getStockData(data);\r\n }\r\n\r\n public getStockHistory(): void {\r\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\r\n stockHistoryInformation.type = \"V\";\r\n stockHistoryInformation.goodId = this.article.goodId.toString();\r\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\r\n this.stockHistory = result\r\n });\r\n }\r\n\r\n public getOrderSupplyStockHistory(): void {\r\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\r\n stockHistoryInformation.type = \"O\";\r\n stockHistoryInformation.goodId = this.article.goodId.toString();\r\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\r\n this.orderSupplyStockHistory = result;\r\n });\r\n }\r\n\r\n public getOrderCommissionStockHistory(): void {\r\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\r\n stockHistoryInformation.type = \"C\";\r\n stockHistoryInformation.goodId = this.article.goodId.toString();\r\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\r\n this.orderCommissionStockHistory = result;\r\n });\r\n }\r\n\r\n public getOrderStockHistory(): void {\r\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\r\n stockHistoryInformation.type = \"B\";\r\n stockHistoryInformation.goodId = this.article.goodId.toString();\r\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\r\n this.orderStockHistory = result;\r\n });\r\n }\r\n\r\n public getAllocationStockHistory(): void {\r\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\r\n stockHistoryInformation.type = \"T\";\r\n stockHistoryInformation.goodId = this.article.goodId.toString();\r\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\r\n this.orderAllocationStockHistory = result;\r\n });\r\n }\r\n\r\n public getInOrderData(): void {\r\n const inOrderData: ArticleTransaction = new ArticleTransaction();\r\n inOrderData.type = \"V\";\r\n inOrderData.goodId = this.stockInformation[0].goodId.toString();\r\n this._stockService.getArticleTransaction(inOrderData).then(result => {\r\n this.inOrderInformation = result;\r\n });\r\n }\r\n\r\n public getOrderData(): void {\r\n const orderData: ArticleTransaction = new ArticleTransaction();\r\n orderData.type = \"I\";\r\n orderData.goodId = this.stockInformation[0].goodId.toString();\r\n this._stockService.getArticleTransaction(orderData).then(result => {\r\n this.orderInformation = result;\r\n });\r\n }\r\n\r\n public getStockPrognose(warehouseNo: number): void {\r\n this._stockService.stockPrognose(this.article.goodId, warehouseNo).then(result => {\r\n this.stockPrognose = result;\r\n });\r\n }\r\n\r\n public handleWarehouseSelected(event: StockManagementWarehouses): void {\r\n this.selectedWarehouse = event;\r\n this._stockService.warehouseSelected.emit(event);\r\n if (this.tabs[1].active) {\r\n this.getStockPrognose(this.selectedWarehouse.warehouseNo);\r\n }\r\n if (this.tabs[2].active) {\r\n this.articleDetailsInformation.warehouseNumber = event.warehouseNo;\r\n this.articleDetailsInformation.goodId = this.article.goodId.toString();\r\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n\r\n }\r\n\r\n public getStockData(warehouse: StockManagementWarehouses) {\r\n this.handleWarehouseSelected(warehouse);\r\n this.getStockPrognose(warehouse.warehouseNo);\r\n this.getOrderData();\r\n this.getInOrderData();\r\n this.getAllocationStockHistory();\r\n this.getOrderStockHistory();\r\n this.getOrderCommissionStockHistory();\r\n this.getOrderSupplyStockHistory();\r\n this.getStockHistory();\r\n this._changeDetector.markForCheck();\r\n this._changeDetector.detectChanges();\r\n\r\n }\r\n\r\n public wareHouseForCode(code: number) {\r\n return this.warehouses.find(warehouse => warehouse.warehouseNo === code);\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-history-tabs\",\r\n template: `\r\n <div class=\"stock-history-tabs-wrapper\">\r\n <div class=\"tab-container\">\r\n <div class=\"tab-header\">\r\n <button class=\"tab-button\" (click)=\"selectedTab = 0\" [class.active]=\"selectedTab === 0\">{{ 'STOCK' | localize }}</button>\r\n <button class=\"tab-button\" (click)=\"selectedTab = 1\" [class.active]=\"selectedTab === 1\">{{ 'ORDER_STOCK' | localize }}</button>\r\n <button class=\"tab-button\" (click)=\"selectedTab = 2\" [class.active]=\"selectedTab === 2\">{{ 'ORDER_COMMISSION' | localize }}</button>\r\n <button class=\"tab-button\" (click)=\"selectedTab = 3\" [class.active]=\"selectedTab === 3\">{{ 'ORDER' | localize }}</button>\r\n <button class=\"tab-button\" (click)=\"selectedTab = 4\" [class.active]=\"selectedTab === 4\">{{ 'ALLOCATION' | localize }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockHistoryTabsComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n public selectedTab = 0;\r\n\r\n @Input()\r\n public stockInformation: ArticleStockBo[];\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {StockService} from \"../../../../service/stock.service\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\n\r\n@Component({\r\n selector: \"co-order-stock-tab\",\r\n template: `\r\n <co-simple-grid [data]=\"orderInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER_NR' | localize\" [field]=\"'transactionNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RESERVED' | localize\" [field]=\"'reserved'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'FREE_STOCK' | localize\" [field]=\"'InOrderForStock'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.deliveryDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OrderStockTabComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public orderInformation: ArticleTransactionBo[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n}\r\n","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {StockService} from \"../../../../service/stock.service\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-location\",\r\n template: `\r\n <div class=\"stock-grid\">\r\n <co-dialog *ngIf=\"showConfirmationDialog\" [showCloseIcon]=\"true\" [modal]=\"true\" [headerTemplate]=\"headerTemplate\"\r\n [footerTemplate]=\"footerTemplate\">\r\n <ng-template #headerTemplate>\r\n <div class=\"header-wrapper\">\r\n <span [textContent]=\"'CONFIRM_STOCK_CHANGE' | localize\"></span>\r\n </div>\r\n </ng-template>\r\n <div class=\"dialog-wrapper\">\r\n <co-list-of-values [label]=\"'STATUS' | localize\"\r\n [model]=\"statusForId(selectedArticleDetailsData.stockStateId)\"\r\n [collection]=\"stockStatus\"\r\n [displayField]=\"'stateDescription'\"\r\n (modelChange)=\"handleStockStatusChange($event)\"\r\n ></co-list-of-values>\r\n <co-input-text [placeholder]=\"'REMARK' | localize\"\r\n (modelChange)=\"handleStockStatusRemarkChange($event)\"></co-input-text>\r\n </div>\r\n <ng-template #footerTemplate>\r\n <div class=\"button-wrapper\">\r\n <co-button (click)=\"handleOkClick()\" [label]=\"'OK'| localize\" [disabled]=\"disabled()\"></co-button>\r\n <co-button class=\"cancel-button\" (click)=\"showConfirmationDialog = false\"\r\n [label]=\"'CANCEL'| localize \"></co-button>\r\n </div>\r\n </ng-template>\r\n </co-dialog>\r\n <co-simple-grid [data]=\"articleStockInfo\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n [showAdd]=\"true\"\r\n [inlineEdit]=\"true\"\r\n (dblClickRow)=\"lockSelectedRow($event)\"\r\n [showToolbar]=\"true\"\r\n (keydown.enter)=\"onOkClickSendLocations()\"\r\n\r\n >\r\n <co-simple-grid-column [headerText]=\"'STOCK' | localize\" [field]=\"'amountInStock'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row['amountInStock']\"\r\n [label]=\"'STOCK' | localize\"\r\n (modelChange)=\"amountInStockChanged($event)\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column *ngIf=\"articleFlat?.locationRegistered\" [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-list-of-values\r\n [model]=\"locationForNumber(row['locationNo'])\"\r\n [collection]=\"stockLocations\"\r\n [displayField]=\"'description'\"\r\n [label]=\"'LOCATION' | localize\"\r\n (click)=\"onLocationDropdownClick()\"\r\n [required]=\"true\"\r\n (modelChange)=\"locationChanged(row, $event)\"\r\n ></co-list-of-values>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'BATCH' | localize\" [field]=\"'batchNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text *ngIf=\"articleFlat?.batch\" [model]=\"selectedArticleDetailsData.batchNo\"\r\n [placeholder]=\"'BATCH' | localize\"\r\n (modelChange)=\"row['batchNo'] = $event\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'SERIAL_NO' | localize\" [field]=\"'serialNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text *ngIf=\"articleFlat?.serial\" [model]=\"selectedArticleDetailsData.serialNo\"\r\n [placeholder]=\"'SERIAL_NO' | localize\"\r\n (modelChange)=\"row['serialNo'] = $event\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ALLOCATED' | localize\" [field]=\"'stockAssigned'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row['stockAssigned']\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK' | localize\" [field]=\"'amountInStockFree'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row['amountInStockFree']\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currency'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row['currency']\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_PRICE' | localize\" [field]=\"'purchasePrice'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row['purchasePrice']\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'SUPPLIERNR' | localize\" [field]=\"'supplierNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row['supplierNo']\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSFER' | localize\" [field]=\"'transfer'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\"\r\n (click)=\"handleStockTransferClick(row)\"></co-icon>\r\n </ng-template>\r\n <ng-template #editTemplate></ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\"\r\n (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n <ng-template #editTemplate></ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockLocationComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public articleStockInfo: ArticleDetailsBo[] = [];\r\n\r\n @Input()\r\n public articleStockInformation: ArticleStockBo[] = [];\r\n\r\n @Input()\r\n public set article(article: ArticleExtended) {\r\n\r\n };\r\n\r\n @Input()\r\n public articleFlat: ArticleFlat;\r\n\r\n\r\n @Input()\r\n public dataWareHouseCode: StockManagementWarehouses[] = [];\r\n\r\n @Output()\r\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly sendMethodDialogClicked: EventEmitter<PrintPriceStickers> = new EventEmitter();\r\n\r\n @Input()\r\n public selectedWarehouse: StockManagementWarehouses;\r\n\r\n\r\n public articleDetails: ArticleDetailsBo;\r\n public showConfirmationDialog:boolean = false;\r\n\r\n\r\n public articleDetailsInformation: ArticleStockManagement = new ArticleStockManagement()\r\n public stockLocations: StockLocation[] = [];\r\n\r\n public stockStatus: StockStatus[] = [];\r\n public selectedArticleDetailsData: ArticleDetailsBo = new ArticleDetailsBo();\r\n\r\n public selectedLocationNo: string;\r\n\r\n private _subs: Subscription[] = [];\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n private _changeDetector: ChangeDetectorRef,\r\n\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this._stockService.getStockState().then( result => {\r\n this.stockStatus = result;\r\n });\r\n this._subs.push( this._stockService.warehouseSelected.subscribe( selectedWarehouse => {\r\n this._stockService.getStockManagementLocations(selectedWarehouse.warehouseNo).then( result => {\r\n this.stockLocations = result;\r\n });\r\n }));\r\n\r\n }\r\n\r\n public lockSelectedRow(row): void {\r\n this._stockService.getStockManagementLocations(this.selectedWarehouse.warehouseNo).then( result => {\r\n this.stockLocations = result;\r\n this.selectedLocationNo = row.locationNo;\r\n this._stockService.lockArticleDetails(row);\r\n this.selectedArticleDetailsData = row;\r\n });\r\n\r\n }\r\n\r\n public onLocationDropdownClick(): void {\r\n this._stockService.getStockManagementLocations(this.selectedWarehouse.warehouseNo).then((locations) => {\r\n this.stockLocations = locations;\r\n });\r\n }\r\n\r\n public locationChanged(row: ArticleDetailsBo, event: StockLocation): void {\r\n this.selectedLocationNo = event.locationNo;\r\n row.locationNo = event.locationNo;\r\n }\r\n\r\n public amountInStockChanged(data): void {\r\n this.selectedArticleDetailsData.amountInStock = data;\r\n }\r\n\r\n public openSendMethodDialog(data): void {\r\n this.sendMethodDialogClicked.emit(data);\r\n }\r\n\r\n public handleStockTransferClick(event): void {\r\n this.transferIconClicked.emit(event);\r\n }\r\n public onOkClickSendLocations(): void {\r\n this.showConfirmationDialog = true;\r\n }\r\n\r\n public handleOkClick() {\r\n this.selectedArticleDetailsData.selected = true;\r\n this.selectedArticleDetailsData.goodId = this.articleFlat.goodId;\r\n this.selectedArticleDetailsData.entryDate = new Date();\r\n this.selectedArticleDetailsData.warehouseNo = this.selectedWarehouse.warehouseNo;\r\n this.selectedArticleDetailsData.locationNo = this.selectedLocationNo?.toString();\r\n this._stockService.updateArticleDetails(this.selectedArticleDetailsData).then( result => {\r\n\r\n this.articleDetailsInformation.goodId = this.selectedArticleDetailsData.goodId?.toString();\r\n this.articleDetailsInformation.warehouseNumber = this.selectedArticleDetailsData.warehouseNo;\r\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.showConfirmationDialog = false;\r\n this._changeDetector.detectChanges();\r\n this.articleStockInfo = details;\r\n });\r\n }\r\n );\r\n }\r\n\r\n public handleStockStatusChange(status: StockStatus) {\r\n this.selectedArticleDetailsData.stockStateId = status.stockStateId;\r\n }\r\n\r\n public handleStockStatusRemarkChange(remark: string) {\r\n this.selectedArticleDetailsData.stockStateRemark = remark;\r\n }\r\n\r\n public disabled() {\r\n return (!this.selectedArticleDetailsData?.stockStateId && this.selectedArticleDetailsData?.stockStateRemark?.length <= 1);\r\n }\r\n\r\n\r\n public statusForId(id: number) {\r\n return this.stockStatus.find( status => status.stockStateId === id);\r\n }\r\n\r\n public locationForNumber(number: number) {\r\n return this.stockLocations?.find( location => location.locationNo === number?.toString());\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {StockService} from \"../../../../service/stock.service\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-stock-history\",\r\n template: `\r\n <co-simple-grid [data]=\"stockHistory\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockHistoryComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public stockHistoryInformation: StockHistoryBo[] = [];\r\n\r\n @Input()\r\n public articleGoodId: string;\r\n\r\n @Input()\r\n public stockHistory: StockHistoryBo[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Tab} from \"./tab.interface\";\r\nimport {CoDropDownListFields} from \"../stock/stock-transfer/co-drop-down-list-fields.interface\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {StockService} from \"../../service/stock.service\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\n\r\n@Component({\r\n selector: \"co-tab-bar\",\r\n template: `\r\n <div class=\"tab-bar-wrapper\">\r\n <div class=\"tab-bar-warehouse-wrapper\">\r\n <div class=\"stock-location-group\">\r\n <div class=\"stock-location-right-group\">\r\n <co-list-of-values *ngIf=\"showWarehouseSelection\"\r\n [label]=\"wareHouseLabel\"\r\n [displayField]=\"'warehouseDescription'\"\r\n [collection]=\"dataWareHouseCode\"\r\n [multiselect]=\"false\"\r\n [required]=\"false\"\r\n [readonly]=\"false\"\r\n [customCssClass]=\"'mini-scrollbar'\"\r\n [searchPlaceholder]=\"wareHouseSearchLabel\"\r\n [model]=\"selectedWarehouse\"\r\n (modelChange)=\"onSelectWarehouse($event)\"\r\n class=\"custom-height\"\r\n >\r\n </co-list-of-values>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"tab-bar\">\r\n <div class=\"tab-bar-primary\">\r\n <button *ngFor=\"let tab of tabs\" [class.active]=\"tab.active\" (click)=\"selectTab(tab)\">\r\n {{tab.title}}\r\n </button>\r\n </div>\r\n <div class=\"secondary-tab-bar\" *ngIf=\"ActivateSecondaryTabs\">\r\n <button *ngFor=\"let tab of secondaryTabs\" [class.active]=\"tab.active\" (click)=\"selectSecondaryTab(tab)\">\r\n {{tab.title}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TabBarComponent {\r\n\r\n @Input()\r\n public wareHouseLabel: string;\r\n\r\n @Input()\r\n public wareHouseSearchLabel: string;\r\n\r\n @Input()\r\n public tabs: Tab[] = [];\r\n\r\n @Input()\r\n public secondaryTabs: Tab[] = [];\r\n\r\n @Input()\r\n public ActivateSecondaryTabs: boolean = false;\r\n\r\n @Input()\r\n public dataWareHouseCode: StockManagementWarehouses[] = [];\r\n\r\n @Input()\r\n public article: any;\r\n\r\n @Input()\r\n public showWarehouseSelection: boolean = false;\r\n\r\n @Output()\r\n public warehouseSelected: EventEmitter<StockManagementWarehouses> = new EventEmitter<StockManagementWarehouses>();\r\n\r\n @Input()\r\n public selectedWarehouse: any;\r\n\r\n constructor(\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n\r\n public selectTab(tab: Tab): void {\r\n if (tab.clickHandler) {\r\n tab.clickHandler();\r\n }\r\n this.tabs.forEach(t => t.active = false);\r\n tab.active = true;\r\n }\r\n\r\n public selectSecondaryTab(secondaryTab: Tab): void {\r\n if (secondaryTab.clickHandler) {\r\n secondaryTab.clickHandler();\r\n }\r\n this.secondaryTabs.forEach(t => t.active = false);\r\n secondaryTab.active = true;\r\n }\r\n\r\n public onSelectWarehouse(event): void {\r\n this.warehouseSelected.emit(event);\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TabBarComponent} from \"./tab-bar.component\";\r\nimport {ListOfValuesModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ListOfValuesModule,\r\n ],\r\n declarations: [\r\n TabBarComponent\r\n ],\r\n exports: [\r\n TabBarComponent\r\n ]\r\n})\r\nexport class TabBarModule {\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-order-supply-stock-history\",\r\n template: `\r\n <co-simple-grid [data]=\"orderSupplyStockHistory\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OrderSupplyStockHistoryComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public orderSupplyStockHistory: StockHistoryBo[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n ) {\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-order-stock-commission-history\",\r\n template: `\r\n <co-simple-grid [data]=\"orderStockCommissionHistory\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OrderCommissionStockHistoryComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public orderStockCommissionHistory: StockHistoryBo[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n ) {\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-order-stock-history\",\r\n template: `\r\n <co-simple-grid [data]=\"orderStockHistory\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OrderStockHistoryComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public orderStockHistory: StockHistoryBo[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n ) {\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-allocation-stock-history\",\r\n template: `\r\n <co-simple-grid [data]=\"allocationStockHistory\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AllocationStockHistoryComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public allocationStockHistory: StockHistoryBo[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n ) {\r\n }\r\n\r\n}\r\n","export enum GaugeColor {\r\n Lowest = '#E0E0E0',\r\n Low = '#fff7b8',\r\n MediumLow = '#ffe367',\r\n MediumHigh = '#ffc15b',\r\n High = '#F88952',\r\n Highest = '#5FDCB3',\r\n}\r\n","import { Component, HostBinding, Input, ViewEncapsulation } from \"@angular/core\";\r\nimport { GaugeColor } from \"../../enum/gauge-color.enum\";\r\n\r\n@Component({\r\n selector: \"co-linear-gauge\",\r\n template: `\r\n <div class=\"linear-gauge\"\r\n [style.background]=\"getStyle()\"\r\n [style.border-color]=\"color\"\r\n [textContent]=\"count ? count : ''\"\r\n ></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CoLinearGaugeComponent {\r\n\r\n @Input()\r\n public set value(value: number) {\r\n this._value = value;\r\n this._setColor();\r\n }\r\n\r\n public get value(): number {\r\n return this._value;\r\n }\r\n\r\n @Input()\r\n public count: number;\r\n\r\n @HostBinding(\"class.co-linear-gauge\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _value: number;\r\n public color: GaugeColor = GaugeColor.Low;\r\n\r\n public getStyle(): string {\r\n return `linear-gradient(90deg, ${this.color} 0 ${this.value}%, white ${this.value}% 100%`;\r\n }\r\n\r\n private _setColor(): void {\r\n if (this.value <= 0) {\r\n this.color = GaugeColor.Lowest;\r\n } else if (this.value >= 1 && this.value < 25) {\r\n this.color = GaugeColor.Low;\r\n } else if (this.value >= 25 && this.value < 50) {\r\n this.color = GaugeColor.MediumLow;\r\n } else if (this.value >= 50 && this.value < 75) {\r\n this.color = GaugeColor.MediumHigh;\r\n } else if (this.value >= 75 && this.value < 100) {\r\n this.color = GaugeColor.High;\r\n } else if (this.value >= 100) {\r\n this.color = GaugeColor.Highest;\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CoLinearGaugeComponent } from \"./co-linear-gauge.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n declarations: [\r\n CoLinearGaugeComponent\r\n ],\r\n exports: [\r\n CoLinearGaugeComponent\r\n ]\r\n})\r\nexport class CoLinearGaugeModule {\r\n}\r\n","import {Component, ElementRef, HostBinding, Input, OnInit, ViewChild, ViewChildren, ViewEncapsulation} from '@angular/core';\r\nimport {StatusbarData} from './statusbar.component';\r\nimport {ArcElement, Chart, DoughnutController} from 'chart.js';\r\n\r\nChart.register(\r\n DoughnutController,\r\n ArcElement\r\n);\r\n\r\nexport enum GaugeColor {\r\n Lowest = '#E0E0E0',\r\n Low = '#fff7b8',\r\n MediumLow = '#ffe367',\r\n MediumHigh = '#ffc15b',\r\n High = '#F88952',\r\n Highest = '#5FDCB3',\r\n}\r\n\r\n@Component({\r\n selector: \"co-statusbar-popup\",\r\n template: `\r\n <div class=\"co-statusbar-popup-wrapper\" [overlay]=\"parentForOverlay\">\r\n <div class=\"status-descriptions\">\r\n <div *ngFor=\"let data of statusbarData; let index = index\" class=\"status-description\">\r\n <div class=\"statusbar-canvas-wrapper\">\r\n <canvas #doughnutCanvas class=\"chart-canvas\"></canvas>\r\n <span class=\"statusbar-inner-canvas-label\" [textContent]=\"data.percentage\"></span>\r\n </div>\r\n <span class=\"statusbar-description\" [textContent]=\"data.label\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StatusbarPopupComponent implements OnInit {\r\n @ViewChildren('doughnutCanvas', { read: ElementRef }) set content(content) {\r\n this.doughnutCharts = content.toArray();\r\n this._prepareChartData();\r\n }\r\n\r\n @Input()\r\n public defaultColor: '#e0e0e0';\r\n\r\n @Input()\r\n public statusbarData: StatusbarData[] = [];\r\n\r\n @Input()\r\n public parentForOverlay: ElementRef;\r\n\r\n @HostBinding(\"class.co-statusbar-popup\")\r\n public showClass: boolean = true;\r\n\r\n public doughnutCharts: ElementRef[] = [];\r\n\r\n ngOnInit() {\r\n this._prepareChartData();\r\n }\r\n\r\n private _prepareChartData(): void {\r\n if (!this.doughnutCharts || this.doughnutCharts.length === 0) {\r\n return;\r\n }\r\n this.doughnutCharts.forEach((chart: ElementRef, index: number) => {\r\n new Chart(chart.nativeElement, {\r\n type: 'doughnut',\r\n data: {\r\n datasets: [{\r\n label: this.statusbarData[index].label,\r\n data: [Math.max(0.0001, this.statusbarData[index].percentage), 100 - Math.max(0.0001, this.statusbarData[index].percentage)],\r\n backgroundColor: [\r\n this._getColor(this.statusbarData[index].percentage),\r\n this._getColor(-1),\r\n ],\r\n borderWidth: 1\r\n }]\r\n },\r\n options: {\r\n cutout: '70%'\r\n }\r\n });\r\n })\r\n }\r\n\r\n private _getColor(value: number): string {\r\n if (value <= 0) {\r\n return GaugeColor.Lowest;\r\n } else if (value >= 1 && value < 25) {\r\n return GaugeColor.Low;\r\n } else if (value >= 25 && value < 50) {\r\n return GaugeColor.MediumLow;\r\n } else if (value >= 50 && value < 75) {\r\n return GaugeColor.MediumHigh;\r\n } else if (value >= 75 && value < 100) {\r\n return GaugeColor.High;\r\n } else if (value >= 100) {\r\n return GaugeColor.Highest;\r\n }\r\n }\r\n}\r\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\r\nimport {\r\n Component,\r\n ComponentRef,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {OverlayService} from '@colijnit/corecomponents_v12';\r\nimport {StatusbarPopupComponent} from './statusbar-popup.component';\r\n\r\nexport interface StatusbarData {\r\n label: string,\r\n percentage: number,\r\n count?: number,\r\n totalCount?: number,\r\n}\r\n\r\n@Component({\r\n selector: \"co-statusbar\",\r\n template: `\r\n <div class=\"co-statusbar-wrapper\" *ngIf=\"statusbarData\" [clickOutside]=\"popupShowing\"\r\n (clickOutside)=\"handleHidePopup()\">\r\n <div class=\"statuses\">\r\n <div *ngFor=\"let data of statusbarData; let index = index\" class=\"status\">\r\n <co-linear-gauge [class.focused-status]=\"focusedStatusIndex !== undefined && focusedStatusIndex === index\"\r\n [value]=\"data.percentage\" [count]=\"data.count ? data.count : undefined\"></co-linear-gauge>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n providers: [\r\n OverlayService\r\n ],\r\n animations: [\r\n trigger(\"showHidePopup\", [\r\n state(\"void\", style({opacity: 0})),\r\n state(\"*\", style({opacity: 1})),\r\n transition(\"void <=> *\", animate(\"250ms ease-in-out\")),\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StatusbarComponent {\r\n\r\n @Input()\r\n public set statusbarData(value: StatusbarData[]) {\r\n this._statusbarData = value;\r\n this.adjustTooHighPercentages();\r\n }\r\n\r\n public get statusbarData() {\r\n return this._statusbarData;\r\n }\r\n\r\n @Input()\r\n public defaultColor: '#e0e0e0';\r\n\r\n @Input()\r\n public focusedStatusIndex: number;\r\n\r\n @Output()\r\n statusbarClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-statusbar\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n this.handleShowPopup(event);\r\n }\r\n\r\n public popupShowing: boolean = false;\r\n\r\n private _statusbarData: StatusbarData[];\r\n private _statusbarPopupComponentRef: ComponentRef<any>;\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private _overlayService: OverlayService) {\r\n }\r\n\r\n public handleShowPopup(event: MouseEvent): void {\r\n if (this.popupShowing) {\r\n return;\r\n }\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this._statusbarPopupComponentRef = this._overlayService.createComponent(StatusbarPopupComponent, {parentForOverlay: this._elementRef, statusbarData: this.statusbarData, defaultColor: this.defaultColor});\r\n this.popupShowing = true;\r\n }\r\n\r\n public handleHidePopup(): void {\r\n this._overlayService.removeComponent(this._statusbarPopupComponentRef);\r\n this.popupShowing = false;\r\n }\r\n\r\n public adjustTooHighPercentages(): void {\r\n this._statusbarData.forEach(data => data.percentage > 100 ? data.percentage = 100 : false);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ClickoutsideModule, OverlayModule} from '@colijnit/corecomponents_v12';\r\nimport {CoLinearGaugeModule} from '../linear-gauge/co-linear-gauge.module';\r\nimport {StatusbarComponent} from './statusbar.component';\r\nimport {StatusbarPopupComponent} from './statusbar-popup.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoLinearGaugeModule,\r\n ClickoutsideModule,\r\n OverlayModule\r\n ],\r\n declarations: [\r\n StatusbarComponent,\r\n StatusbarPopupComponent\r\n ],\r\n exports: [\r\n StatusbarComponent,\r\n StatusbarPopupComponent\r\n ]\r\n})\r\nexport class StatusbarModule {\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-stock-statusbar\",\r\n template: `\r\n <div class=\"status-bar\">\r\n <div class=\"status-bar-block\" [ngClass]=\"{'red': value === 0, 'orange': value === 1, 'green': value === 2}\"></div>\r\n <div class=\"status-bar-block\" [ngClass]=\"{'orange': value === 1, 'green': value === 2}\"></div>\r\n <div class=\"status-bar-block\" [ngClass]=\"{'green': value === 2}\"></div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockStatusbarComponent {\r\n\r\n @Input()\r\n public value: number;\r\n\r\n constructor(\r\n ) {\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {StockStatusbarComponent} from \"./stock-statusbar.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n declarations: [\r\n StockStatusbarComponent\r\n ],\r\n exports: [\r\n StockStatusbarComponent\r\n ]\r\n})\r\nexport class StockStatusbarModule {\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {StockService} from \"../../../../service/stock.service\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {StockForecast} from \"@colijnit/articleapi/build/model/stock-forecast.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-prognose\",\r\n template: `\r\n <co-simple-grid [data]=\"stockPrognose\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'AVAILABILITY' | localize\" [field]=\"'available'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'FREE_STOCK' | localize\" [field]=\"'freeStock'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'IN_ORDER' | localize\" [field]=\"'inOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER' | localize\" [field]=\"'transNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER_DATE' | localize\" [field]=\"'transactionDate'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row['arrivalDate'] | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'REFERENCE' | localize\" [field]=\"'reference'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE_CONFIRMED' | localize\" [field]=\"'transConfirmedDate'\">\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE_DELIVERED' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row['transDeliveryDate'] | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'FUTURE_FREE_STOCK' | localize\" [field]=\"'laterAvailable'\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockPrognoseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public stockPrognose: StockForecast[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {LocalizeService} from './localize.service';\r\n\r\n@Pipe({\r\n name: \"localize\"\r\n})\r\nexport class LocalizePipe implements PipeTransform {\r\n\r\n constructor(private _localizeService: LocalizeService) {}\r\n\r\n transform(value: string, upperCaseFirst: boolean = true, replace: string|string[] = []): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n replace = (replace !== undefined && replace !== null) ? replace : [];\r\n if (!Array.isArray(replace)) {\r\n replace = [replace];\r\n }\r\n return this._localizeService.get(value, upperCaseFirst, ...replace);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {LocalizePipe} from './localize.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n LocalizePipe\r\n ],\r\n exports: [\r\n LocalizePipe\r\n ]\r\n})\r\nexport class LocalizationModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {StockComponent} from './stock.component';\r\nimport {\r\n ButtonModule,\r\n CoDialogModule,\r\n CoDialogWizardModule,\r\n IconModule,\r\n ImageModule,\r\n InputNumberPickerModule,\r\n InputRadioButtonModule,\r\n InputTextareaModule,\r\n InputTextModule,\r\n ListOfValuesModule,\r\n SimpleGridModule,\r\n PopupModule,\r\n} from '@colijnit/corecomponents_v12';\r\nimport {CommonModule} from '@angular/common';\r\nimport {StockInformationComponent} from './stock-information/stock-information.component';\r\nimport {StockInformationGridComponent} from './stock-information-grid/stock-information-grid.component';\r\nimport {StockService} from '../../service/stock.service';\r\nimport {StockTransferComponent} from './stock-transfer/stock-transfer.component';\r\nimport {SendMethodDialogModule} from '../send-method-dialog/send-method-dialog.module';\r\nimport {StockChangeAmountComponent} from './stock-transfer/stock-change-amount.component';\r\nimport {StockTabComponent} from './components/stock-tab/stock-tab.component';\r\nimport {OrderTabComponent} from './components/order-tab/order-tab.component';\r\nimport {StockTabsComponent} from './stock-tabs/stock-tabs.component';\r\nimport {StockHistoryTabsComponent} from './stock-history-tabs/stock-history-tabs.component';\r\nimport {OrderStockTabComponent} from './components/order-stock-tab/order-stock-tab.component';\r\nimport {StockLocationComponent} from './components/stock-location/stock-location.component';\r\nimport {StockHistoryComponent} from './components/stock-history/stock-history.component';\r\nimport {TabBarModule} from '../tab-bar/tab-bar.module';\r\nimport {\r\n OrderSupplyStockHistoryComponent\r\n} from './components/order-supply-stock-history/order-supply-stock-history.component';\r\nimport {\r\n OrderCommissionStockHistoryComponent\r\n} from './components/order-commission-stock-history/order-commission-stock-history.component';\r\nimport {OrderStockHistoryComponent} from './components/order-stock-history/order-stock-history.component';\r\nimport {\r\n AllocationStockHistoryComponent\r\n} from './components/allocation-stock-history/allocation-stock-history.component';\r\nimport {StatusbarModule} from '../statusbar/statusbar.module';\r\nimport {StockStatusbarModule} from '../stock-statusbar/stock-statusbar.module';\r\nimport {StockPrognoseComponent} from './components/stock-prognose/stock-prognose.component';\r\nimport {LocalizationModule} from '../../localization/localization.module';\r\nimport {LocalizeService} from '../../localization/localize.service';\r\n\r\n@NgModule({\r\n imports: [\r\n ButtonModule,\r\n CommonModule,\r\n InputRadioButtonModule,\r\n SimpleGridModule,\r\n ImageModule,\r\n InputTextModule,\r\n SendMethodDialogModule,\r\n IconModule,\r\n InputNumberPickerModule,\r\n CoDialogWizardModule,\r\n InputTextareaModule,\r\n TabBarModule,\r\n CoDialogModule,\r\n StatusbarModule,\r\n StockStatusbarModule,\r\n ListOfValuesModule,\r\n LocalizationModule,\r\n PopupModule\r\n ],\r\n declarations: [\r\n StockComponent,\r\n StockInformationComponent,\r\n StockInformationGridComponent,\r\n StockTransferComponent,\r\n StockChangeAmountComponent,\r\n StockTabComponent,\r\n OrderTabComponent,\r\n StockTabsComponent,\r\n StockHistoryTabsComponent,\r\n OrderStockTabComponent,\r\n StockLocationComponent,\r\n StockHistoryComponent,\r\n OrderSupplyStockHistoryComponent,\r\n OrderCommissionStockHistoryComponent,\r\n OrderStockHistoryComponent,\r\n AllocationStockHistoryComponent,\r\n StockPrognoseComponent\r\n ],\r\n exports: [\r\n StockComponent\r\n ],\r\n providers: [\r\n StockService,\r\n LocalizeService\r\n ]\r\n})\r\nexport class StockModule {\r\n}\r\n","export class Translation {\r\n public ALLOCATED?: string = 'ALLOCATED';\r\n public ALLOCATION?: string = 'ALLOCATION';\r\n public ALREADY_IN_ORDER?: string = 'ALREADY_IN_ORDER';\r\n public AMOUNT?: string = 'AMOUNT';\r\n public AMOUNT_AVAILABLE?: string = 'AMOUNT_AVAILABLE';\r\n public AMOUNT_IN_STOCK?: string = 'AMOUNT_IN_STOCK';\r\n public AMOUNT_LATER_AVAILABLE?: string = 'AMOUNT_LATER_AVAILABLE';\r\n public AVAILABILITY?: string = 'AVAILABILITY';\r\n public AVAILABLE_STOCK?: string = 'AVAILABLE_STOCK';\r\n public BACK_TO_STOCK_LINES?: string = 'BACK_TO_STOCK_LINES';\r\n public BATCH?: string = 'BATCH';\r\n public CANCEL?: string = 'CANCEL';\r\n public CHOICES?: string = 'CHOICES';\r\n public CUSTOMER?: string = 'CUSTOMER';\r\n public DATE?: string = 'DATE';\r\n public DATE_DELIVERED?: string = 'DATE_DELIVERED';\r\n public DELIVERY_DATE?: string = 'DELIVERY_DATE';\r\n public DELIVERY_DATE_CONFIRMED?: string = 'DELIVERY_DATE_CONFIRMED';\r\n public DESCRIPTION?: string = 'DESCRIPTION';\r\n public DOCUMENT_NUMBER?: string = 'DOCUMENT_NUMBER';\r\n public ECONOMICAL_STOCK?: string = 'ECONOMICAL_STOCK';\r\n public FREE_STOCK?: string = 'FREE_STOCK';\r\n public FUTURE_FREE_STOCK?: string = 'FUTURE_FREE_STOCK';\r\n public HISTORY?: string = 'HISTORY';\r\n public IN_ORDER?: string = 'IN_ORDER';\r\n public LINE?: string = 'LINE';\r\n public LOCATION?: string = 'LOCATION';\r\n public LOOK_AT?: string = 'LOOK_AT';\r\n public MUTATION_DATE?: string = 'MUTATION_DATE';\r\n public MUTATION_TIME?: string = 'MUTATION_TIME';\r\n public MUTATION_TYPE?: string = 'MUTATION_TYPE';\r\n public OK?: string = 'OK';\r\n public ORDER?: string = 'ORDER';\r\n public ORDER_COMMISSION?: string = 'ORDER_COMMISSION';\r\n public ORDER_STOCK?: string = 'ORDER_STOCK';\r\n public OVERVIEW?: string = 'OVERVIEW';\r\n public PURCHASE_ORDER?: string = 'PURCHASE_ORDER';\r\n public PURCHASE_ORDER_DATE?: string = 'PURCHASE_ORDER_DATE';\r\n public PURCHASE_ORDER_NR?: string = 'PURCHASE_ORDER_NR';\r\n public PURCHASE_PRICE?: string = 'PURCHASE_PRICE';\r\n public REFERENCE?: string = 'REFERENCE';\r\n public RELATION_ID?: string = 'RELATION_ID';\r\n public RELATION_NR?: string = 'RELATION_NR';\r\n public RESERVED?: string = 'RESERVED';\r\n public SEARCH?: string = 'SEARCH';\r\n public SERIAL_NO?: string = 'SERIAL_NO';\r\n public STICKER?: string = 'STICKER';\r\n public STOCK?: string = 'STOCK';\r\n public STOCK_DETAILS?: string = 'STOCK_DETAILS';\r\n public STOCK_FORECAST?: string = 'STOCK_FORECAST';\r\n public STOCK_REMARK?: string = 'STOCK_REMARK';\r\n public STOCK_STATE?: string = 'STOCK_STATE';\r\n public STOCK_STATUS?: string = 'STOCK_STATUS';\r\n public SUPPLIER_NUMBER?: string = 'SUPPLIER_NUMBER';\r\n public TRANSFER?: string = 'TRANSFER';\r\n public USER?: string = 'USER';\r\n public VALUTA?: string = 'VALUTA';\r\n public WAREHOUSE?: string = 'WAREHOUSE';\r\n}\r\n","export enum KeyboardCode {\r\n Backspace = \"Backspace\",\r\n Digit0 = \"Digit0\",\r\n Digit1 = \"Digit1\",\r\n Digit2 = \"Digit2\",\r\n Digit3 = \"Digit3\",\r\n Digit4 = \"Digit4\",\r\n Digit5 = \"Digit5\",\r\n Digit6 = \"Digit6\",\r\n Digit7 = \"Digit7\",\r\n Digit8 = \"Digit8\",\r\n Digit9 = \"Digit9\",\r\n Enter = \"Enter\",\r\n Escape = \"Escape\",\r\n Minus = \"Minus\",\r\n Numpad0 = \"Numpad0\",\r\n Numpad1 = \"Numpad1\",\r\n Numpad2 = \"Numpad2\",\r\n Numpad3 = \"Numpad3\",\r\n Numpad4 = \"Numpad4\",\r\n Numpad5 = \"Numpad5\",\r\n Numpad6 = \"Numpad6\",\r\n Numpad7 = \"Numpad7\",\r\n Numpad8 = \"Numpad8\",\r\n Numpad9 = \"Numpad9\",\r\n NumpadDecimal = \"NumpadDecimal\",\r\n NumpadEnter = \"NumpadEnter\",\r\n NumpadSubtract = \"NumpadSubtract\",\r\n Period = \"Period\"\r\n}\r\n","import {Component, EventEmitter, HostBinding, HostListener, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';\r\nimport {Icon} from '../../enum/icon.enum';\r\nimport {IconCacheService} from '../../service/icon-cache.service';\r\nimport {KeyboardCode} from '../../enum/keyboard-code.enum';\r\n\r\n@Component({\r\n selector: 'co-key-pad',\r\n template: `\r\n <div class=\"key-pad-wrapper\">\r\n <div class=\"key-pad-model-wrapper\" *ngIf=\"showValue\">\r\n <co-responsive-text class=\"key-pad-model\" [text]=\"internalModel\" [class.negative]=\"isNegative\"></co-responsive-text>\r\n </div>\r\n <div class=\"key-pad-button-wrapper\">\r\n <div class=\"key-pad-button button-7\" (click)=\"handleButtonClick('7')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'7'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-8\" (click)=\"handleButtonClick('8')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'8'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-9\" (click)=\"handleButtonClick('9')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'9'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-bs\" (click)=\"handleBsClick($event)\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.DeleteLeftRegular)\"></co-icon>\r\n </div>\r\n <div class=\"key-pad-button button-4\" (click)=\"handleButtonClick('4')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'4'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-5\" (click)=\"handleButtonClick('5')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'5'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-6\" (click)=\"handleButtonClick('6')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'6'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-minus\" (click)=\"handleMinusClick($event)\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'-'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-1\" (click)=\"handleButtonClick('1')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'1'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-2\" (click)=\"handleButtonClick('2')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'2'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-3\" (click)=\"handleButtonClick('3')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'3'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-enter\" (click)=\"handleEnterClick($event)\">\r\n <co-responsive-text class=\"key-pad-button-text\" [text]=\"'enter'\"></co-responsive-text>\r\n </div>\r\n <div class=\"key-pad-button button-0\" (click)=\"handleButtonClick('0')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'0'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-dot\" (click)=\"handleButtonClick('.')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'.'\"></co-responsive-text></div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KeyPadComponent {\r\n public icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set model(value: number) {\r\n this._model = value;\r\n this._internalModel = this._model + \"\";\r\n }\r\n\r\n public get model(): number {\r\n return this._model;\r\n }\r\n\r\n @Input()\r\n public showValue: boolean = true;\r\n\r\n @Input()\r\n public resetModelOnInit: boolean = true;\r\n\r\n @Input()\r\n public emitModelChangeOnEnter: boolean = true;\r\n\r\n @Output()\r\n public modelChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @Output()\r\n public internalModelChange: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public enterClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding('class.co-key-pad')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostListener('window:keydown', ['$event'])\r\n public handleKeyDown(event: KeyboardEvent) {\r\n if (document.activeElement instanceof HTMLBodyElement) {\r\n this._keyDown(event);\r\n }\r\n }\r\n\r\n private readonly _validKeyMap: Map<KeyboardCode | string, string> = new Map<KeyboardCode, string>([\r\n [KeyboardCode.Digit0, \"0\"],\r\n [KeyboardCode.Digit1, \"1\"],\r\n [KeyboardCode.Digit2, \"2\"],\r\n [KeyboardCode.Digit3, \"3\"],\r\n [KeyboardCode.Digit4, \"4\"],\r\n [KeyboardCode.Digit5, \"5\"],\r\n [KeyboardCode.Digit6, \"6\"],\r\n [KeyboardCode.Digit7, \"7\"],\r\n [KeyboardCode.Digit8, \"8\"],\r\n [KeyboardCode.Digit9, \"9\"],\r\n [KeyboardCode.Numpad0, \"0\"],\r\n [KeyboardCode.Numpad1, \"1\"],\r\n [KeyboardCode.Numpad2, \"2\"],\r\n [KeyboardCode.Numpad3, \"3\"],\r\n [KeyboardCode.Numpad4, \"4\"],\r\n [KeyboardCode.Numpad5, \"5\"],\r\n [KeyboardCode.Numpad6, \"6\"],\r\n [KeyboardCode.Numpad7, \"7\"],\r\n [KeyboardCode.Numpad8, \"8\"],\r\n [KeyboardCode.Numpad9, \"9\"],\r\n [KeyboardCode.NumpadDecimal, \".\"],\r\n [KeyboardCode.Period, \".\"]\r\n ])\r\n\r\n private _init: boolean = true;\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n }\r\n\r\n public set internalModel(value: string) {\r\n this._internalModel = value;\r\n this.isNegative = parseFloat(this._internalModel) < 0;\r\n this.internalModelChange.emit(this._internalModel);\r\n }\r\n\r\n public get internalModel(): string {\r\n return this._internalModel;\r\n }\r\n\r\n public isNegative: boolean = false;\r\n\r\n private _model: number = 0;\r\n private _internalModel: string = \"0\";\r\n private _maxCharacters: number = 11;\r\n\r\n public handleMinusClick(event: MouseEvent | KeyboardEvent): void {\r\n const model: number = parseFloat(this.internalModel);\r\n if (model !== 0) {\r\n if (model < 0) {\r\n this.internalModel = Math.abs(model) + \"\";\r\n } else {\r\n this.internalModel = -model + \"\";\r\n }\r\n }\r\n this._emitModelChange();\r\n }\r\n\r\n public handleClearClick(event: MouseEvent | KeyboardEvent): void {\r\n this.internalModel = \"0\";\r\n this._emitModelChange();\r\n }\r\n\r\n public handleBsClick(event: MouseEvent | KeyboardEvent): void {\r\n let wish: string = this.internalModel;\r\n wish = wish.slice(0, wish.length - 1) || \"0\";\r\n if (!isNaN(parseFloat(wish))) {\r\n this.internalModel = parseFloat(wish) + \"\";\r\n }\r\n this._emitModelChange();\r\n }\r\n\r\n public handleButtonClick(chr: string): void {\r\n this._updateModel(chr);\r\n }\r\n\r\n public handleEnterClick(event: MouseEvent | KeyboardEvent): void {\r\n this._emitModelChange(true);\r\n this.enterClick.emit();\r\n }\r\n\r\n private _updateModel(value: string): void {\r\n if (this.resetModelOnInit && this._init) {\r\n this._internalModel = \"0\";\r\n this._init = false;\r\n }\r\n if (value === undefined || value === null ||\r\n (value === '.' && this.internalModel.indexOf('.') > -1) ||\r\n this.internalModel.length >= this._maxCharacters) {\r\n return;\r\n }\r\n this.internalModel = this.internalModel !== \"0\" ? this.internalModel + value : value;\r\n this._emitModelChange();\r\n }\r\n\r\n private _keyDown(event: KeyboardEvent): void {\r\n if (this._isEnter(event)) {\r\n this.handleEnterClick(event);\r\n } else if (this._isMinus(event)) {\r\n this.handleMinusClick(event);\r\n } else if (this._isEscape(event)) {\r\n this.handleClearClick(event);\r\n } else if (this._isBackspace(event)) {\r\n this.handleBsClick(event);\r\n } else {\r\n this._updateModel(this._validKeyMap.get(event.code));\r\n }\r\n }\r\n\r\n private _isEnter(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Enter || event.code === KeyboardCode.NumpadEnter;\r\n }\r\n\r\n private _isMinus(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Minus || event.code === KeyboardCode.NumpadSubtract;\r\n }\r\n\r\n private _isEscape(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Escape;\r\n }\r\n\r\n private _isBackspace(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Backspace;\r\n }\r\n\r\n private _emitModelChange(enter: boolean = false): void {\r\n if ((enter && this.emitModelChangeOnEnter) || (!enter && !this.emitModelChangeOnEnter)) {\r\n const model: number = parseFloat(this.internalModel);\r\n if (!isNaN(model)) {\r\n if (enter && this.emitModelChangeOnEnter) {\r\n this.model = model;\r\n }\r\n this.modelChange.emit(model);\r\n }\r\n }\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {KeyPadComponent} from './key-pad.component';\r\nimport {IconModule, ResponsiveTextModule} from '@colijnit/corecomponents_v12';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n ResponsiveTextModule\r\n ],\r\n declarations: [\r\n KeyPadComponent\r\n ],\r\n exports: [\r\n KeyPadComponent\r\n ]\r\n})\r\nexport class KeyPadModule {\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\n\r\n\r\n@Component({\r\n selector: \"co-layout-switcher\",\r\n template: `\r\n <div class=\"mask-wrapper\" [class.mask-wrapper-active]='showMaskSidebar' @showHideSidebar>\r\n <div class=\"icon-wrapper\" (click)=\"toggleMaskSidebar()\">\r\n <co-icon class=\"icon-mask\" [iconData]=\"iconCacheService.getIcon(icon.BringForwardRegular)\" [@positionIcon]=\"showMaskSidebar\"></co-icon>\r\n\r\n <co-icon class='icon-mask-sidebar-handle' [@positionHandle]='showMaskSidebar' [iconData]=\"showMaskSidebar ? iconCacheService.getIcon(this.icon.AngleLeftSolid) : iconCacheService.getIcon(this.icon.AngleRightSolid)\"></co-icon>\r\n </div>\r\n\r\n <div class=\"mask-content\" *ngIf=\"showMaskSidebar\" @showHideSidebar>\r\n <span *ngFor='let item of this.layoutItems' [class.active]=\"this.activeIndex === this.layoutItems.indexOf(item)\" [textContent]=\"item\" (click)='activeIndex = this.layoutItems.indexOf(item)' ></span>\r\n </div>\r\n </div>\r\n\r\n `,\r\n animations: [\r\n trigger(\"showHideSidebar\", [\r\n state(\"void\", style({\"width\": \"0\"})),\r\n state(\"*\", style({\"width\": \"*\"})),\r\n transition(\"void <=> *\", animate(200))\r\n ]),\r\n trigger(\"positionIcon\", [\r\n state(\"true\", style({\"left\": \"70px\"})),\r\n state(\"false\", style({\"left\": \"10px\"})),\r\n transition(\"true <=> false\", animate(200))\r\n ]),\r\n trigger(\"positionHandle\", [\r\n state(\"true\", style({\"left\": \"15px\"})),\r\n state(\"false\", style({\"left\": \"75px\"})),\r\n transition(\"true <=> false\", animate(200))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LayoutSwitcherComponent {\r\n public readonly icon: typeof Icon = Icon;\r\n\r\n @HostBinding('class.co-layout-switcher')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @Input()\r\n public layoutItems: string[] = [];\r\n\r\n @Output()\r\n public layoutSwitchEmit:EventEmitter<string> = new EventEmitter<string>();\r\n\r\n public get activeIndex(): number {\r\n return this._activeIndex;\r\n }\r\n\r\n public set activeIndex(index) {\r\n this._activeIndex = index;\r\n this.toggleMaskSidebar();\r\n this.layoutSwitchEmit.emit(this.layoutItems[index]);\r\n }\r\n\r\n public showMaskSidebar: boolean = false;\r\n\r\n private _activeIndex: number = 0;\r\n\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n }\r\n\r\n public toggleMaskSidebar(): void {\r\n this.showMaskSidebar = !this.showMaskSidebar;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {LayoutSwitcherComponent} from \"./layout-switcher.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n LayoutSwitcherComponent,\r\n ],\r\n exports: [\r\n LayoutSwitcherComponent\r\n ]\r\n})\r\nexport class LayoutSwitcherModule {\r\n\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter, HostBinding,\r\n Input,\r\n Output,\r\n Renderer2,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {CalendarView} from '../../enum/calendar-view.enum';\r\n\r\n@Component({\r\n selector: \"co-date-planning\",\r\n template: `\r\n <div class=\"sc-agenda\">\r\n <div class=\"content-wrapper\">\r\n <calendar *ngIf=\"calendarNavigation\"\r\n [view]=\"view\"\r\n [(days)]=\"days\"\r\n [selectedDate]=\"selectedDate\" (selectedDateChange)=\"doChangeSelectedDate($event)\"></calendar>\r\n <div class=\"agenda-content-wrapper mini-scrollbar\">\r\n <div class=\"agenda-content\">\r\n <agenda-header [view]=\"view\" (viewChange)=\"doChangeView($event)\"\r\n [firstAvailableDate]=\"firstAvailableDate\"\r\n [eventsPerDay]=\"eventsPerDay\"\r\n [selectedDate]=\"selectedDate\"\r\n (selectedDateChange)=\"doChangeSelectedDate($event)\"\r\n (rangeChange)=\"doChangeSelectedDate($event, true)\"></agenda-header>\r\n <agenda-view [view]=\"view\"\r\n [selectedDate]=\"selectedDate\"\r\n [eventsPerDay]=\"eventsPerDay\"\r\n (eventChecked)=\"eventChecked.emit($event)\"></agenda-view>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <co-button *ngIf=\"showButton && eventsPerDay.length > 0\" class=\"text-only select-agenda-button\"\r\n [label]=\"buttonLabel\"\r\n (click)=\"buttonClick.emit($event)\">\r\n </co-button>\r\n `,\r\n animations: [\r\n trigger(\"showHideWindow\", [\r\n state(\"void\", style({transform: \"scaleY(0)\"})),\r\n state(\"*\", style({transform: \"scaleY(1)\"})),\r\n transition(\":enter, :leave\", [\r\n animate(\"200ms ease-in-out\")\r\n ])\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class DatePlanningComponent {\r\n @ViewChild(\"dayStart\", { static: true })\r\n public dayStart: ElementRef;\r\n\r\n @Input()\r\n public calendarNavigation: boolean = false;\r\n\r\n @Input()\r\n public showButton: boolean = false;\r\n\r\n @Input()\r\n public selectedDate: Date;\r\n\r\n @Input()\r\n public firstAvailableDate: Date;\r\n\r\n @Input()\r\n public buttonLabel: string = \"\";\r\n\r\n @Input()\r\n public eventsPerDay: any = [];\r\n\r\n @Input()\r\n public view: CalendarView;\r\n\r\n @Output()\r\n public readonly eventChecked: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public readonly selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public readonly rangeChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public readonly viewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\r\n\r\n @Output()\r\n public readonly buttonClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-date-planning\")\r\n public showClass: boolean = true;\r\n\r\n public days: Date[] = [];\r\n private _selectedDate: Date = new Date();\r\n\r\n constructor(\r\n private _changeDetector: ChangeDetectorRef,\r\n private renderer: Renderer2\r\n ) {\r\n }\r\n\r\n public doChangeSelectedDate(date: Date, rangeChanged: boolean = false): void {\r\n this.selectedDate = new Date(date);\r\n if (rangeChanged) {\r\n this.rangeChange.next(this.selectedDate);\r\n } else {\r\n this.selectedDateChange.next(this.selectedDate);\r\n }\r\n this._changeDetector.detectChanges();\r\n }\r\n\r\n public doChangeView(view: CalendarView): void {\r\n this.view = view;\r\n this.viewChange.next(this.view);\r\n }\r\n\r\n public scrollToDayStart(): void {\r\n if (this.dayStart !== undefined) {\r\n const dayStart: any = this.renderer.selectRootElement(\"#dayStart\");\r\n if (dayStart) {\r\n setTimeout(() => {\r\n dayStart.scrollIntoView({behavior: \"instant\", block: \"center\"});\r\n });\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"calendar-all-years\",\r\n template: `\r\n <div *ngFor=\"let currentYear of years\"\r\n [textContent]=\"currentYear\"\r\n [class.selected-year]=\"currentYear === year\"\r\n class=\"pointer-hover\"\r\n (click)=\"year = currentYear; yearChange.emit(year)\"\r\n ></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class CalendarAllYearsComponent implements OnInit {\r\n\r\n @Input()\r\n public year: number;\r\n\r\n @Output()\r\n public readonly yearChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n public years: number[] = [];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.years.length = 0;\r\n let start: number = this._determineStart();\r\n const end: number = start + 11;\r\n while (start < end) {\r\n this.years.push(start);\r\n start++;\r\n }\r\n }\r\n\r\n private _determineStart(): number {\r\n if (this.year > 0) {\r\n let thisYear: number = this.year;\r\n let thisYearLastDigit: number = parseInt(thisYear.toString().split(\"\").pop());\r\n while (thisYearLastDigit > 0) {\r\n thisYear--;\r\n thisYearLastDigit = parseInt(thisYear.toString().split(\"\").pop());\r\n }\r\n return thisYear;\r\n }\r\n return 0;\r\n }\r\n\r\n}\r\n","// All the months. Values are corresponding dictionary keys in text_nl.\r\nexport enum Month {\r\n January = \"JANUARY\",\r\n Februrary = \"FEBRUARY\",\r\n March = \"MARCH\",\r\n April = \"APRIL\",\r\n May = \"MAY\",\r\n June = \"JUNE\",\r\n July = \"JULY\",\r\n August = \"AUGUST\",\r\n September = \"SEPTEMBER\",\r\n October = \"OCTOBER\",\r\n November = \"NOVEMBER\",\r\n December = \"DECEMBER\"\r\n}\r\n","import {Month} from \"../../enum/month.enum\";\r\n\r\n// All the months in a year. The order is important, and should remain January - to December!\r\nexport const ALL_MONTHS: Month[] = [\r\n Month.January,\r\n Month.Februrary,\r\n Month.March,\r\n Month.April,\r\n Month.May,\r\n Month.June,\r\n Month.July,\r\n Month.August,\r\n Month.September,\r\n Month.October,\r\n Month.November,\r\n Month.December\r\n];\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ALL_MONTHS} from \"../../../../model/constant/all-months\";\r\n\r\n@Component({\r\n selector: \"calendar-all-months\",\r\n template: `\r\n <div *ngFor=\"let currentMonth of months; let index = index\"\r\n [class.selected-month]=\"month === index\"\r\n [textContent]=\"currentMonth\"\r\n class=\"pointer-hover\"\r\n (click)=\"month = index; monthChange.emit(month)\"\r\n ></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class CalendarAllMonthsComponent implements OnInit {\r\n\r\n @Input()\r\n public month: number;\r\n\r\n @Input()\r\n public shortDescriptions: boolean = false;\r\n\r\n @Output()\r\n public monthChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n public months: string[] = [];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.months.length = 0;\r\n this.months = ALL_MONTHS;\r\n }\r\n}\r\n","import {Component, DoCheck, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {ALL_MONTHS} from \"../../../../model/constant/all-months\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"calendar-header\",\r\n template: `\r\n <div #monthYearSelect class=\"calendar-header-row\">\r\n <co-icon class=\"pointer-hover\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subMonth()\"></co-icon>\r\n <div (click)=\"showMonthYearSelect = true\">\r\n <div class=\"month\" [textContent]=\"currentMonth\"></div>\r\n <div class=\"year\" [textContent]=\"currentYear\"></div>\r\n </div>\r\n <co-icon class=\"pointer-hover\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addMonth()\"></co-icon>\r\n </div>\r\n <ng-template #template>\r\n <div *ngIf=\"showMonthYearSelect\"\r\n (clickOutside)=\"hideMonthYearSelection()\"\r\n class=\"select-month-year-window\" [class.expanded]=\"expanded\" @showMonthYearSelect\r\n >\r\n <div>\r\n <calendar-all-months [month]=\"currentMonth\" (monthChange)=\"setNewMonth($event)\" shortDescriptions></calendar-all-months>\r\n <div class=\"vertical-divider\"></div>\r\n <calendar-all-years [year]=\"currentYear\" (yearChange)=\"setNewYear($event)\"></calendar-all-years>\r\n </div>\r\n<!-- <default-ok-cancel-buttons-->\r\n<!-- (okClick)=\"changeMonthYear()\"-->\r\n<!-- (cancelClick)=\"showMonthYearSelect = false\"-->\r\n<!-- >-->\r\n<!-- </default-ok-cancel-buttons>-->\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger(\"showMonthYearSelect\", [\r\n state(\"void\", style({\r\n \"transform-origin\": \"top center\",\r\n transform: \"scaleY(0)\"\r\n })),\r\n state(\"*\", style({\r\n \"transform-origin\": \"top center\",\r\n transform: \"scaleY(1)\"\r\n })),\r\n transition(\":enter, :leave\", [\r\n animate(\"200ms ease-in-out\")\r\n ])\r\n ])\r\n ]\r\n})\r\n\r\nexport class CalendarHeaderComponent implements DoCheck {\r\n\r\n @Input()\r\n public selectedDate: Date = new Date();\r\n\r\n @Output()\r\n public readonly selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n public showMonthYearSelect: boolean = false;\r\n\r\n public expanded: boolean = false;\r\n\r\n public currentMonth: string;\r\n\r\n public currentYear: number;\r\n\r\n public selectedMonth: number;\r\n\r\n public selectedYear: number;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngDoCheck(): void {\r\n if (this.selectedDate) {\r\n this.currentMonth = ALL_MONTHS[this.selectedDate.getMonth()];\r\n this.currentYear = this.selectedDate.getFullYear();\r\n }\r\n }\r\n\r\n public subMonth(): void {\r\n const newDate: Date = new Date(this.selectedDate);\r\n newDate.setMonth(newDate.getMonth() - 1);\r\n this.selectedDate = newDate;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n\r\n public addMonth(): void {\r\n const newDate: Date = new Date(this.selectedDate);\r\n newDate.setMonth(newDate.getMonth() + 1);\r\n this.selectedDate = newDate;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n\r\n public hideMonthYearSelection(): void {\r\n this.expanded = false;\r\n this.showMonthYearSelect = false;\r\n }\r\n\r\n public setNewMonth(month: number): void {\r\n this.selectedMonth = month;\r\n }\r\n\r\n public setNewYear(year: number): void {\r\n this.selectedYear = year;\r\n }\r\n\r\n public changeMonthYear(): void {\r\n this.hideMonthYearSelection();\r\n const newDate: Date = new Date(this.selectedDate);\r\n newDate.setMonth(this.selectedMonth);\r\n newDate.setFullYear(this.selectedYear);\r\n this.selectedDate = newDate;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n}\r\n","export enum CalendarView {\r\n DayView = \"DAY\",\r\n WeekView = \"WEEK\",\r\n WeekSelectView = \"WEEK_SELECT\",\r\n MonthView = \"MONTH\"\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\n\r\n@Component({\r\n selector: \"calendar\",\r\n template: `\r\n <div class=\"sc-calendar\">\r\n <calendar-header [selectedDate]=\"selectedDate\" (selectedDateChange)=\"changeSelectedDate($event)\"></calendar-header>\r\n <calendar-view [view]=\"view\" [selectedDate]=\"selectedDate\" (selectedDateChange)=\"changeSelectedDate($event)\"></calendar-view>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CalendarComponent {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n @Input()\r\n public selectedDate: Date = new Date();\r\n\r\n @Input()\r\n public days: Date[] = [];\r\n\r\n @Output()\r\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n constructor() {\r\n }\r\n\r\n public changeSelectedDate(date: Date): void {\r\n this.selectedDate = date;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"arrayNumber\"\r\n})\r\nexport class ArrayNumberPipe implements PipeTransform {\r\n\r\n transform(length: number, offset: number = 0): number[] {\r\n if (!length || length < 0) {\r\n return [];\r\n }\r\n return Array.from({length: Math.round(length)}, (x, i) => i + offset);\r\n }\r\n}\r\n","// @returns true iff given value does not equals null and does not equal undefined\r\nexport function notNill(value: any): boolean {\r\n return value !== null && value !== undefined;\r\n}\r\n","import {TimePeriod} from \"../enum/time-period.enum\";\r\n\r\nexport class DateRange {\r\n public startDate: Date;\r\n public endDate: Date;\r\n public selectedTimePeriod: TimePeriod;\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Month} from \"../enum/month.enum\";\r\nimport {ALL_MONTHS} from \"../model/constant/all-months\";\r\nimport {notNill} from \"./function/not-nill.function\";\r\nimport * as moment from \"moment\";\r\nimport {Moment} from \"moment\";\r\nimport {DatePipe} from \"@angular/common\";\r\nimport {DateRange} from \"../model/date-range\";\r\n\r\nDate.prototype.toJSON = function() {\r\n return moment(this).format('YYYY-MM-DD[T]HH:mm:ss');\r\n}\r\n\r\n// static utility function holder related to dates\r\nexport class DateUtils {\r\n public static readonly BACKEND_DATE_FORMAT: string = 'YYYY-MM-DD[T]HH:mm:ss';\r\n public static datePipe: DatePipe = new DatePipe('shortDate');\r\n\r\n public static NowAsString(): string {\r\n return DateUtils.ParseDate(new Date(), DateUtils.BACKEND_DATE_FORMAT);\r\n }\r\n\r\n public static ParseDate(date: Date, format: string = \"d-m-y\"): string {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const day: string = (\"0\" + date.getDate()).slice(-2);\r\n const month: string = (\"0\" + (date.getMonth() + 1)).slice(-2);\r\n const year: string = date.getFullYear() + \"\";\r\n\r\n const formatParts: string[] = format.split(\"-\");\r\n const dateParts: string[] = [];\r\n\r\n\r\n for (let i: number = 0, l: number = formatParts.length; i < l; i++) {\r\n switch (formatParts[i]) {\r\n case \"d\" :\r\n case \"DD\" :\r\n dateParts.push(day);\r\n break;\r\n case \"m\" :\r\n case \"MM\" :\r\n dateParts.push(month);\r\n break;\r\n case \"y\" :\r\n case \"YYYY\" :\r\n dateParts.push(year);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n return dateParts.join(\"-\");\r\n }\r\n\r\n public static GetWeekNumber(date: Date): number {\r\n date = new Date(date.getTime());\r\n date.setHours(0, 0, 0, 0);\r\n date.setDate(date.getDate() + 4 - (date.getDay() || 7));\r\n return Math.ceil((((date.getTime() - new Date(date.getFullYear(), 0, 1).getTime()) / 8.64e7) + 1) / 7);\r\n }\r\n\r\n // Returns the number of days from now, for the given date in the future. Returns negative days if given date is in the past from now.\r\n public static GetDaysFromNow(date: Date): number {\r\n return DateUtils.GetDayDifference(new Date(Date.now()), date);\r\n }\r\n\r\n public static StringAsDate(str: string, format: string = DateUtils.BACKEND_DATE_FORMAT): Date {\r\n if (notNill(str)) {\r\n if (!isNaN(Number(str))) {\r\n return new Date(str);\r\n } else {\r\n const time: any = moment(str, format, true);\r\n return time.isValid() ? new Date(time) : undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n public static MomentToDate(time: Moment): Date {\r\n if (!time || !time.isValid()) {\r\n return undefined;\r\n }\r\n\r\n const d: Date = new Date(time.format(DateUtils.BACKEND_DATE_FORMAT));\r\n d.setHours(time.hours());\r\n d.setMinutes(time.minutes());\r\n d.setSeconds(time.seconds());\r\n return d;\r\n }\r\n\r\n public static GetCurrentMonth(): Month {\r\n return ALL_MONTHS[new Date().getMonth()];\r\n }\r\n\r\n // @returns e.g. [\"FEBRUARI\", \"MARCH\", ..] if it's Februari today, otherwise e.g. [\"APRIL\", \"MAY\", ...] if it's April today\r\n public static Get12MonthsArrayWithFirstMonthIsCurrentMonth(): Month[] {\r\n const answer: Month[] = [];\r\n\r\n let monthNrToAdd: number = new Date().getMonth();\r\n for (let i: number = 0; i < 12; i++) {\r\n answer.push(ALL_MONTHS[monthNrToAdd]);\r\n monthNrToAdd = (monthNrToAdd + 1) % ALL_MONTHS.length;\r\n }\r\n\r\n return answer;\r\n }\r\n\r\n public static GetFirstDayOfWeek(date: Date): Date {\r\n if (!DateUtils._ValidDate(date)) {\r\n return null;\r\n }\r\n let firstDay: Date;\r\n const dayOfWeek: number = date.getDay() || 7;\r\n if (dayOfWeek === 1) {\r\n firstDay = new Date(date);\r\n } else {\r\n firstDay = new Date(date);\r\n firstDay.setHours(-24 * (dayOfWeek - 1));\r\n }\r\n return firstDay;\r\n }\r\n\r\n public static GetLastDayOfWeek(date: Date): Date {\r\n const firstDayOfWeek: Date = DateUtils.GetFirstDayOfWeek(date);\r\n const lastDayOfWeek: Date = new Date(firstDayOfWeek);\r\n lastDayOfWeek.setDate(firstDayOfWeek.getDate() + 6);\r\n return lastDayOfWeek;\r\n }\r\n\r\n public static GetFirstDayOfMonth(date: Date): Date {\r\n if (!DateUtils._ValidDate(date)) {\r\n return null;\r\n }\r\n const year: number = date.getFullYear();\r\n const month: number = date.getMonth();\r\n return new Date(year, month, 1);\r\n }\r\n\r\n public static GetLastDayOfMonth(date: Date): Date {\r\n if (!DateUtils._ValidDate(date)) {\r\n return null;\r\n }\r\n const year: number = date.getFullYear();\r\n const month: number = date.getMonth();\r\n return new Date(year, month + 1, 0);\r\n }\r\n\r\n public static DatesEqual(date1: Date, date2: Date): boolean {\r\n let result: boolean = false;\r\n if (DateUtils._ValidDate(date1) && DateUtils._ValidDate(date2)) {\r\n result =\r\n date1.getDate() === date2.getDate() &&\r\n date1.getMonth() === date2.getMonth() &&\r\n date1.getFullYear() === date2.getFullYear();\r\n }\r\n return result;\r\n }\r\n\r\n public static DateRangeEqual(dates1: DateRange, dates2: DateRange): boolean {\r\n return (this.DatesEqual(dates1.startDate, dates2.startDate) &&\r\n this.DatesEqual(dates1.endDate, dates2.endDate));\r\n }\r\n\r\n public static AddMinutes(date: Date, minutes: number): Date {\r\n return new Date(date.getTime() + (minutes * 60000));\r\n }\r\n\r\n public static AddDays(date: Date, days: number): Date {\r\n const result: Date = new Date(date);\r\n result.setDate(result.getDate() + days);\r\n return result;\r\n }\r\n\r\n public static AddMonths(date: Date, months: number): Date {\r\n const result: Date = new Date(date);\r\n result.setMonth(result.getMonth() + months);\r\n return result;\r\n }\r\n\r\n public static DetermineDSTBreakpoints(): { start: string, end: string } {\r\n const endOfYear: Date = new Date(new Date().getFullYear(), 11, 1);\r\n let checkDate: Date = new Date(new Date().getFullYear(), 0, 1);\r\n let offset: number = checkDate.getTimezoneOffset();\r\n\r\n const periodStart: Date = new Date();\r\n let periodStartSet: boolean = false;\r\n const periodEnd: Date = new Date();\r\n let periodEndSet: boolean = false;\r\n while (checkDate.getTime() < endOfYear.getTime()) {\r\n checkDate = this.AddMinutes(checkDate, 60);\r\n if (offset < checkDate.getTimezoneOffset()) {\r\n periodEnd.setTime(checkDate.getTime());\r\n periodEndSet = true;\r\n } else if (offset > checkDate.getTimezoneOffset()) {\r\n periodStart.setTime(checkDate.getTime());\r\n periodStartSet = true;\r\n }\r\n offset = checkDate.getTimezoneOffset();\r\n if (periodStartSet && periodEndSet) {\r\n break;\r\n }\r\n }\r\n\r\n if (periodStartSet && periodEndSet) {\r\n return {\r\n start: this._DateToTimeStringWithDateFormat(periodStart),\r\n end: this._DateToTimeStringWithDateFormat(periodEnd)\r\n };\r\n } else {\r\n return {start: undefined, end: undefined}; // important otherwise we return new Date() for both\r\n }\r\n }\r\n\r\n private static _ValidDate(date: Date): boolean {\r\n return date !== null && date !== undefined;\r\n }\r\n\r\n /**\r\n * Returns the difference between the two given days as the number of days, in float precision (date to - date from).\r\n * Returns negative values of the 'from' date is later than in time than the 'to' date.\r\n */\r\n public static GetDayDifference(from: Date, to: Date): number {\r\n if (!from || !to) {\r\n return NaN;\r\n }\r\n return ((to.getTime() - from.getTime()) / 1000 / 60 / 60 / 24);\r\n }\r\n\r\n public static IsSameDay(dateOne: Date, dateTwo: Date): boolean {\r\n return (dateOne && dateTwo &&\r\n dateOne.getDate() === dateTwo.getDate()\r\n && dateOne.getMonth() === dateTwo.getMonth()\r\n && dateOne.getFullYear() === dateTwo.getFullYear());\r\n }\r\n\r\n public static IsInBetween(date: Date, startDate: Date, endDate: Date, withTime: boolean = true): boolean {\r\n if (startDate && endDate) {\r\n if (withTime) {\r\n return (date > startDate && date < endDate);\r\n } else {\r\n const dateWithoutTime: number = new Date(date).setHours(0, 0, 0, 0),\r\n dateFromWithoutTime: number = new Date(startDate).setHours(0, 0, 0, 0),\r\n dateToWithoutTime: number = new Date(endDate).setHours(0, 0, 0, 0);\r\n return dateWithoutTime >= dateFromWithoutTime && dateWithoutTime <= dateToWithoutTime;\r\n }\r\n }\r\n }\r\n\r\n public static IsMonday(date: Date): boolean {\r\n return date.getDay() === 1;\r\n }\r\n\r\n public static IsSunday(date: Date): boolean {\r\n return date.getDay() === 0;\r\n }\r\n\r\n public static IsToday(date: Date): boolean {\r\n const today: Date = new Date();\r\n return DateUtils.IsSameDay(today, date);\r\n }\r\n\r\n // Returns date format like it would when using a pipe in the templete, ie: \"1 okt. 2020\"\r\n public static ParseDateInShortDateFormat(date: Date, locale: string): string {\r\n this.datePipe = new DatePipe(locale);\r\n const parsedDate: string = this.datePipe.transform(date);\r\n return parsedDate;\r\n }\r\n\r\n // Transforms a string that is formatted like \"'17-08-2014'<=?<='17-08-2021'\" into \"'17-08-2014' Untill '17-08-2021'\"\r\n public static getFormattedDateRangeString(dateRangeString: string, separator: string = \" - \"): string {\r\n let newString: string = dateRangeString;\r\n newString = newString.replace(\"<=?<=\", ` ${separator} `);\r\n newString = newString.replace(/'/g, \"\");\r\n\r\n return newString;\r\n }\r\n\r\n public static SetDateOrDateRangeObjectHoursZero(date: Date | DateRange): void {\r\n if (date instanceof DateRange) {\r\n if (date.startDate) {\r\n date.startDate.setHours(0, 0, 0);\r\n }\r\n if (date.endDate) {\r\n date.endDate.setHours(0, 0, 0);\r\n }\r\n } else if (!!date && (date instanceof Date)) {\r\n date.setHours(0, 0, 0, 0);\r\n }\r\n }\r\n\r\n private static _DateToTimeStringWithDateFormat(value: Date, dateFormat: string = \"d-m-y\"): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n\r\n const hours: string = value.getHours() < 10 ? \"0\" + value.getHours() : \"\" + value.getHours();\r\n const minutes: string = value.getMinutes() < 10 ? \"0\" + value.getMinutes() : \"\" + value.getMinutes();\r\n return this.ParseDate(value, dateFormat) + \" \" + [hours, minutes].join(\":\");\r\n }\r\n}\r\n","import {Component, EventEmitter, Inject, Input, LOCALE_ID, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArrayNumberPipe} from \"../../../../pipe/array-number.pipe\";\r\nimport {DatePipe} from \"@angular/common\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\r\n\r\ntype DateStamp = { day: number, inMonth: boolean, timestamp: number, week: number, selected: boolean };\r\n\r\n@Component({\r\n selector: \"calendar-view\",\r\n template: `\r\n <div class=\"calendar-content\">\r\n <div>\r\n <div class=\"week-day-header week-row\">\r\n <div class=\"week-acronym\"></div>\r\n <div *ngFor=\"let weekDay of weekDayLabel\" [textContent]=\"weekDay | ucfirst\"\r\n class=\"week-day-label\"></div>\r\n </div>\r\n <div class=\"week-row\" *ngFor=\"let week of weeks;trackBy:trackByWeek\">\r\n <div [textContent]=\"week[0].week\" class=\"week-number\"></div>\r\n <div *ngFor=\"let date of week;trackBy:trackByStamp\" class=\"week-day\"\r\n (click)=\"onDateClick(date)\" [textContent]=\"date.day\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n//fixme we don't have a todayDayStamp field but our template references it\r\nexport class CalendarViewComponent {\r\n\r\n @Input()\r\n public set view(value: CalendarView) {\r\n this._view = value;\r\n this._selectDays();\r\n }\r\n\r\n public get view(): CalendarView {\r\n return this._view;\r\n }\r\n\r\n @Input()\r\n public set selectedDate(value: Date) {\r\n this._selectedDate = value;\r\n this._selectedDate.setHours(0, 0, 0, 0);\r\n this._prepareWeeks();\r\n }\r\n\r\n public get selectedDate(): Date {\r\n return this._selectedDate;\r\n }\r\n\r\n @Output()\r\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n public trackByStamp: Function = (index: number, stamp: DateStamp): number => {\r\n return stamp && stamp.timestamp || index;\r\n }\r\n\r\n public trackByWeek: Function = (index: number, week: DateStamp[]): number => {\r\n return week && week[0].week || index;\r\n }\r\n\r\n public weekDayLabel: string[] = [];\r\n\r\n public weeks: DateStamp[][] = [];\r\n\r\n private _selectedDate: Date = new Date();\r\n\r\n private _view: CalendarView = CalendarView.WeekView;\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode,\r\n ) {\r\n this.selectedDate.setHours(0, 0, 0, 0);\r\n this._setLabels();\r\n }\r\n\r\n public onDateClick(date: DateStamp): void {\r\n this.selectedDate = new Date(date.timestamp);\r\n this.selectedDateChange.emit(this.selectedDate);\r\n this._selectDays();\r\n }\r\n\r\n private _setLabels(): void {\r\n const datePipe: DatePipe = new DatePipe(this._locale);\r\n\r\n const currentDay: number = this.selectedDate.getDay();\r\n const startWeekDate: Date = new Date(this.selectedDate.getTime());\r\n startWeekDate.setDate(startWeekDate.getDate() - currentDay - 1);\r\n\r\n this.weekDayLabel = new ArrayNumberPipe().transform(7).map(() => {\r\n startWeekDate.setDate(startWeekDate.getDate() + 1);\r\n return datePipe.transform(startWeekDate, \"E\");\r\n });\r\n this.weekDayLabel.push(this.weekDayLabel.shift());\r\n }\r\n\r\n private _prepareWeeks(): void {\r\n this.weeks.length = 0;\r\n\r\n const date: Date = new Date(this.selectedDate.getTime());\r\n date.setHours(0, 0, 0, 0);\r\n\r\n // go to last day of month\r\n date.setMonth(date.getMonth() + 1);\r\n date.setDate(0);\r\n const monthEndDay: number = date.getDay();\r\n const monthEndDate: number = date.getDate();\r\n\r\n // days after end of month\r\n const daysAfter: number = !monthEndDay ? 0 : 7 - monthEndDay;\r\n\r\n // go to first day of month\r\n date.setDate(1);\r\n const monthBeginDay: number = date.getDay();\r\n\r\n // days before start of month\r\n const daysBefore: number = !monthBeginDay ? 6 : monthBeginDay - 1;\r\n\r\n // go to start of calendar view\r\n date.setDate(-daysBefore + 1);\r\n\r\n // amount of weeks to display\r\n const weekCount: number = Math.ceil((daysBefore + daysAfter + monthEndDate) / 7);\r\n const weekStart: number = DateUtils.GetWeekNumber(date);\r\n const weekEnd: number = weekStart + weekCount - 1;\r\n\r\n // iterate over week count\r\n for (let i: number = weekStart; i <= weekEnd; i++) {\r\n let week: number = i;\r\n\r\n // only recalculate week when it's necessary\r\n if (weekStart > 50) {\r\n week = DateUtils.GetWeekNumber(date);\r\n }\r\n const days: DateStamp[] = [];\r\n\r\n // iterate over 7 days\r\n for (let ii: number = 1; ii <= 7; ii++) {\r\n // check if we are in the current month\r\n let inMonth: boolean = true;\r\n if (i === weekStart) {\r\n inMonth = ii > daysBefore;\r\n } else if (i === weekEnd) {\r\n inMonth = ii <= 7 - daysAfter;\r\n }\r\n\r\n const timestamp: number = date.getTime();\r\n // add dateStamp to date array\r\n days.push({\r\n week: week,\r\n inMonth: inMonth,\r\n day: date.getDate(),\r\n timestamp: timestamp,\r\n selected: this.selectedDate.getTime() === timestamp\r\n });\r\n // go one day further\r\n date.setDate(date.getDate() + 1);\r\n }\r\n this.weeks.push(days);\r\n }\r\n this._selectDays();\r\n }\r\n\r\n private _selectDays(): void {\r\n this._resetSelection();\r\n if (!this.selectedDate) {\r\n return;\r\n }\r\n const weekNumber: number = DateUtils.GetWeekNumber(this.selectedDate);\r\n const len: number = this.weeks.length;\r\n for (let i: number = 0; i < len; i++) {\r\n const leni: number = this.weeks[i].length;\r\n for (let ii: number = 0; ii < leni; ii++) {\r\n if (this.weeks[i][ii].inMonth && this.view === CalendarView.MonthView) {\r\n this.weeks[i][ii].selected = true;\r\n } else if (this.weeks[i][ii].week === weekNumber && this.view === CalendarView.WeekView) {\r\n this.weeks[i][ii].selected = true;\r\n } else if (this.weeks[i][ii].timestamp === this.selectedDate.getTime() && this.view === CalendarView.WeekSelectView) {\r\n this.weeks[i][ii].selected = true;\r\n } else if (this.weeks[i][ii].timestamp === this.selectedDate.getTime() && this.view === CalendarView.DayView) {\r\n this.weeks[i][ii].selected = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _resetSelection(): void {\r\n const len: number = this.weeks.length;\r\n for (let i: number = 0; i < len; i++) {\r\n const leni: number = this.weeks[i].length;\r\n for (let ii: number = 0; ii < leni; ii++) {\r\n this.weeks[i][ii].selected = false;\r\n }\r\n }\r\n }\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\n\r\nexport class Weekday {\r\n public inView: boolean = true;\r\n public weekdayDay: number;\r\n public weekdayMonthShort: string;\r\n public weekdayMonthLong: string;\r\n public weekdayYear: number;\r\n public date: Date;\r\n public weekdayShort: string;\r\n public weekdayLong: string;\r\n public description: string;\r\n public newMonth: boolean = false;\r\n public weekdaySelected: boolean = false;\r\n public datesByTheHour: Date[] = [];\r\n public events: AgendaEvent[] = [];\r\n}\r\n","import {Weekday} from \"./weekday.model\";\r\n\r\nexport class Week {\r\n public weekDays: Weekday[] = [];\r\n}\r\n","import {DateUtils} from \"./date-utils\";\r\nimport {Weekday} from \"../model/weekday.model\";\r\nimport {Inject, LOCALE_ID} from \"@angular/core\";\r\nimport {LanguageCode} from \"../enum/language-code.enum\";\r\nimport {Week} from \"../model/week.model\";\r\n\r\nexport class CalendarUtils {\r\n public static Locale: LanguageCode = undefined;\r\n\r\n public static Now: Date = new Date();\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode\r\n ) {\r\n CalendarUtils.Locale = _locale;\r\n }\r\n\r\n // public static GetCurrentYear(): number {\r\n // return this.Now.getFullYear();\r\n // }\r\n //\r\n // public static GetCurrentMonth(): number {\r\n // return this.Now.getUTCMonth() + 1;\r\n // }\r\n\r\n public static GetDayHours(day: Date): Date[] {\r\n const datesByTheHour: Date[] = [];\r\n if (day) {\r\n let newDate: Date = new Date(day);\r\n newDate.setHours(0, 0, 0, 0);\r\n datesByTheHour.push(newDate);\r\n for (let i: number = 0; i < 23; i++) {\r\n newDate = new Date(newDate);\r\n newDate.setHours(newDate.getHours() + 1);\r\n datesByTheHour.push(newDate);\r\n }\r\n }\r\n return datesByTheHour;\r\n }\r\n\r\n public static GetDaysOfWeek(date: Date): Week {\r\n let day: Date = DateUtils.GetFirstDayOfWeek(date);\r\n const daysOfWeek: Weekday[] = [];\r\n let options: any;\r\n let month: number;\r\n for (let i: number = 0; i < 7; i++) {\r\n const dayPerWeek: Weekday = new Weekday();\r\n const dayHours: Date[] = CalendarUtils.GetDayHours(day);\r\n dayPerWeek.newMonth = day.getMonth() !== month;\r\n dayPerWeek.weekdaySelected = day.getDay() === date.getDay();\r\n dayPerWeek.weekdayDay = day.getDate();\r\n options = { weekday: \"short\" };\r\n dayPerWeek.weekdayShort = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n options = { weekday: \"long\" };\r\n dayPerWeek.weekdayLong = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n\r\n options = { month: \"short\" };\r\n dayPerWeek.weekdayMonthShort = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n options = { month: \"long\" };\r\n dayPerWeek.weekdayMonthLong = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n dayPerWeek.weekdayYear = day.getFullYear();\r\n\r\n dayPerWeek.date = new Date(day);\r\n dayPerWeek.datesByTheHour = dayHours;\r\n daysOfWeek.push(dayPerWeek);\r\n month = day.getMonth();\r\n day = new Date(day);\r\n day.setDate(day.getDate() + 1);\r\n }\r\n const week: Week = new Week();\r\n week.weekDays = daysOfWeek;\r\n return week;\r\n }\r\n\r\n}\r\n","import {TimeWindow} from \"./time-window.bo\";\r\n\r\nexport class AgendaEvent {\r\n public id: number;\r\n public description: string;\r\n public checked: boolean = false;\r\n public showCheckbox: boolean = false;\r\n public draggable: boolean = false;\r\n public from: Date;\r\n public to: Date;\r\n public date: Date;\r\n public dayPartNo: number;\r\n public fromString: string;\r\n public toString: string;\r\n public fromToRepresentation: string;\r\n public timeWindow: TimeWindow;\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\n\r\nexport class AgendaEventPerDay {\r\n public date: Date;\r\n public events: AgendaEvent[] = [];\r\n}\r\n","import {Week} from \"./week.model\";\r\n\r\nexport class Month {\r\n public weeks: Week[] = [];\r\n\r\n public get firstWeek(): Week {\r\n if (this.weeks && this.weeks.length > 0) {\r\n return this.weeks[0];\r\n }\r\n }\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\n\r\nexport class Day {\r\n public day: number;\r\n public date: Date;\r\n public description: string;\r\n public datesByTheHour: Date[] = [];\r\n public events: AgendaEvent[] = [];\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\nimport {AgendaEventPerDay} from \"./agenda-event-per-day.model\";\r\nimport {Month} from \"./month.model\";\r\nimport {Week} from \"./week.model\";\r\nimport {Day} from \"./day.model\";\r\n\r\nexport const NULL_AGENDA_EVENT: AgendaEvent = new AgendaEvent();\r\nexport const NULL_AGENDA_EVENT_PER_DAY: AgendaEventPerDay = new AgendaEventPerDay();\r\nexport const NULL_MONTH: Month = new Month();\r\nexport const NULL_WEEK: Week = new Week();\r\nexport const NULL_DAY: Day = new Day();\r\n","import {\r\n AfterContentChecked,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n LOCALE_ID,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2, ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\r\nimport {Weekday} from \"../../../../model/weekday.model\";\r\nimport {Week} from \"../../../../model/week.model\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\nimport {NULL_DAY} from \"../../../../model/agenda-null-objects\";\r\nimport {Day} from \"../../../../model/day.model\"\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"agenda-header\",\r\n template: `\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.DayView\">\r\n <div class=\"hour-label-placeholder\">\r\n <view-select [selectedView]=\"view\" (selectedViewChange)=\"changeTheView($event)\"></view-select>\r\n </div>\r\n <div class=\"week-day-label\">\r\n <co-icon class=\"pointer-hover no-user-select sub-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div class=\"day-description\" [textContent]=\"day.description\"></div>\r\n <co-icon class=\"pointer-hover no-user-select add-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.WeekView\">\r\n <div class=\"hour-label-placeholder\">\r\n <view-select [selectedView]=\"view\" (selectedViewChange)=\"changeTheView($event)\"></view-select>\r\n </div>\r\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\" [class.selected]=\"weekDay.weekdaySelected\" (click)=\"setUnit(weekDay)\">\r\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div *ngIf=\"weekDay.newMonth\" [textContent]=\"weekDay.weekdayMonthLong + ' ' + weekDay.weekdayYear\" class=\"month-description\"></div>\r\n <div class=\"weekday-value\" [textContent]=\"weekDay.weekdayDay\"></div>\r\n <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayShort\"></div>\r\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.WeekSelectView\">\r\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\"\r\n [class.selected]=\"weekDay.weekdaySelected\"\r\n [class.selectable]=\"weekDay.events && weekDay.events.length > 0\"\r\n (click)=\"setUnit(weekDay)\">\r\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayShort\"></div>\r\n <div class=\"weekday-value\" [textContent]=\"weekDay.weekdayDay + ' ' + weekDay.weekdayMonthShort\"></div>\r\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.MonthView\">\r\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\">\r\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayShort\"></div>\r\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHeaderComponent implements OnInit, OnDestroy, AfterContentChecked {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly viewTypes: typeof CalendarView = CalendarView;\r\n\r\n private readonly scrollbarWidth: number = 15;\r\n\r\n @Input()\r\n public set selectedDate(value: Date) {\r\n this._selectedDate = new Date(value);\r\n this._prepareHeaderData();\r\n }\r\n\r\n public get selectedDate(): Date {\r\n return this._selectedDate;\r\n }\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekSelectView;\r\n\r\n @Input()\r\n public set firstAvailableDate(value: Date) {\r\n if (value) {\r\n this._firstAvailableDate = new Date(value);\r\n this._prepareHeaderData();\r\n }\r\n }\r\n\r\n public get firstAvailableDate(): Date {\r\n return this._firstAvailableDate;\r\n }\r\n\r\n @Input()\r\n public set eventsPerDay(value: AgendaEventPerDay[]) {\r\n this._eventsPerDay = value;\r\n this._prepareHeaderData();\r\n }\r\n\r\n @Output()\r\n public viewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\r\n\r\n @Output()\r\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public rangeChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n public weekDays: Weekday[] = [];\r\n public day: Day = NULL_DAY;\r\n public showBackButton: boolean = true;\r\n\r\n private _selectedDate: Date;\r\n private _firstAvailableDate: Date;\r\n private _eventsPerDay: AgendaEventPerDay[] = [];\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode,\r\n private _elementRef: ElementRef,\r\n private _renderer: Renderer2,\r\n private _ngZone: NgZone,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n window.removeEventListener(\"resize\", this._onResize);\r\n this._elementRef = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n window.addEventListener(\"resize\", this._onResize);\r\n });\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this._resizeHost();\r\n }\r\n\r\n public subUnit(): void {\r\n if (this.selectedDate) {\r\n const newDate: Date = new Date(this.selectedDate);\r\n switch (this.view) {\r\n case CalendarView.DayView:\r\n newDate.setDate(this.selectedDate.getDate() - 1);\r\n break;\r\n case CalendarView.WeekView:\r\n newDate.setDate(this.selectedDate.getDate() - 7);\r\n break;\r\n case CalendarView.WeekSelectView:\r\n newDate.setDate(this.selectedDate.getDate() - 7);\r\n break;\r\n case CalendarView.MonthView:\r\n newDate.setMonth(this.selectedDate.getMonth() - 1);\r\n break;\r\n }\r\n this.selectedDate = newDate;\r\n this.rangeChange.emit(this.selectedDate);\r\n }\r\n }\r\n\r\n public addUnit(): void {\r\n if (this.selectedDate) {\r\n const newDate: Date = new Date(this.selectedDate);\r\n switch (this.view) {\r\n case CalendarView.DayView:\r\n newDate.setDate(this.selectedDate.getDate() + 1);\r\n break;\r\n case CalendarView.WeekView:\r\n newDate.setDate(this.selectedDate.getDate() + 7);\r\n break;\r\n case CalendarView.WeekSelectView:\r\n newDate.setDate(this.selectedDate.getDate() + 7);\r\n break;\r\n case CalendarView.MonthView:\r\n newDate.setMonth(this.selectedDate.getMonth() + 1);\r\n break;\r\n }\r\n this.selectedDate = newDate;\r\n this.rangeChange.emit(this.selectedDate);\r\n }\r\n }\r\n\r\n public setUnit(weekDay: Weekday): void {\r\n this.selectedDate = weekDay.date;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n\r\n public changeTheView(view: CalendarView): void {\r\n this.view = view;\r\n this.viewChange.emit(view);\r\n this._prepareHeaderData();\r\n }\r\n\r\n private _onResize: EventListener = async (): Promise<void> => {\r\n this._resizeHost();\r\n }\r\n\r\n /**\r\n * Need to resize the host component to size it's fixed positioned child through css\r\n */\r\n private _resizeHost(): void {\r\n if (this._elementRef) {\r\n this._renderer.setStyle(\r\n this._elementRef.nativeElement, \"width\", this._elementRef.nativeElement.parentElement.clientWidth - this.scrollbarWidth + \"px\");\r\n }\r\n }\r\n\r\n private _prepareHeaderData(): void {\r\n if (this.selectedDate) {\r\n switch (this.view) {\r\n case CalendarView.DayView:\r\n const day: Day = new Day();\r\n day.date = new Date(this.selectedDate);\r\n const options: any = { year: \"numeric\", month: \"long\", day: \"numeric\" };\r\n day.description = this.selectedDate.toLocaleDateString(this._locale, options);\r\n this.day = day;\r\n break;\r\n case CalendarView.WeekView:\r\n const weekView: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n this.weekDays = weekView.weekDays;\r\n if (this.firstAvailableDate) {\r\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\r\n }\r\n break;\r\n case CalendarView.WeekSelectView:\r\n const weekSelectView: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n this.weekDays = weekSelectView.weekDays;\r\n this.weekDays.forEach((wd: Weekday) => {\r\n const evPerDay: AgendaEventPerDay = this._eventsPerDay && this._eventsPerDay.length > 0 ? this._eventsPerDay.find(e => DateUtils.DatesEqual(e.date, wd.date)) : null;\r\n if (evPerDay) {\r\n wd.events = evPerDay.events;\r\n } else {\r\n wd.weekdaySelected = false;\r\n }\r\n });\r\n if (this.firstAvailableDate) {\r\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\r\n }\r\n break;\r\n case CalendarView.MonthView:\r\n const weekOfMonth: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n this.weekDays = weekOfMonth.weekDays;\r\n if (this.firstAvailableDate) {\r\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\r\n\r\n@Component({\r\n selector: \"agenda-view\",\r\n template: `\r\n <div class=\"view-wrapper mini-scrollbar\" [ngSwitch]=\"view\">\r\n <agenda-day-view *ngSwitchCase=\"viewTypes.DayView\"\r\n [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-day-view>\r\n <agenda-week-view *ngSwitchCase=\"viewTypes.WeekView\"\r\n [view]=\"view\" [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-week-view>\r\n <agenda-week-select-view *ngSwitchCase=\"viewTypes.WeekSelectView\"\r\n [view]=\"view\" [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-week-select-view>\r\n <agenda-month-view *ngSwitchCase=\"viewTypes.MonthView\"\r\n [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-month-view>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaViewComponent {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n @Input()\r\n public selectedDate: Date;\r\n\r\n @Input()\r\n public eventsPerDay: AgendaEventPerDay[] = [];\r\n\r\n @Output()\r\n public readonly eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n public readonly viewTypes: typeof CalendarView = CalendarView;\r\n\r\n}\r\n","import {Directive, EventEmitter, Inject, Input, LOCALE_ID, Output} from \"@angular/core\";\r\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Directive()\r\nexport abstract class AgendaBaseViewComponent {\r\n\r\n @Input()\r\n public set selectedDate(value: Date) {\r\n this._selectedDate = value;\r\n this._dateIsSet();\r\n }\r\n\r\n @Input()\r\n public set eventsPerDay(value: AgendaEventPerDay[]) {\r\n this._eventsPerDay = value;\r\n this._eventsAreSet();\r\n }\r\n\r\n @Output()\r\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n public get selectedDate(): Date {\r\n return this._selectedDate;\r\n }\r\n\r\n public get eventsPerDate(): AgendaEventPerDay[] {\r\n return this._eventsPerDay;\r\n }\r\n\r\n private _selectedDate: Date;\r\n private _eventsPerDay: AgendaEventPerDay[] = [];\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) protected readonly locale: LanguageCode,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n //overridable by descendents\r\n protected prepareViewData(): void {\r\n }\r\n\r\n protected getEventsFromDate(date: Date): AgendaEvent[] {\r\n let events: AgendaEvent[] = [];\r\n if (this.eventsPerDate) {\r\n const len: number = this.eventsPerDate.length;\r\n for (let i: number = 0; i < len; i++) {\r\n if (DateUtils.DatesEqual(date, this.eventsPerDate[i].date)) {\r\n events = this.eventsPerDate[i].events;\r\n break;\r\n }\r\n }\r\n }\r\n return events;\r\n }\r\n\r\n private _dateIsSet(): void {\r\n this.prepareViewData();\r\n }\r\n\r\n private _eventsAreSet(): void {\r\n this.prepareViewData();\r\n }\r\n}\r\n","import {Component, ViewEncapsulation} from \"@angular/core\";\r\nimport { AgendaBaseViewComponent } from \"./agenda-base-view.component\";\r\nimport {NULL_MONTH} from \"../../../../model/agenda-null-objects\";\r\nimport {Month} from \"../../../../model/month.model\";\r\nimport {Weekday} from \"../../../../model/weekday.model\";\r\nimport {Week} from \"../../../../model/week.model\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-month-view\",\r\n template: `\r\n <div class=\"view-wrapper\">\r\n <div class=\"hour-view-labels-wrapper\"></div>\r\n <div class=\"weeks\">\r\n <div class=\"week\" *ngFor=\"let week of weeks\" fxLayout=\"row\">\r\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\" [class.not-in-month]=\"!weekDay.inView\">\r\n <div class=\"day\" [textContent]=\"weekDay.weekdayDay\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaMonthViewComponent extends AgendaBaseViewComponent {\r\n\r\n public month: Month = NULL_MONTH;\r\n\r\n public firstWeekDays: Weekday[] = [];\r\n\r\n public weeks: Week[] = [];\r\n\r\n protected prepareViewData(): void {\r\n const month: Month = new Month();\r\n if (this.selectedDate) {\r\n const day: Date = DateUtils.GetFirstDayOfMonth(this.selectedDate);\r\n const endOfMonth: Date = DateUtils.GetLastDayOfMonth(this.selectedDate);\r\n let oneMoreIteration: boolean = false;\r\n let continueLoop: boolean = true;\r\n\r\n while (continueLoop) {\r\n if (oneMoreIteration) {\r\n continueLoop = false;\r\n }\r\n const week: Week = CalendarUtils.GetDaysOfWeek(day);\r\n const len: number = week.weekDays.length;\r\n for (let i: number = 0; i < len; i++) {\r\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\r\n week.weekDays[i].inView = week.weekDays[i].date.getMonth() === this.selectedDate.getMonth();\r\n }\r\n month.weeks.push(week);\r\n day.setDate(day.getDate() + 7);\r\n if (day.getTime() >= endOfMonth.getTime()) {\r\n oneMoreIteration = true;\r\n }\r\n }\r\n this.month = month;\r\n this.firstWeekDays = this.month.firstWeek.weekDays;\r\n this.weeks = month.weeks;\r\n }\r\n }\r\n\r\n}\r\n","import {Component, ViewEncapsulation} from \"@angular/core\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-day-view\",\r\n template: `\r\n <div class=\"view-wrapper\">\r\n <agenda-hour-view-labels [date]=\"selectedDate\"></agenda-hour-view-labels>\r\n <agenda-hour-view [date]=\"selectedDate\">\r\n <agenda-events\r\n [halfHourHeight]=\"40\"\r\n [events]=\"events\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n ></agenda-events>\r\n </agenda-hour-view>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaDayViewComponent extends AgendaBaseViewComponent {\r\n\r\n public events: AgendaEvent[] = [];\r\n\r\n protected prepareViewData(): void {\r\n if (this.eventsPerDate && this.eventsPerDate.length > 0) {\r\n this.events = this.eventsPerDate[0].events;\r\n }\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {NULL_WEEK} from \"../../../../model/agenda-null-objects\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {Week} from \"../../../../model/week.model\";\r\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-week-view\",\r\n template: `\r\n <div class=\"view-wrapper\">\r\n <agenda-hour-view-labels [date]=\"selectedDate\"></agenda-hour-view-labels>\r\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\">\r\n <agenda-hour-view [date]=\"weekDay.date\">\r\n <agenda-events\r\n [halfHourHeight]=\"40\"\r\n [events]=\"weekDay.events\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n [view]=\"view\"\r\n ></agenda-events>\r\n </agenda-hour-view>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaWeekViewComponent extends AgendaBaseViewComponent /*implements OnInit, OnDestroy*/ {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n public week: Week = NULL_WEEK;\r\n\r\n protected prepareViewData(): void {\r\n if (this.selectedDate) {\r\n // get the events\r\n const week: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n const len: number = week.weekDays.length;\r\n for (let i: number = 0; i < len; i++) {\r\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\r\n }\r\n this.week = week;\r\n }\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\r\nimport {NULL_WEEK} from \"../../../../model/agenda-null-objects\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {Week} from \"../../../../model/week.model\";\r\n\r\n@Component({\r\n selector: \"agenda-week-select-view\",\r\n template: `\r\n <div class=\"view-wrapper week-select-view\">\r\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\">\r\n <div class=\"week-select-container\" *ngIf=\"weekDay.weekdaySelected\">\r\n <div class=\"week-select-left\">\r\n <h3 [textContent]=\"'AGENDA_CHOOSE_DELIVERY_PERIOD'\"></h3>\r\n <div class=\"week-select-list mini-scrollbar\">\r\n <agenda-events\r\n [halfHourHeight]=\"40\"\r\n [events]=\"weekDay.events\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n [view]=\"view\"\r\n ></agenda-events>\r\n <div class=\"no-events-banner\" *ngIf=\"weekDay.events.length === 0\">\r\n <p [textContent]=\"'AGENDA_NO_PERIODS_AVAILABLE'\"></p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"week-select-right\">\r\n <h3 [textContent]=\"'AGENDA_FOR_EVERY_PERIOD'\"></h3>\r\n <ul>\r\n <li><co-icon [iconData]=\"iconCacheService.getIcon(icons.CheckRound)\" class=\"small action-color moment-icon\"></co-icon><span [textContent]=\"'AGENDA_FOR_EVERY_PERIOD_REASON1'\"></span></li>\r\n <li><co-icon [iconData]=\"iconCacheService.getIcon(icons.CheckRound)\" class=\"small action-color moment-icon\"></co-icon><span [textContent]=\"'AGENDA_FOR_EVERY_PERIOD_REASON2'\"></span></li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaWeekSelectViewComponent extends AgendaBaseViewComponent {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekSelectView;\r\n\r\n public week: Week = NULL_WEEK;\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n protected prepareViewData(): void {\r\n if (this.selectedDate) {\r\n // get the events\r\n const week: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n const len: number = week.weekDays.length;\r\n for (let i: number = 0; i < len; i++) {\r\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\r\n }\r\n this.week = week;\r\n }\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"agenda-hour-view\",\r\n template: `\r\n <div class=\"row-per-hour\" *ngFor=\"let dateByTheHour of datesByTheHour\">\r\n <div fxLayout=\"row\">\r\n <agenda-hour-cell [date]=\"dateByTheHour\"></agenda-hour-cell>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHourViewComponent {\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = new Date(value);\r\n this._prepareViewData();\r\n }\r\n\r\n public readonly datesByTheHour: Date[] = [];\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n private _date: Date = new Date();\r\n\r\n // fixme remove ctrl + c, ctrl + v code duplication with AgendaHourViewLabelsComponent._prepareViewData()\r\n private _prepareViewData(): void {\r\n this.datesByTheHour.length = 0;\r\n if (this.date) {\r\n let newDate: Date = new Date(this.date);\r\n newDate.setHours(0, 0, 0, 0);\r\n this.datesByTheHour.push(newDate);\r\n for (let i: number = 0; i < 23; i++) {\r\n newDate = new Date(newDate);\r\n newDate.setHours(newDate.getHours() + 1);\r\n this.datesByTheHour.push(newDate);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"agenda-hour-cell\",\r\n template: `\r\n <div class=\"row-per-half-hour\">\r\n <agenda-half-hour-cell [date]=\"date\" [showLabel]=\"onlyLabels && !noLabels\"></agenda-half-hour-cell>\r\n <agenda-half-hour-cell [date]=\"datePlushalfHour\"></agenda-half-hour-cell>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHourCellComponent {\r\n @Input()\r\n public onlyLabels: boolean = false;\r\n\r\n @Input()\r\n public noLabels: boolean = false;\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = value;\r\n this._setNextHalfHour();\r\n }\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n public datePlushalfHour: Date;\r\n\r\n private _date: Date;\r\n\r\n private _setNextHalfHour(): void {\r\n this.datePlushalfHour = new Date(this._date);\r\n this.datePlushalfHour.setMinutes(this.datePlushalfHour.getMinutes() + 30);\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"agenda-hour-view-labels\",\r\n template: `\r\n <div class=\"row-per-hour\" *ngFor=\"let dateByTheHour of datesByTheHour\">\r\n <div>\r\n <agenda-hour-cell [date]=\"dateByTheHour\" onlyLabels [noLabels]=\"noLabels\"></agenda-hour-cell>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHourViewLabelsComponent {\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = new Date(value);\r\n this._date.setDate(1);\r\n this._date.setMonth(1);\r\n this._date.setFullYear(1);\r\n this._prepareViewData();\r\n }\r\n\r\n @Input()\r\n public noLabels: boolean = false;\r\n\r\n public readonly datesByTheHour: Date[] = [];\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n private _date: Date = new Date();\r\n\r\n // fixme remove ctrl + c, ctrl + v code duplication with AgendaHourViewComponent._prepareViewData()\r\n private _prepareViewData(): void {\r\n this.datesByTheHour.length = 0;\r\n if (this.date) {\r\n let newDate: Date = new Date(this.date);\r\n newDate.setHours(0, 0, 0, 0);\r\n this.datesByTheHour.push(newDate);\r\n for (let i: number = 0; i < 23; i++) {\r\n newDate = new Date(newDate);\r\n newDate.setHours(newDate.getHours() + 1);\r\n this.datesByTheHour.push(newDate);\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, Input, OnDestroy, Renderer2, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-half-hour-cell\",\r\n template: `\r\n <div id=\"{{id}}\" class=\"cell-wrapper\">\r\n <div *ngIf=\"showLabel\" [class.show]=\"showLabel\" class=\"half-hour-label\">\r\n <div [textContent]=\"date | date:'HH:mm'\"></div>\r\n </div>\r\n <div *ngIf=\"showCurrentTime\" id=\"currentTime\" class=\"current-time\" #currentTime></div>\r\n <div class=\"content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHalfHourCellComponent implements OnDestroy {\r\n\r\n @ViewChild(\"currentTime\")\r\n public currentTimeElement: ElementRef;\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = value;\r\n this._checkDate();\r\n this._checkWorkingDayStart();\r\n }\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = false;\r\n\r\n public showCurrentTime: boolean = false;\r\n\r\n public currentTimeTop: number = 0;\r\n\r\n public id: string;\r\n\r\n private _date: Date;\r\n private _id: string;\r\n\r\n constructor(\r\n private _renderer: Renderer2\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.currentTimeElement = undefined;\r\n }\r\n\r\n private _checkDate(): void {\r\n const checkDate: Date = new Date();\r\n const minutesFrom: number = this.date.getMinutes();\r\n const minutesTo: number = minutesFrom + 30;\r\n\r\n if (DateUtils.DatesEqual(this.date, checkDate)) {\r\n if (checkDate.getHours() === this.date.getHours() && (checkDate.getMinutes() > minutesFrom && checkDate.getMinutes() < minutesTo)) {\r\n this.currentTimeTop = (Math.max(checkDate.getMinutes(), .01) / 60) * 100;\r\n this._positionCurrentTime();\r\n this.showCurrentTime = true;\r\n }\r\n }\r\n }\r\n\r\n private _checkWorkingDayStart(): void {\r\n this.id = (this._date.getHours() === 8 && this._date.getMinutes() === 30) ? \"dayStart\" : \"\";\r\n }\r\n\r\n private _positionCurrentTime(): void {\r\n if (this.currentTimeElement) {\r\n this._renderer.setStyle(this.currentTimeElement.nativeElement, \"top\", this.currentTimeTop + \"%\");\r\n this.currentTimeElement.nativeElement.scrollIntoView();\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\n\r\n@Component({\r\n selector: \"agenda-events\",\r\n template: `\r\n <ng-container *ngIf=\"view !== viewTypes.WeekSelectView\">\r\n <agenda-event\r\n *ngFor=\"let event of events\"\r\n [halfHourHeight]=\"halfHourHeight\"\r\n [event]=\"event\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n ></agenda-event>\r\n </ng-container>\r\n <ng-container *ngIf=\"view === viewTypes.WeekSelectView\">\r\n <agenda-select-event\r\n *ngFor=\"let event of events\"\r\n [event]=\"event\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n ></agenda-select-event>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaEventsComponent {\r\n\r\n public readonly viewTypes: typeof CalendarView = CalendarView;\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n @Input()\r\n public type: string = \"\";\r\n\r\n @Input()\r\n public events: AgendaEvent[] = [];\r\n\r\n @Input()\r\n public halfHourHeight: number;\r\n\r\n @Output()\r\n public readonly eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {NULL_AGENDA_EVENT} from \"../../../../model/agenda-null-objects\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-event\",\r\n template: `\r\n <div class=\"agenda-event-wrapper\" [class.checkable]=\"event.showCheckbox\" [class.selected]=\"event.checked\" (click)=\"checkEvent($event)\">\r\n <div [textContent]=\"event.fromToRepresentation\" class=\"event-description\"></div>\r\n <co-icon *ngIf=\"event.showCheckbox\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" [class.checked]=\"event.checked\"></co-icon>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaEventComponent implements OnInit, OnDestroy {\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public event: AgendaEvent = NULL_AGENDA_EVENT;\r\n\r\n @Input()\r\n public halfHourHeight: number;\r\n\r\n @Output()\r\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private _renderer: Renderer2,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._elementRef = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n const hourTo: number = this.event.from.getHours();\r\n const minutesTo: number = this.event.from.getMinutes();\r\n const multiply: number = hourTo + (minutesTo / 60);\r\n const top: number = multiply * (this.halfHourHeight * 2);\r\n this._renderer.setStyle(this._elementRef.nativeElement, \"top\", top + \"px\");\r\n\r\n const hours: number = Math.abs(this.event.to.getTime() - this.event.from.getTime()) / 3600000;\r\n const height: number = hours * (this.halfHourHeight * 2) - 1;\r\n this._renderer.setStyle(this._elementRef.nativeElement, \"height\", height + \"px\");\r\n }\r\n\r\n public checkEvent(event: MouseEvent): void {\r\n this.event.checked = !this.event.checked;\r\n this.eventChecked.emit(this.event);\r\n }\r\n\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"ucfirst\"\r\n})\r\n// Pipe capable of transforming the first character of a string-value to upper case.\r\nexport class UCfirstPipe implements PipeTransform {\r\n transform(value: string): string {\r\n if (typeof value === \"string\") {\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n return value;\r\n }\r\n}\r\n","import {ArrayNumberPipe} from \"./array-number.pipe\";\r\nimport {UCfirstPipe} from \"./ucfirst.pipe\";\r\n\r\nexport const MASTER_PIPES: any[] = [\r\n ArrayNumberPipe,\r\n UCfirstPipe\r\n]\r\n","// <b>Enum</b> Represents the different states of the three way thumb.\r\nexport enum ThumbThreeWayState {\r\n Left = 0,\r\n Middle = 1,\r\n Right = 2\r\n}\r\n\r\nexport function NextStateOfThumbThreeWay(state: ThumbThreeWayState): ThumbThreeWayState {\r\n switch (state) {\r\n case ThumbThreeWayState.Left:\r\n return ThumbThreeWayState.Middle;\r\n case ThumbThreeWayState.Middle:\r\n return ThumbThreeWayState.Right;\r\n case ThumbThreeWayState.Right:\r\n default:\r\n return ThumbThreeWayState.Left;\r\n }\r\n}\r\n","// Static utility functions holder related to Maps.\r\nexport class MapUtils {\r\n\r\n /**\r\n * Returns the first key from given map, for which the value filter holds true. Basically a reverse Map.get(key) function.\r\n * @param map\r\n * @param valueFilter For the first value that returns true for this filter functions, its key will be returned.\r\n */\r\n public static FindKeyByValue<K, V>(map: Map<K, V>, valueFilter: (value: V) => boolean): K {\r\n\r\n if (!map || !valueFilter) {\r\n return undefined;\r\n }\r\n\r\n let foundKey: K = undefined;\r\n let keyWasFound: boolean = false;\r\n map.forEach((value: V, key: K) => {\r\n if (!keyWasFound && valueFilter.call(this, value)) {\r\n foundKey = key;\r\n keyWasFound = true;\r\n }\r\n });\r\n return foundKey;\r\n }\r\n\r\n /**\r\n * Inserts given arrayEntry into given map, under given mapKey. What's special here, is that a NEW map entry is created with an array\r\n * containing the single [arrayEntry] item, if no entry yet existed.\r\n * @param map\r\n * @param mapKey\r\n * @param arrayEntry\r\n */\r\n public static InsertArrayItemIntoMap(map: Map<any, any>, mapKey: any, arrayEntry: any): void {\r\n if (!map) {\r\n return;\r\n }\r\n\r\n if (!map.has(mapKey)) {\r\n map.set(mapKey, [arrayEntry]);\r\n } else {\r\n map.get(mapKey).push(arrayEntry);\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {ThumbThreeWayState} from \"../../../../enum/thumb-three-way-state\";\r\nimport {MapUtils} from \"../../../../utils/map-utils\";\r\n\r\n@Component({\r\n selector: \"view-select\",\r\n template: `\r\n <div class=\"select-wrapper\">\r\n <div [textContent]=\"'DAY'\" class=\"label\"></div>\r\n <div [textContent]=\"'MONTH'\" class=\"label\"></div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ViewSelectComponent {\r\n\r\n private readonly _viewsToThumb: Map<CalendarView, ThumbThreeWayState> = new Map<CalendarView, ThumbThreeWayState>([\r\n [CalendarView.DayView, ThumbThreeWayState.Left],\r\n [CalendarView.WeekView, ThumbThreeWayState.Middle],\r\n [CalendarView.MonthView, ThumbThreeWayState.Right]\r\n ]);\r\n\r\n @Input()\r\n public selectedView: CalendarView = CalendarView.WeekView;\r\n\r\n @Output()\r\n public selectedViewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\r\n\r\n public get modelAsThumbState(): ThumbThreeWayState {\r\n return this._viewsToThumb.get(this.selectedView);\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n public onThumbStateChange(thumbState: ThumbThreeWayState): void {\r\n this.selectedView = MapUtils.FindKeyByValue<CalendarView, ThumbThreeWayState>(this._viewsToThumb, (value: ThumbThreeWayState) => {\r\n return (value === thumbState);\r\n });\r\n this.selectedViewChange.emit(this.selectedView);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from \"@angular/core\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {NULL_AGENDA_EVENT} from \"../../../../model/agenda-null-objects\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"agenda-select-event\",\r\n template: `\r\n <div class=\"week-select-item\" (click)=\"checkEvent($event)\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" class=\"select-icon action-color\" *ngIf=\"!event.checked\"></co-icon>\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" class=\"select-icon action-color\" *ngIf=\"event.checked\"></co-icon>\r\n <div class=\"moment-name\">\r\n <small>{{ event.date | date: 'EEEE d MMMM' | uppercase }}</small>\r\n <h2>{{ event.description }}</h2>\r\n </div>\r\n </div>\r\n `\r\n})\r\nexport class AgendaSelectEventComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public event: AgendaEvent = NULL_AGENDA_EVENT;\r\n\r\n @Output()\r\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n public checkEvent(event: MouseEvent): void {\r\n this.event.checked = !this.event.checked;\r\n this.eventChecked.emit(this.event);\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport {DatePlanningComponent} from \"./date-planning.component\";\r\nimport {ButtonModule, IconModule, InputDatePickerModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CalendarAllYearsComponent} from \"./component/calendar/calendar-all-years.component\";\r\nimport {CalendarAllMonthsComponent} from \"./component/calendar/calendar-all-months.component\";\r\nimport {CalendarHeaderComponent} from \"./component/calendar/calendar-header.component\";\r\nimport {CalendarComponent} from \"./component/calendar/calendar.component\";\r\nimport {CalendarViewComponent} from \"./component/calendar/calendar-view.component\";\r\nimport {AgendaHeaderComponent} from \"./component/agenda/agenda-header.component\";\r\nimport {AgendaViewComponent} from \"./component/agenda/agenda-view.component\";\r\nimport {AgendaMonthViewComponent} from \"./component/agenda/agenda-month-view.component\";\r\nimport {AgendaDayViewComponent} from \"./component/agenda/agenda-day-view.component\";\r\nimport {AgendaWeekViewComponent} from \"./component/agenda/agenda-week-view.component\";\r\nimport {AgendaWeekSelectViewComponent} from \"./component/agenda/agenda-week-select-view.component\";\r\nimport {AgendaHourViewComponent} from \"./component/agenda/agenda-hour-view.component\";\r\nimport {AgendaHourCellComponent} from \"./component/agenda/agenda-hour-cell.component\";\r\nimport {AgendaHourViewLabelsComponent} from \"./component/agenda/agenda-hour-view-labels.component\";\r\nimport {AgendaHalfHourCellComponent} from \"./component/agenda/agenda-half-hour-cell.component\";\r\nimport {AgendaEventsComponent} from \"./component/agenda/agenda-events.component\";\r\nimport {AgendaEventComponent} from \"./component/agenda/agenda-event.component\";\r\nimport {MASTER_PIPES} from \"../../pipe/master-pipes\";\r\nimport {ViewSelectComponent} from \"./component/agenda/view-select.component\";\r\nimport {AgendaSelectEventComponent} from \"./component/agenda/agenda-select-event.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputDatePickerModule,\r\n IconModule,\r\n ButtonModule,\r\n ],\r\n declarations: [\r\n DatePlanningComponent,\r\n CalendarAllYearsComponent,\r\n CalendarAllMonthsComponent,\r\n CalendarHeaderComponent,\r\n CalendarComponent,\r\n CalendarViewComponent,\r\n AgendaHeaderComponent,\r\n AgendaViewComponent,\r\n AgendaMonthViewComponent,\r\n AgendaDayViewComponent,\r\n AgendaWeekViewComponent,\r\n AgendaWeekSelectViewComponent,\r\n AgendaHourViewComponent,\r\n AgendaHourCellComponent,\r\n AgendaHourViewLabelsComponent,\r\n AgendaHalfHourCellComponent,\r\n AgendaEventsComponent,\r\n AgendaEventComponent,\r\n ViewSelectComponent,\r\n AgendaSelectEventComponent,\r\n MASTER_PIPES\r\n ],\r\n exports: [\r\n DatePlanningComponent\r\n ]\r\n})\r\nexport class DatePlanningModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {CdkDragDrop} from \"@angular/cdk/drag-drop\";\r\nimport {SharedService} from \"../../service/shared.service\";\r\nimport {TagTreeItem} from \"@colijnit/mainapi/build/model/tag-tree-item.bo\";\r\n\r\n@Component({\r\n selector: \"co-simple-tags\",\r\n template: `\r\n <co-dialog\r\n [headerTemplate]=\"headerTemplate\"\r\n [footerTemplate]=\"footerTemplate\"\r\n (closeClick)=\"closeClick.emit()\"\r\n >\r\n <ng-template #headerTemplate>\r\n <div class=\"header-wrapper\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon>\r\n <span class=\"co-dialog-header-title\" [textContent]=\"'Tags'\"></span>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"dialog-content-wrapper\">\r\n <div class=\"collection-navigation co-small-scrollbar\">\r\n <span class=\"title\" [textContent]=\"'Beschikbare tags'\"></span>\r\n <co-input-search\r\n [(model)]=\"searchString\"\r\n [placeholder]=\"'Search for tag name'\"\r\n (search)=\"searchCollection()\"\r\n (modelChange)=\"searchCollection()\"\r\n (rightIconClick)=\"searchCollection()\"\r\n ></co-input-search>\r\n <div class=\"breadcrumbs\">\r\n <co-icon\r\n [iconData]=\"iconCacheService.getIcon(icon.HouseBlankRegular)\"\r\n (click)=\"setRootDisplayTags()\"\r\n ></co-icon>\r\n <div class=\"crumbs\">\r\n <span class=\"spacer\" [textContent]=\"'|'\"></span>\r\n <div class=\"crumb\" *ngFor=\"let crumb of breadCrumbs; let index = index\" (click)=\"handleCrumbClicked(crumb, index)\">\r\n <span class=\"spacer\" *ngIf=\"index !== 0\" [textContent]=\"'/'\"></span>\r\n <span [textContent]=\"crumb.description\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"collection-view\"\r\n cdkDropList\r\n cdkDropListSortingDisabled\r\n #collectionList=\"cdkDropList\"\r\n [cdkDropListData]=\"displayTags\"\r\n [cdkDropListConnectedTo]=\"[linkedList]\"\r\n ><div class=\"collection-item\"\r\n *ngFor=\"let tag of displayTags\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"tag.tagType !== 'T' || linkedTags.includes(tag)\"\r\n [class.draggable]=\"tag.tagType === 'T' && !linkedTags.includes(tag)\"\r\n [class.disabled]=\"linkedTags.includes(tag)\"\r\n (click)=\"handleTagSelected(tag)\">\r\n\r\n <div class=\"collection-item\" *cdkDragPlaceholder>\r\n <co-icon *ngIf=\"tag.tagType === 'T'\" [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon>\r\n <span [textContent]=\"tag.description\"></span>\r\n </div>\r\n\r\n <div *cdkDragPreview><co-icon [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon></div>\r\n\r\n <co-icon *ngIf=\"tag.tagType === 'T'\" [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon>\r\n <span [textContent]=\"tag.description\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"linked-tags-view\">\r\n <span class=\"title\" [textContent]=\"'Gekoppelde tags'\"></span>\r\n <div class=\"view-wrapper\"\r\n cdkDropList\r\n #linkedList=\"cdkDropList\"\r\n [cdkDropListData]=\"linkedTags\"\r\n (cdkDropListDropped)=\"handleAddTag($event)\">\r\n <div class=\"tag-item\" *ngFor=\"let tag of linkedTags\" [cdkDragDisabled]=\"true\" cdkDrag [style.background-color]=\"tag.color?.replace('0x', '#')\">\r\n <div class=\"placeholderLinked\" *cdkDragPlaceholder></div>\r\n\r\n <div class=\"thumbnail-description\">\r\n <co-icon *ngIf=\"!tag.image?.thumbnailBody\" [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon>\r\n <div *ngIf=\"tag.image\" class=\"thumbnail-wrapper\">\r\n <img [src]=\"tag.image.thumbnailBodyAsDataUri\">\r\n </div>\r\n\r\n <div class=\"description-wrapper\">\r\n <span [textContent]=\"tag.parentDescription\"></span>\r\n <span class=\"description\" [textContent]=\"tag.description\"></span>\r\n </div>\r\n </div>\r\n <co-icon class=\"delete-tag\" (click)=\"deleteLinkedTag(tag)\"\r\n [iconData]=\"iconCacheService.getIcon(icon.XSolid)\"\r\n ></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\">\r\n <co-button class=\"save-button\"\r\n [iconData]=\"iconCacheService.getIcon(icon.CheckDuotone)\"\r\n (click)=\"handleSaveTags()\"\r\n ></co-button>\r\n <co-button\r\n class=\"close-button\"\r\n [iconData]=\"iconCacheService.getIcon(icon.CrossSkinny)\"\r\n (click)=\"closeClick.next()\"\r\n ></co-button>\r\n </div>\r\n </ng-template>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SimpleTagsComponent {\r\n public readonly icon: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set tags(tags: TagTreeItem[]) {\r\n this._tags = tags;\r\n this.setRootDisplayTags();\r\n }\r\n\r\n @Input()\r\n public set linkedTags(tags: TagTreeItem[]) {\r\n this._linkedTags = tags;\r\n tags.forEach((tag) => this._loadThumbnail(tag));\r\n }\r\n\r\n public get linkedTags(): TagTreeItem[] {\r\n return this._linkedTags;\r\n }\r\n\r\n @Output()\r\n public closeClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public saveClick: EventEmitter<TagTreeItem[]> = new EventEmitter<TagTreeItem[]>();\r\n\r\n public breadCrumbs: TagTreeItem[] = [];\r\n public displayTags: TagTreeItem[] = [];\r\n public searchString: string = '';\r\n\r\n private _tags: TagTreeItem[] = [];\r\n private _linkedTags: TagTreeItem[] = [];\r\n\r\n @HostBinding(\"class.co-simple-tags\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n public sharedService: SharedService,\r\n ) { }\r\n\r\n public setRootDisplayTags(): void {\r\n this.displayTags = this._tags.filter((tag: TagTreeItem) => tag.treeLevel === 0);\r\n this.breadCrumbs = [];\r\n this.searchString = '';\r\n }\r\n\r\n public handleTagSelected(selectedTag: TagTreeItem): void {\r\n if (selectedTag.tagType === 'TR' || selectedTag.tagType === 'TG') {\r\n if (selectedTag !== this.breadCrumbs[0]) {\r\n this.breadCrumbs.push(selectedTag);\r\n }\r\n this.displayTags = this._tags.filter((tag: TagTreeItem) => {\r\n return tag.parentId === selectedTag.id && tag.treeLevel === selectedTag.treeLevel + 1\r\n });\r\n }\r\n }\r\n\r\n public handleCrumbClicked(tag: TagTreeItem, index: number): void {\r\n if (tag !== this.breadCrumbs[this.breadCrumbs.length - 1]) {\r\n this.breadCrumbs.splice(index + 1);\r\n this.handleTagSelected(tag);\r\n }\r\n }\r\n\r\n public handleAddTag(event: CdkDragDrop<TagTreeItem[], any>): void {\r\n const draggedTag: TagTreeItem = this.displayTags[event.previousIndex];\r\n if (!this._linkedTags.includes(draggedTag)) {\r\n this._linkedTags.push(this.displayTags[event.previousIndex]);\r\n this._loadThumbnail(draggedTag);\r\n }\r\n }\r\n\r\n public deleteLinkedTag(tag: TagTreeItem): void {\r\n this._linkedTags.splice(this._linkedTags.indexOf(tag), 1);\r\n }\r\n\r\n public searchCollection(): void {\r\n if (!this.searchString) {\r\n this.searchString = '';\r\n this.setRootDisplayTags();\r\n return;\r\n }\r\n if (this.searchString.length < 2) {\r\n return;\r\n }\r\n if (this.searchString === '') {\r\n this.setRootDisplayTags();\r\n return;\r\n }\r\n\r\n const matchingObjects: TagTreeItem[] = [];\r\n\r\n this._tags.filter((item) => item.tagType === 'T').forEach((obj) => {\r\n Object.values(obj).forEach((value) => {\r\n if (typeof value === 'string' || typeof value === 'number') {\r\n const stringValue = String(value).toLowerCase();\r\n if (stringValue.includes(this.searchString.toLowerCase())) {\r\n matchingObjects.push(obj);\r\n }\r\n }\r\n });\r\n });\r\n\r\n this.displayTags = matchingObjects;\r\n this.breadCrumbs = [];\r\n }\r\n\r\n public handleSaveTags(): void {\r\n this.saveClick.next(this._linkedTags);\r\n this.closeClick.next();\r\n }\r\n\r\n private _loadThumbnail(tagTreeItem: TagTreeItem): void {\r\n if (tagTreeItem.image && tagTreeItem.image.documentId && !tagTreeItem.image.thumbnailBody) {\r\n this.sharedService.getDocumentContent(tagTreeItem.image.documentId, true)\r\n .then((result) => {\r\n if (result) {\r\n tagTreeItem.image.thumbnailBody = result;\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {SimpleTagsComponent} from \"./simple-tags.component\";\r\nimport {ButtonModule, CoDialogModule, IconModule, InputSearchModule} from \"@colijnit/corecomponents_v12\";\r\nimport {DragDropModule} from \"@angular/cdk/drag-drop\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n InputSearchModule,\r\n IconModule,\r\n DragDropModule,\r\n ButtonModule\r\n ],\r\n declarations: [\r\n SimpleTagsComponent\r\n ],\r\n exports: [\r\n SimpleTagsComponent\r\n ]\r\n})\r\nexport class SimpleTagsModule {\r\n}\r\n","/*\r\n * Public API Surface of sharedcomponents\r\n */\r\n\r\nexport * from './lib/components/docsign/docsign.component';\r\nexport * from './lib/components/docsign/docsign.module';\r\nexport * from './lib/components/stock/stock.component';\r\nexport * from './lib/components/stock/stock.module';\r\nexport * from './lib/components/stock/localization/translation';\r\nexport * from './lib/components/send-method-dialog/send-method-dialog.component';\r\nexport * from './lib/components/send-method-dialog/send-method-dialog.module';\r\nexport * from './lib/components/key-pad/key-pad.component';\r\nexport * from './lib/components/key-pad/key-pad.module';\r\nexport * from './lib/components/layout-switcher/layout-switcher.component';\r\nexport * from './lib/components/layout-switcher/layout-switcher.module';\r\nexport * from './lib/components/linear-gauge/co-linear-gauge.component';\r\nexport * from './lib/components/linear-gauge/co-linear-gauge.module';\r\nexport * from './lib/components/statusbar/statusbar.component';\r\nexport * from './lib/components/statusbar/statusbar.module';\r\nexport * from './lib/components/date-planning/date-planning.component';\r\nexport * from './lib/components/date-planning/date-planning.module';\r\nexport * from './lib/components/simple-tags/simple-tags.component';\r\nexport * from './lib/components/simple-tags/simple-tags.module';\r\nexport * from './lib/service/shared.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {AgendaBaseViewComponent as ɵcd} from './lib/components/date-planning/component/agenda/agenda-base-view.component';\nexport {AgendaDayViewComponent as ɵce} from './lib/components/date-planning/component/agenda/agenda-day-view.component';\nexport {AgendaEventComponent as ɵcm} from './lib/components/date-planning/component/agenda/agenda-event.component';\nexport {AgendaEventsComponent as ɵcl} from './lib/components/date-planning/component/agenda/agenda-events.component';\nexport {AgendaHalfHourCellComponent as ɵck} from './lib/components/date-planning/component/agenda/agenda-half-hour-cell.component';\nexport {AgendaHeaderComponent as ɵca} from './lib/components/date-planning/component/agenda/agenda-header.component';\nexport {AgendaHourCellComponent as ɵci} from './lib/components/date-planning/component/agenda/agenda-hour-cell.component';\nexport {AgendaHourViewLabelsComponent as ɵcj} from './lib/components/date-planning/component/agenda/agenda-hour-view-labels.component';\nexport {AgendaHourViewComponent as ɵch} from './lib/components/date-planning/component/agenda/agenda-hour-view.component';\nexport {AgendaMonthViewComponent as ɵcc} from './lib/components/date-planning/component/agenda/agenda-month-view.component';\nexport {AgendaSelectEventComponent as ɵco} from './lib/components/date-planning/component/agenda/agenda-select-event.component';\nexport {AgendaViewComponent as ɵcb} from './lib/components/date-planning/component/agenda/agenda-view.component';\nexport {AgendaWeekSelectViewComponent as ɵcg} from './lib/components/date-planning/component/agenda/agenda-week-select-view.component';\nexport {AgendaWeekViewComponent as ɵcf} from './lib/components/date-planning/component/agenda/agenda-week-view.component';\nexport {ViewSelectComponent as ɵcn} from './lib/components/date-planning/component/agenda/view-select.component';\nexport {CalendarAllMonthsComponent as ɵbv} from './lib/components/date-planning/component/calendar/calendar-all-months.component';\nexport {CalendarAllYearsComponent as ɵbu} from './lib/components/date-planning/component/calendar/calendar-all-years.component';\nexport {CalendarHeaderComponent as ɵbw} from './lib/components/date-planning/component/calendar/calendar-header.component';\nexport {CalendarViewComponent as ɵby} from './lib/components/date-planning/component/calendar/calendar-view.component';\nexport {CalendarComponent as ɵbx} from './lib/components/date-planning/component/calendar/calendar.component';\nexport {SignatureComponent as ɵa} from './lib/components/docsign/component/signature/signature.component';\nexport {SignaturesComponent as ɵb} from './lib/components/docsign/component/signatures/signatures.component';\nexport {LayoutSelectionComponent as ɵl} from './lib/components/send-method-dialog/components/layout-selection/layout-selection.component';\nexport {LayoutSelectionModule as ɵk} from './lib/components/send-method-dialog/components/layout-selection/layout-selection.module';\nexport {PrinterSelectionComponent as ɵr} from './lib/components/send-method-dialog/components/printer-selection/printer-selection.component';\nexport {PrinterSelectionModule as ɵq} from './lib/components/send-method-dialog/components/printer-selection/printer-selection.module';\nexport {SendMethodEmailComponent as ɵo} from './lib/components/send-method-dialog/components/send-method-email/send-method-email.component';\nexport {SendMethodEmailModule as ɵj} from './lib/components/send-method-dialog/components/send-method-email/send-method-email.module';\nexport {SendMethodPdfComponent as ɵu} from './lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component';\nexport {SendMethodPdfModule as ɵt} from './lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module';\nexport {SendMethodPrinterComponent as ɵs} from './lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component';\nexport {SendMethodPrinterModule as ɵp} from './lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module';\nexport {SignatureButtonComponent as ɵn} from './lib/components/send-method-dialog/components/signature-button/signature-button.component';\nexport {SignatureButtonModule as ɵm} from './lib/components/send-method-dialog/components/signature-button/signature-button.module';\nexport {SendMethodService as ɵi} from './lib/components/send-method-dialog/service/send-method.service';\nexport {StatusbarPopupComponent as ɵx} from './lib/components/statusbar/statusbar-popup.component';\nexport {StockStatusbarComponent as ɵz} from './lib/components/stock-statusbar/stock-statusbar.component';\nexport {StockStatusbarModule as ɵy} from './lib/components/stock-statusbar/stock-statusbar.module';\nexport {AllocationStockHistoryComponent as ɵbq} from './lib/components/stock/components/allocation-stock-history/allocation-stock-history.component';\nexport {OrderCommissionStockHistoryComponent as ɵbo} from './lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component';\nexport {OrderStockHistoryComponent as ɵbp} from './lib/components/stock/components/order-stock-history/order-stock-history.component';\nexport {OrderStockTabComponent as ɵbk} from './lib/components/stock/components/order-stock-tab/order-stock-tab.component';\nexport {OrderSupplyStockHistoryComponent as ɵbn} from './lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component';\nexport {OrderTabComponent as ɵbh} from './lib/components/stock/components/order-tab/order-tab.component';\nexport {StockHistoryComponent as ɵbm} from './lib/components/stock/components/stock-history/stock-history.component';\nexport {StockLocationComponent as ɵbl} from './lib/components/stock/components/stock-location/stock-location.component';\nexport {StockPrognoseComponent as ɵbr} from './lib/components/stock/components/stock-prognose/stock-prognose.component';\nexport {StockTabComponent as ɵbg} from './lib/components/stock/components/stock-tab/stock-tab.component';\nexport {StockHistoryTabsComponent as ɵbj} from './lib/components/stock/stock-history-tabs/stock-history-tabs.component';\nexport {StockInformationGridComponent as ɵbd} from './lib/components/stock/stock-information-grid/stock-information-grid.component';\nexport {StockInformationComponent as ɵbc} from './lib/components/stock/stock-information/stock-information.component';\nexport {StockTabsComponent as ɵbi} from './lib/components/stock/stock-tabs/stock-tabs.component';\nexport {StockChangeAmountComponent as ɵbf} from './lib/components/stock/stock-transfer/stock-change-amount.component';\nexport {StockTransferComponent as ɵbe} from './lib/components/stock/stock-transfer/stock-transfer.component';\nexport {TabBarComponent as ɵw} from './lib/components/tab-bar/tab-bar.component';\nexport {TabBarModule as ɵv} from './lib/components/tab-bar/tab-bar.module';\nexport {Icon as ɵbt} from './lib/enum/icon.enum';\nexport {LanguageCode as ɵbz} from './lib/enum/language-code.enum';\nexport {LocalizationModule as ɵba} from './lib/localization/localization.module';\nexport {LocalizePipe as ɵbb} from './lib/localization/localize.pipe';\nexport {LocalizeService as ɵg} from './lib/localization/localize.service';\nexport {SendMethod as ɵbs} from './lib/model/send-method';\nexport {ArrayNumberPipe as ɵcq} from './lib/pipe/array-number.pipe';\nexport {MASTER_PIPES as ɵcp} from './lib/pipe/master-pipes';\nexport {UCfirstPipe as ɵcr} from './lib/pipe/ucfirst.pipe';\nexport {DictionaryService as ɵf} from './lib/service/dictionary.service';\nexport {IconCacheService as ɵh} from './lib/service/icon-cache.service';\nexport {OptionsService as ɵe} from './lib/service/options.service';\nexport {SharedConnectorService as ɵd} from './lib/service/shared-connector.service';\nexport {StockService as ɵc} from './lib/service/stock.service';"],"names":["SendMethod","ArticleStockBo","ArticleTransactionBo","Translation","ArticleStock","ArticleTransaction","GaugeColor","Month"],"mappings":"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"}
|