{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/+app-custom/components/btn-group-filter/btn-group-filter.component.html","./src/app/+app-custom/components/dev/dev.component.html","./src/app/+app-custom/components/dialog/base-modal-dialog.component.html","./src/app/+app-custom/components/external-user-modal-form/external-user-modal-form.component.html","./src/app/+app-custom/components/report-bug-dialog/report-bug-dialog.component.html","./src/app/+app-custom/components/tile/tile.component.html","./src/app/+app-custom/components/user-search/user-search.component.html","./src/app/+app-custom/views/cash-desk-view/cash-desk-view.component.html","./src/app/+app-custom/views/cash-desk-view/plu-helper/plu-helper.component.html","./src/app/+app-custom/views/cash-history/cash-history.component.html","./src/app/+app-custom/views/cash-withdraw-insert-form/cash-withdraw-insert-form.component.html","./src/app/+app-custom/views/cashbox-detail/cashbox-detail.component.html","./src/app/+app-custom/views/category-form/category-form.component.html","./src/app/+app-custom/views/dashboard/dashboard.component.html","./src/app/+app-custom/views/item-form/item-form.component.html","./src/app/+app-custom/views/item-tab/category-view/category-view.component.html","./src/app/+app-custom/views/item-tab/item-tab.component.html","./src/app/+app-custom/views/item-tab/item-view/item-view.component.html","./src/app/+app-custom/views/user-profile-view/user-profile-view.component.html","./src/app/+app-custom/views/user-view/user-view.component.html","./src/app/+app-custom/views/workplace-selector-view/workplace-selector-view.component.html","./src/app/core-frontend-common/components/notifications/app-versions-notification/app-versions-notification.component.html","./src/app/core-frontend-common/components/notifications/notifications.component.html","./src/app/core-frontend-common/template/shared/i18n/language-selector/language-selector.component.html","./src/app/core-frontend-common/template/shared/layout/auth/auth.component.html","./src/app/core-frontend-common/template/shared/layout/dropdown-apps/dropdown-apps.component.html","./src/app/core-frontend-common/template/shared/layout/dropdown-user/dropdown-user.component.html","./src/app/core-frontend-common/template/shared/layout/fab-shortcut/fab-shortcut.component.html","./src/app/core-frontend-common/template/shared/layout/logo/logo.component.html","./src/app/core-frontend-common/template/shared/layout/main-basic/main-basic.component.html","./src/app/core-frontend-common/template/shared/layout/main/main.component.html","./src/app/core-frontend-common/template/shared/layout/page-breadcrumb/page-breadcrumb.component.html","./src/app/core-frontend-common/template/shared/layout/page-footer/page-footer.component.html","./src/app/core-frontend-common/template/shared/layout/page-header/page-header.component.html","./src/app/core-frontend-common/template/shared/layout/page-heading/page-heading.component.html","./src/app/core-frontend-common/template/shared/layout/settings-modal/settings-modal.component.html","./src/app/core-frontend-common/template/shared/layout/settings-shortcut/settings-shortcut.component.html","./src/app/core-frontend-common/template/shared/layout/settings/settings.component.html","./src/app/core-frontend-common/template/shared/layout/shortcut-modal/shortcut-modal.component.html","./src/app/core-frontend-common/template/shared/layout/sidebar/sidebar.component.html","./src/app/core-frontend-common/template/shared/navigation/nav-filter-msg/nav-filter-msg.component.html","./src/app/core-frontend-common/template/shared/navigation/nav-filter/nav-filter.component.html","./src/app/core-frontend-common/template/shared/navigation/nav-footer/nav-footer.component.html","./src/app/core-frontend-common/template/shared/navigation/nav-info-card/nav-info-card.component.html","./src/app/core-frontend-common/template/shared/navigation/nav-item/nav-item.component.html","./src/app/core-frontend-common/template/shared/navigation/nav/nav.component.html","./src/app/core-frontend-common/template/shared/panels/panel/panel.component.html","./node_modules/tslib/tslib.es6.js","./src/app/+app-custom/app.settings.ts","./src/app/+app-custom/app.urls.ts","./src/app/+app-custom/components/btn-group-filter/btn-group-filter.component.scss","./src/app/+app-custom/components/btn-group-filter/btn-group-filter.component.ts","./src/app/+app-custom/components/dev/dev.component.scss","./src/app/+app-custom/components/dev/dev.component.ts","./src/app/+app-custom/components/dialog/base-modal-dialog.component.scss","./src/app/+app-custom/components/dialog/base-modal-dialog.component.ts","./src/app/+app-custom/components/dialog/base-modal-dialog.module.ts","./src/app/+app-custom/components/external-user-modal-form/external-user-modal-form.component.scss","./src/app/+app-custom/components/external-user-modal-form/external-user-modal-form.component.ts","./src/app/+app-custom/components/report-bug-dialog/report-bug-dialog.component.scss","./src/app/+app-custom/components/report-bug-dialog/report-bug-dialog.component.ts","./src/app/+app-custom/components/report-bug-dialog/report-bug-dialog.module.ts","./src/app/+app-custom/components/report-bug-dialog/report-bug.service.ts","./src/app/+app-custom/components/tile/tile.component.scss","./src/app/+app-custom/components/tile/tile.component.ts","./src/app/+app-custom/components/tile/tile.model.ts","./src/app/+app-custom/components/user-search/user-search.component.scss","./src/app/+app-custom/components/user-search/user-search.component.ts","./src/app/+app-custom/constants.ts","./src/app/+app-custom/custom.module.ts","./src/app/+app-custom/directives/floatNumberFormat.directive.ts","./src/app/+app-custom/directives/focus.directive.ts","./src/app/+app-custom/models/external-user.model.ts","./src/app/+app-custom/models/participant.model.ts","./src/app/+app-custom/models/system-maintance.model.ts","./src/app/+app-custom/models/user.model.ts","./src/app/+app-custom/pipes/customPipes.module.ts","./src/app/+app-custom/pipes/round.pipe.ts","./src/app/+app-custom/pipes/user-role.pipe.ts","./src/app/+app-custom/pipes/user.pipe.ts","./src/app/+app-custom/services/app-communication.service.ts","./src/app/+app-custom/services/cashbox.service.ts","./src/app/+app-custom/services/category.service.ts","./src/app/+app-custom/services/general.service.ts","./src/app/+app-custom/services/item.service.ts","./src/app/+app-custom/services/user.service.ts","./src/app/+app-custom/theme/app-theme.module.ts","./src/app/+app-custom/theme/app-theme.service.ts","./src/app/+app-custom/theme/themes-list.ts","./src/app/+app-custom/views/cash-desk-view/cash-desk-view.component.scss","./src/app/+app-custom/views/cash-desk-view/cash-desk-view.component.ts","./src/app/+app-custom/views/cash-desk-view/plu-helper/plu-helper.component.scss","./src/app/+app-custom/views/cash-desk-view/plu-helper/plu-helper.component.ts","./src/app/+app-custom/views/cash-history/cash-history.component.scss","./src/app/+app-custom/views/cash-history/cash-history.component.ts","./src/app/+app-custom/views/cash-withdraw-insert-form/cash-withdraw-insert-form.component.scss","./src/app/+app-custom/views/cash-withdraw-insert-form/cash-withdraw-insert-form.component.ts","./src/app/+app-custom/views/cashbox-detail/cashbox-detail.component.scss","./src/app/+app-custom/views/cashbox-detail/cashbox-detail.component.ts","./src/app/+app-custom/views/category-form/category-form.component.scss","./src/app/+app-custom/views/category-form/category-form.component.ts","./src/app/+app-custom/views/dashboard/dashboard.component.scss","./src/app/+app-custom/views/dashboard/dashboard.component.ts","./src/app/+app-custom/views/item-form/item-form.component.scss","./src/app/+app-custom/views/item-form/item-form.component.ts","./src/app/+app-custom/views/item-tab/category-view/category-view.component.scss","./src/app/+app-custom/views/item-tab/category-view/category-view.component.ts","./src/app/+app-custom/views/item-tab/item-tab.component.scss","./src/app/+app-custom/views/item-tab/item-tab.component.ts","./src/app/+app-custom/views/item-tab/item-view/item-view.component.scss","./src/app/+app-custom/views/item-tab/item-view/item-view.component.ts","./src/app/+app-custom/views/user-profile-view/user-profile-view.component.scss","./src/app/+app-custom/views/user-profile-view/user-profile-view.component.ts","./src/app/+app-custom/views/user-view/user-view.component.scss","./src/app/+app-custom/views/user-view/user-view.component.ts","./src/app/+app-custom/views/workplace-selector-view/workplace-selector-view.component.scss","./src/app/+app-custom/views/workplace-selector-view/workplace-selector-view.component.ts","./src/app/app-routing.module.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.config.ts","./src/app/app.module.ts","./src/app/app.navigation.ts","./src/app/core-frontend-common/allowed-role-prefix.ts","./src/app/core-frontend-common/app-versions.ts","./src/app/core-frontend-common/auth/app-redirect.service.ts","./src/app/core-frontend-common/auth/auth-constants.ts","./src/app/core-frontend-common/auth/auth.urls.ts","./src/app/core-frontend-common/auth/authentication.service.ts","./src/app/core-frontend-common/auth/guards/auth.guard.ts","./src/app/core-frontend-common/auth/guards/role.guard.ts","./src/app/core-frontend-common/auth/interceptors/auth-interceptor.provider.ts","./src/app/core-frontend-common/auth/interceptors/auth.interceptor.ts","./src/app/core-frontend-common/auth/model/login-resource.model.ts","./src/app/core-frontend-common/components/notifications/app-versions-notification/app-versions-notification.component.scss","./src/app/core-frontend-common/components/notifications/app-versions-notification/app-versions-notification.component.ts","./src/app/core-frontend-common/components/notifications/notifications.component.scss","./src/app/core-frontend-common/components/notifications/notifications.component.ts","./src/app/core-frontend-common/components/notifications/notifications.module.ts","./src/app/core-frontend-common/components/report-bug/report-bug.service.ts","./src/app/core-frontend-common/misc/round-price.ts","./src/app/core-frontend-common/pipes/common-shared-pipes.module.ts","./src/app/core-frontend-common/pipes/user-login.pipe.ts","./src/app/core-frontend-common/pipes/user-role.pipe.ts","./src/app/core-frontend-common/services/app-versions.service.ts","./src/app/core-frontend-common/template/core/api/json-api.service.ts","./src/app/core-frontend-common/template/core/core.module.ts","./src/app/core-frontend-common/template/core/smartadmin.config.ts","./src/app/core-frontend-common/template/shared/dialogs/confirm-dialog/confirm-dialog.component.ts","./src/app/core-frontend-common/template/shared/dialogs/dialogs.module.ts","./src/app/core-frontend-common/template/shared/dialogs/dialogs.service.ts","./src/app/core-frontend-common/template/shared/i18n/i18n.module.ts","./src/app/core-frontend-common/template/shared/i18n/i18n.pipe.ts","./src/app/core-frontend-common/template/shared/i18n/i18n.service.ts","./src/app/core-frontend-common/template/shared/i18n/index.ts","./src/app/core-frontend-common/template/shared/i18n/language-selector/index.ts","./src/app/core-frontend-common/template/shared/i18n/language-selector/language-selector.component.scss","./src/app/core-frontend-common/template/shared/i18n/language-selector/language-selector.component.ts","./src/app/core-frontend-common/template/shared/i18n/languages.model.ts","./src/app/core-frontend-common/template/shared/layout/auth/auth.component.ts","./src/app/core-frontend-common/template/shared/layout/dropdown-apps/dropdown-apps.component.ts","./src/app/core-frontend-common/template/shared/layout/dropdown-user/dropdown-user.component.ts","./src/app/core-frontend-common/template/shared/layout/fab-shortcut/fab-shortcut.component.ts","./src/app/core-frontend-common/template/shared/layout/layout.module.ts","./src/app/core-frontend-common/template/shared/layout/logo/logo.component.ts","./src/app/core-frontend-common/template/shared/layout/main-basic/main-basic.component.scss","./src/app/core-frontend-common/template/shared/layout/main-basic/main-basic.component.ts","./src/app/core-frontend-common/template/shared/layout/main/main.component.scss","./src/app/core-frontend-common/template/shared/layout/main/main.component.ts","./src/app/core-frontend-common/template/shared/layout/page-breadcrumb/page-breadcrumb.component.ts","./src/app/core-frontend-common/template/shared/layout/page-footer/page-footer.component.ts","./src/app/core-frontend-common/template/shared/layout/page-header/page-header.component.ts","./src/app/core-frontend-common/template/shared/layout/page-heading/page-heading.component.ts","./src/app/core-frontend-common/template/shared/layout/settings-modal/settings-modal.component.ts","./src/app/core-frontend-common/template/shared/layout/settings-modal/settings-modal.service.ts","./src/app/core-frontend-common/template/shared/layout/settings-shortcut/settings-shortcut.component.ts","./src/app/core-frontend-common/template/shared/layout/settings/settings.component.ts","./src/app/core-frontend-common/template/shared/layout/shortcut-modal/shortcut-modal.component.ts","./src/app/core-frontend-common/template/shared/layout/shortcut-modal/shortcut-modal.service.ts","./src/app/core-frontend-common/template/shared/layout/sidebar/sidebar.component.ts","./src/app/core-frontend-common/template/shared/navigation/nav-filter-msg/nav-filter-msg.component.ts","./src/app/core-frontend-common/template/shared/navigation/nav-filter/nav-filter.component.ts","./src/app/core-frontend-common/template/shared/navigation/nav-footer/nav-footer.component.ts","./src/app/core-frontend-common/template/shared/navigation/nav-info-card/nav-info-card.component.ts","./src/app/core-frontend-common/template/shared/navigation/nav-item/nav-item.component.ts","./src/app/core-frontend-common/template/shared/navigation/nav/nav.component.scss","./src/app/core-frontend-common/template/shared/navigation/nav/nav.component.ts","./src/app/core-frontend-common/template/shared/navigation/navigation.module.ts","./src/app/core-frontend-common/template/shared/navigation/navigation/navigation.component.scss","./src/app/core-frontend-common/template/shared/navigation/navigation/navigation.component.ts","./src/app/core-frontend-common/template/shared/panels/panel/panel.component.ts","./src/app/core-frontend-common/template/shared/panels/panels.module.ts","./src/app/core-frontend-common/template/shared/shared.module.ts","./src/app/core-frontend-common/template/shared/ui/on-off/on-off.component.ts","./src/app/core-frontend-common/template/shared/ui/ui.module.ts","./src/app/core-frontend-common/template/shared/utils/animations.ts","./src/app/core-frontend-common/template/shared/utils/directives/stub-click.directive.ts","./src/app/core-frontend-common/template/shared/utils/smart-clockpicker.directive.ts","./src/app/core-frontend-common/template/shared/utils/utils.functions.ts","./src/app/core-frontend-common/template/shared/utils/utils.module.ts","./src/app/core-frontend-common/template/store/index.ts","./src/app/core-frontend-common/template/store/navigation/index.ts","./src/app/core-frontend-common/template/store/navigation/navigation.actions.ts","./src/app/core-frontend-common/template/store/navigation/navigation.effects.ts","./src/app/core-frontend-common/template/store/navigation/navigation.reducer.ts","./src/app/core-frontend-common/template/store/navigation/navigation.selectors.ts","./src/app/core-frontend-common/template/store/router/index.ts","./src/app/core-frontend-common/template/store/router/router.actions.ts","./src/app/core-frontend-common/template/store/router/router.effects.ts","./src/app/core-frontend-common/template/store/router/router.reducer.ts","./src/app/core-frontend-common/template/store/router/router.selectors.ts","./src/app/core-frontend-common/template/store/settings/index.ts","./src/app/core-frontend-common/template/store/settings/settings.actions.ts","./src/app/core-frontend-common/template/store/settings/settings.meta.ts","./src/app/core-frontend-common/template/store/settings/settings.reducer.ts","./src/app/core-frontend-common/template/store/settings/settings.selectors.ts","./src/app/core-frontend-common/utils/string-utils.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","export default \"
\\n \\n {{parameterToDisplay ? (item[parameterToDisplay] | i18n) : (item?.title | i18n)}}\\n {{getCounts(item?.id)}}\\n \\n
\\n\\n
\\n \\n \\n
\\n\"","export default \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n DEVELOPMENT MODE\\n
\\n
\\n
\\n
\\n
\\n User loaded remotely:\\n
\\n
\\n {{userLoadedRemotely && 'TRUE' || 'FALSE'}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","export default \"
\\n

{{title}}

\\n \\n
\\n
\\n {{content}}\\n
\\n
\\n \\n
\\n\"","export default \"
\\n
\\n
\\n
\\n Zamknuté polia obsahujú informácie importované zo systému MAIS. Pre ich zmenu kontaktujte školiteľa\\n alebo Vašu kontaktnú osobu práce.\\n
\\n \\n
\\n Prosím, vyplňte všetky potrebné údaje.\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n\\n
\\n Prosím, vyplňte a skontrolujte správnosť údajov v nasledujúcich poliach. Všetky údaje sú povinné.\\n
\\n\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\"","export default \"
\\n
\\n
\\n
\\n
\\n

{{'Nahlásiť chybu' | i18n}}

\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\"","export default \"\\n
\\n
\\n \\\"\\\"\\n
\\n\\n
\\n \\n {{tile?.title | i18n}}\\n \\n
\\n
\\n
\\n\"","export default \"
\\n
\\n \\n\\n \\n
\\n
\\n \\n \\n \\n {{user.title}} {{user.name}} {{user.surname}}\\n {{user.titleAfter ? ', ' : ''}}\\n {{user.titleAfter}},\\n {{user.workCenterCode}},\\n {{user.facultyCode}}\\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n Späť\\n Potvrdiť\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n

Vyplňte prosím potrebné údaje

\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\"","export default \"
\\n \\n

\\n {{getWorkplaceName()}}  \\n
\\n
\\n \\n SUMA: {{cashbox.price | number: '1.2-2'}}\\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n VYDAŤ: {{payback | number: '1.2-2'}}\\n \\n \\n
\\n
\\n STAV KASY: {{actualBalance | number: '1.2-2'}}\\n \\n
\\n
\\n \\n
\\n
0\\\">\\n \\n \\n \\n \\n\\n
\\n
\\n \\n
\\n
\\n

\\n
\\n\\n
\\n\\n
\\n
\\n
\\n
\\n {{itemsByCategory.firstColumnTop[0].category.name}}\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPieceCount(item)\\\"\\n name=\\\"input_{{item.id}}\\\"\\n [id]=\\\"item.id\\\"\\n [focus]=\\\"firstFieldFocusTriggeringEventEmitter\\\"\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{item.price + ' €, PLU: ' + item.pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\"\\n type=\\\"text\\\" [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPrice(item.id)\\\"\\n name=\\\"input_{{item.id}}\\\" [id]=\\\"item.id\\\"\\n [focus]=\\\"firstFieldFocusTriggeringEventEmitter\\\"\\n floatNumberFormat placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + item.pluCode}}\\\">\\n
\\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPieceCount(item)\\\"\\n name=\\\"input_{{item.id}}\\\"\\n [id]=\\\"item.id\\\" placement=\\\"bottom\\\"\\n tooltip=\\\"{{item.price + ' €, PLU: ' + item.pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\"\\n type=\\\"text\\\" [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPrice(item.id)\\\"\\n name=\\\"input_{{item.id}}\\\" [id]=\\\"item.id\\\" floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + item.pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n {{itemsByCategory.firstColumnMiddle[0].category.name}}\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPieceCount(item)\\\"\\n name=\\\"input_{{item.id}}\\\"\\n [id]=\\\"item.id\\\" placement=\\\"bottom\\\"\\n tooltip=\\\"{{item.price + ' €, PLU: ' + item.pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\"\\n type=\\\"text\\\" [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPrice(item.id)\\\"\\n name=\\\"input_{{item.id}}\\\" [id]=\\\"item.id\\\" floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + item.pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n {{itemsByCategory.firstColumnBottom[0].category.name}}\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPieceCount(item)\\\"\\n name=\\\"input_{{item.id}}\\\"\\n [id]=\\\"item.id\\\" placement=\\\"bottom\\\"\\n tooltip=\\\"{{item.price + ' €, PLU: ' + item.pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\"\\n type=\\\"text\\\" [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPrice(item.id)\\\"\\n name=\\\"input_{{item.id}}\\\" [id]=\\\"item.id\\\" floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + item.pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n {{itemsByCategory.secondColumnTop[0].category.name}}\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPieceCount(item)\\\"\\n name=\\\"input_{{item.id}}\\\"\\n [id]=\\\"item.id\\\" placement=\\\"bottom\\\"\\n tooltip=\\\"{{item.price + ' €, PLU: ' + item.pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\"\\n type=\\\"text\\\" [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPrice(item.id)\\\"\\n name=\\\"input_{{item.id}}\\\" [id]=\\\"item.id\\\" floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + item.pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n {{itemsByCategory.secondColumnMiddle[0].category.name}}\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPieceCount(item)\\\"\\n name=\\\"input_{{item.id}}\\\"\\n [id]=\\\"item.id\\\" placement=\\\"bottom\\\"\\n tooltip=\\\"{{item.price + ' €, PLU: ' + item.pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\"\\n type=\\\"text\\\" [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPrice(item.id)\\\"\\n name=\\\"input_{{item.id}}\\\" [id]=\\\"item.id\\\" floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + item.pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n {{itemsByCategory.secondColumnBottom[0].category.name}}\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPieceCount(item)\\\"\\n name=\\\"input_{{item.id}}\\\"\\n [id]=\\\"item.id\\\" placement=\\\"bottom\\\"\\n tooltip=\\\"{{item.price + ' €, PLU: ' + item.pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\"\\n type=\\\"text\\\" [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPrice(item.id)\\\"\\n name=\\\"input_{{item.id}}\\\" [id]=\\\"item.id\\\" floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + item.pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n {{itemsByCategory.thirdColumnTop[0].category.name}}\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPieceCount(item)\\\"\\n name=\\\"input_{{item.id}}\\\"\\n [id]=\\\"item.id\\\" placement=\\\"bottom\\\"\\n tooltip=\\\"{{item.price + ' €, PLU: ' + item.pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\"\\n type=\\\"text\\\" [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPrice(item.id)\\\"\\n name=\\\"input_{{item.id}}\\\" [id]=\\\"item.id\\\" floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + item.pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n {{itemsByCategory.thirdColumnMiddle[0].category.name}}\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPieceCount(item)\\\"\\n name=\\\"input_{{item.id}}\\\"\\n [id]=\\\"item.id\\\" placement=\\\"bottom\\\"\\n tooltip=\\\"{{item.price + ' €, PLU: ' + item.pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\"\\n type=\\\"text\\\" [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPrice(item.id)\\\"\\n name=\\\"input_{{item.id}}\\\" [id]=\\\"item.id\\\" floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + item.pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n {{itemsByCategory.thirdColumnBottom[0].category.name}}\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPieceCount(item)\\\"\\n name=\\\"input_{{item.id}}\\\"\\n [id]=\\\"item.id\\\" placement=\\\"bottom\\\"\\n tooltip=\\\"{{item.price + ' €, PLU: ' + item.pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\"\\n type=\\\"text\\\" [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPrice(item.id)\\\"\\n name=\\\"input_{{item.id}}\\\" [id]=\\\"item.id\\\" floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + item.pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n {{itemsByCategory.fourthColumnTop[0].category.name}}\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPieceCount(item)\\\"\\n name=\\\"input_{{item.id}}\\\"\\n [id]=\\\"item.id\\\" placement=\\\"bottom\\\"\\n tooltip=\\\"{{item.price + ' €, PLU: ' + item.pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\"\\n type=\\\"text\\\" [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPrice(item.id)\\\"\\n name=\\\"input_{{item.id}}\\\" [id]=\\\"item.id\\\" floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + item.pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n {{itemsByCategory.fourthColumnMiddle[0].category.name}}\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPieceCount(item)\\\"\\n name=\\\"input_{{item.id}}\\\"\\n [id]=\\\"item.id\\\" placement=\\\"bottom\\\"\\n tooltip=\\\"{{item.price + ' €, PLU: ' + item.pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\"\\n type=\\\"text\\\" [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPrice(item.id)\\\"\\n name=\\\"input_{{item.id}}\\\" [id]=\\\"item.id\\\" floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + item.pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n {{itemsByCategory.fourthColumnBottom[0].category.name}}\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPieceCount(item)\\\"\\n name=\\\"input_{{item.id}}\\\"\\n [id]=\\\"item.id\\\" placement=\\\"bottom\\\"\\n tooltip=\\\"{{item.price + ' €, PLU: ' + item.pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\"\\n type=\\\"text\\\" [(ngModel)]=\\\"itemPieces[item.id]\\\"\\n (input)=\\\"isInputValidAsPrice(item.id)\\\"\\n name=\\\"input_{{item.id}}\\\" [id]=\\\"item.id\\\" floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + item.pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n {{itemsByCategory.firstbottomRow[0].category.name}}\\n
\\n \\n
\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.firstbottomRow[i].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.firstbottomRow[i].id)\\\"\\n name=\\\"input_{{itemsByCategory.firstbottomRow[i].id}}\\\"\\n [id]=\\\"itemsByCategory.firstbottomRow[i].id\\\"\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{itemsByCategory.firstbottomRow[i].price + ' €, PLU: ' + itemsByCategory.firstbottomRow[i].pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\" type=\\\"text\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.firstbottomRow[i].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.firstbottomRow[i].id)\\\"\\n name=\\\"input_{{itemsByCategory.firstbottomRow[i].id}}\\\"\\n [id]=\\\"itemsByCategory.firstbottomRow[i].id\\\"\\n floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + itemsByCategory.firstbottomRow[i].pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.firstbottomRow[i+1].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.firstbottomRow[i+1].id)\\\"\\n name=\\\"input_{{itemsByCategory.firstbottomRow[i+1].id}}\\\"\\n [id]=\\\"itemsByCategory.firstbottomRow[i+1].id\\\"\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{itemsByCategory.firstbottomRow[i+1].price + ' €, PLU: ' + itemsByCategory.firstbottomRow[i+1].pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\" type=\\\"text\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.firstbottomRow[i+1].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.firstbottomRow[i+1].id)\\\"\\n name=\\\"input_{{itemsByCategory.firstbottomRow[i+1].id}}\\\"\\n [id]=\\\"itemsByCategory.firstbottomRow[i+1].id\\\"\\n floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + itemsByCategory.firstbottomRow[i+1].pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.firstbottomRow[i+2].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.firstbottomRow[i+2].id)\\\"\\n name=\\\"input_{{itemsByCategory.firstbottomRow[i+2].id}}\\\"\\n [id]=\\\"itemsByCategory.firstbottomRow[i+2].id\\\"\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{itemsByCategory.firstbottomRow[i+2].price + ' €, PLU: ' + itemsByCategory.firstbottomRow[i+2].pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\" type=\\\"text\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.firstbottomRow[i+2].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.firstbottomRow[i+2].id)\\\"\\n name=\\\"input_{{itemsByCategory.firstbottomRow[i+2].id}}\\\"\\n [id]=\\\"itemsByCategory.firstbottomRow[i+2].id\\\"\\n floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + itemsByCategory.firstbottomRow[i+2].pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.firstbottomRow[i+3].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.firstbottomRow[i+3].id)\\\"\\n name=\\\"input_{{itemsByCategory.firstbottomRow[i+3].id}}\\\"\\n [id]=\\\"itemsByCategory.firstbottomRow[i+3].id\\\"\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{itemsByCategory.firstbottomRow[i+3].price + ' €, PLU: ' + itemsByCategory.firstbottomRow[i+3].pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\" type=\\\"text\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.firstbottomRow[i+3].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.firstbottomRow[i+3].id)\\\"\\n name=\\\"input_{{itemsByCategory.firstbottomRow[i+3].id}}\\\"\\n [id]=\\\"itemsByCategory.firstbottomRow[i+3].id\\\"\\n floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + itemsByCategory.firstbottomRow[i+3].pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n {{itemsByCategory.lastbottomRow[0].category.name}}\\n
\\n \\n
\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.lastbottomRow[i].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.lastbottomRow[i].id)\\\"\\n name=\\\"input_{{itemsByCategory.lastbottomRow[i].id}}\\\"\\n [id]=\\\"itemsByCategory.lastbottomRow[i].id\\\"\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{itemsByCategory.lastbottomRow[i].price + ' €, PLU: ' + itemsByCategory.lastbottomRow[i].pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\" type=\\\"text\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.lastbottomRow[i].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.lastbottomRow[i].id)\\\"\\n name=\\\"input_{{itemsByCategory.lastbottomRow[i].id}}\\\"\\n [id]=\\\"itemsByCategory.lastbottomRow[i].id\\\"\\n floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + itemsByCategory.lastbottomRow[i].pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.lastbottomRow[i+1].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.lastbottomRow[i+1].id)\\\"\\n name=\\\"input_{{itemsByCategory.lastbottomRow[i+1].id}}\\\"\\n [id]=\\\"itemsByCategory.lastbottomRow[i+1].id\\\"\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{itemsByCategory.lastbottomRow[i+1].price + ' €, PLU: ' + itemsByCategory.lastbottomRow[i+1].pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\" type=\\\"text\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.lastbottomRow[i+1].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.lastbottomRow[i+1].id)\\\"\\n name=\\\"input_{{itemsByCategory.lastbottomRow[i+1].id}}\\\"\\n [id]=\\\"itemsByCategory.lastbottomRow[i+1].id\\\"\\n floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + itemsByCategory.lastbottomRow[i+1].pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.lastbottomRow[i+2].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.lastbottomRow[i+2].id)\\\"\\n name=\\\"input_{{itemsByCategory.lastbottomRow[i+2].id}}\\\"\\n [id]=\\\"itemsByCategory.lastbottomRow[i+2].id\\\"\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{itemsByCategory.lastbottomRow[i+2].price + ' €, PLU: ' + itemsByCategory.lastbottomRow[i+2].pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\" type=\\\"text\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.lastbottomRow[i+2].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.lastbottomRow[i+2].id)\\\"\\n name=\\\"input_{{itemsByCategory.lastbottomRow[i+2].id}}\\\"\\n [id]=\\\"itemsByCategory.lastbottomRow[i+2].id\\\"\\n floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + itemsByCategory.lastbottomRow[i+2].pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n 0}\\\"\\n placeholder=\\\"KS\\\" type=\\\"number\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.lastbottomRow[i+3].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.lastbottomRow[i+3].id)\\\"\\n name=\\\"input_{{itemsByCategory.lastbottomRow[i+3].id}}\\\"\\n [id]=\\\"itemsByCategory.lastbottomRow[i+3].id\\\"\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{itemsByCategory.lastbottomRow[i+3].price + ' €, PLU: ' + itemsByCategory.lastbottomRow[i+3].pluCode}}\\\">\\n 0}\\\"\\n placeholder=\\\"€\\\" type=\\\"text\\\"\\n [(ngModel)]=\\\"itemPieces[itemsByCategory.lastbottomRow[i+3].id]\\\"\\n (input)=\\\"isInputValidAsPrice(itemsByCategory.lastbottomRow[i+3].id)\\\"\\n name=\\\"input_{{itemsByCategory.lastbottomRow[i+3].id}}\\\"\\n [id]=\\\"itemsByCategory.lastbottomRow[i+3].id\\\"\\n floatNumberFormat\\n placement=\\\"bottom\\\"\\n tooltip=\\\"{{'Priame zadanie ceny, PLU: ' + itemsByCategory.lastbottomRow[i+3].pluCode}}\\\">\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n

Tipy na rýchle blokovanie

\\n
    \\n
  • Tlačidlom\\n TAB sa presúvate po položkách dopredu,\\n SHIFT+TAB dozadu. Pri prvom stlačení\\n ENTER vyskočí potvrdzovacie okno. Pri druhom stlačení\\n ENTER sa zaznam o predaji uloží.\\n
    \\n Príklad: Klik na položku, naúčtovať, TAB, naučtovať ďalšiu položku,\\n ENTER,\\n 2xTAB, zapísať koľko zaplatil, ENTER => hotovo :)\\n
  • \\n
  • Tlačidlom\\n ESC sa vrátite na prvú položku alebo zavriete potvrdzovacie\\n okno.\\n
  • \\n
  • Kombináciou\\n SHIFT+DEL zresetujete kasu.\\n
  • \\n
  • \\n POZN.: Klávesové skratky fungujú iba ak ste už klikli do akéhokoľvek poľa\\n v kase.\\n
  • \\n
\\n\\n
\\n\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n

\\n Potvrdenie predaja\\n

\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n\\n\"","export default \"
\\n

Žiadne naúčtované položky

\\n
\\n
\\n {{pluItem.itemName}}\\n {{pluItem.pluString}}\\n
\\n
\\n
\\n\\n\"","export default \"\\n

\\n Záznamy predajov\\n - DNES\\n
\\n
\\n
\\n \\n STAV KASY:\\n {{actualBalance | number: '1.2-2'}}\\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n

\\n
\\n
\\n
\\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n\\n \\n \\n \\n \\n ID\\n \\n Čas účtovania\\n Účtoval\\n Suma za predaj\\n Stav kasy\\n Typ\\n \\n \\n \\n \\n \\n \\n \\n \\n {{rowData.id}}\\n \\n \\n {{rowData.createdDatetime | date: 'dd.MM.yyyy HH:mm'}}\\n \\n \\n {{rowData.createdBy?.name}} {{rowData.createdBy?.surname}}\\n \\n \\n \\n - {{rowData.price | number: '1.2-2'}} €\\n \\n \\n \\n {{rowData.actualBalance | number: '1.2-2'}}\\n €\\n \\n \\n {{rowData.type | uppercase}}\\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n\\n\\n\\n\"","export default \"
\\n
\\n
\\n
\\n

\\n Vklad/Výber z kasy\\n

\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n Vyberte jednu možnosť.\\n
\\n
\\n
\\n \\n \\n
\\n Suma nesmie obsahovať zápoprné čislo.\\n
\\n
Napíšte sumu v správnom\\n číselnom formáte.\\n
\\n
Toto pole je povinné.\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\"","export default \"
\\n
\\n
\\n
\\n

Informácie o nákupe

\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
Typ
\\n
\\n {{cashbox.type | uppercase}}\\n
\\n
\\n
\\n
Čas účtovania
\\n
\\n {{cashbox.createdDatetime | date: 'dd.MM.yyyy HH:mm'}}\\n
\\n
\\n
\\n
Účtoval
\\n
\\n {{cashbox.createdBy.name}} {{cashbox.createdBy.surname}}\\n
\\n
\\n
\\n
Suma\\n
\\n
\\n \\n - {{cashbox.price | number: '1.2-2'}}\\n €\\n
(Skriptá\\n 2na1 zľava 20%)
\\n
(Skriptá\\n 1na1 zľava 30%)
\\n
(Zamest.\\n zľava 50%)
\\n
\\n
\\n
\\n
\\n
Zakazník platil
\\n
\\n \\n {{cashbox.customerPaid | number: '1.2-2'}}\\n €
(výdavok: {{(cashbox.customerPaid - cashbox.price) | number: '1.2-2'}}\\n €)
\\n - nezadané -\\n
\\n
\\n
\\n
\\n
Stav kasy\\n
\\n \\n po zaúčtovaní\\n \\n
\\n
\\n {{cashbox.actualBalance | number: '1.2-2'}} €\\n
\\n
\\n
\\n
Počet položiek
\\n
\\n {{cashbox.items.length}}\\n
\\n
\\n
\\n
Id
\\n
\\n {{cashbox.id}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
{{item.item.name}}\\n \\n {{item.item.category.name}}\\n \\n
\\n
\\n {{item.count}} ks x {{item.item.price}} €\\n
\\n
\\n {{item.customItemPrice}} €\\n
\\n\\n\\n
\\n {{item.count}} x {{item.item.pluCode}} PLU\\n
\\n
\\n {{item.customItemPrice}} PLU {{item.item.pluCode}}\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\"","export default \"
\\n
\\n
\\n
\\n

{{category.id ? \\\"Úprava kategórie\\\" : \\\"Nová kategória\\\"}}

\\n \\n
\\n
\\n\\n \\n
\\n
\\n
\\n \\n \\n
Toto pole je povinné.\\n
\\n
\\n
\\n \\n \\n
Ak nevyberiete pozíciu, kategória s položkami sa nezobrazí v ostatných\\n kasách.\\n
\\n
\\n
\\n \\n \\n
Ak nevyberiete pozíciu, kategória s položkami sa nezobrazí v kase\\n Veľkoplošné služby.\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\"","export default \"
\\n

Dashboard

\\n
\\n\"","export default \"
\\n
\\n
\\n
\\n

{{item.id ? \\\"Úprava položky\\\" : \\\"Nová položka\\\"}}

\\n\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
Toto pole je povinné.\\n
\\n
\\n
\\n \\n \\n
Vyberte jednu\\n možnosť.\\n
\\n
\\n
\\n \\n \\n
Ujistite sa, že zadaná hodnota bude jedinečná v rámci PLU ostatných\\n položiek.\\n
\\n
PLU kód nesmie\\n obsahovať zápoprné čislo alebo byť nula.\\n
\\n
Toto pole je\\n povinné.\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n
Cena nesmie obsahovať\\n zápoprné čislo\\n
\\n
Napíšte cenu v\\n správnom číselnom formáte.\\n
\\n
Toto pole je\\n povinné.\\n
\\n
\\n\\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n\\n
\\n
\\n \\n \\n
\\n
Vyberte aspoň jedno\\n pracovisko\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\"","export default \"
\\n
\\n Info: Vymazaním kategórie, nebude možné nastaviť túto kategóriu položkám. Pôvodné nastavenie\\n položiek\\n sa vymazaním nemení.\\n
\\n\\n
\\n \\n
\\n\\n \\n \\n \\n Názov\\n Pozícia v ostatných kasách\\n Pozícia v kase Veľkoplošné služby (UKVS)\\n Pridal/Upravil\\n Posledná zmena\\n \\n \\n \\n \\n \\n {{category.name}}\\n {{getMatrixPosition(category.cashboxMatrixPosition)}}\\n {{getMatrixPosition(category.cashboxMatrixPositionUKVS)}}\\n {{category.updatedBy.name}} {{category.updatedBy.surname}}\\n \\n {{category.updatedDatetime | date: 'dd.MM.yyyy HH:mm'}}\\n \\n
\\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n\\n\\n\\n\"","export default \"
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n\"","export default \"
\\n
\\n \\n\\n
\\n \\n
\\n\\n \\n\\n
\\n
\\n \\n\\n \\n \\n
\\n
\\n
\\n\\n \\n \\n \\n Názov\\n Kategória\\n Cena\\n PLU\\n Pracoviská\\n Min. cena\\n Pridal/Upravil\\n Posledná zmena\\n \\n \\n \\n \\n \\n {{row.name}}\\n {{row.category.name}} ZMAZANÁ\\n \\n {{row.price | number: '1.2-2'}} €\\n Priame zadanie ceny\\n \\n \\n {{row.pluCode}}\\n \\n \\n {{getWorkplaceCodeFormated(worplace.code)}} \\n \\n \\n {{row?.isMinPriceRequired ? 'áno' : 'nie'}}\\n \\n \\n {{row.updatedBy.name}} {{row.updatedBy.surname}}\\n \\n \\n {{row.updatedDatetime | date: 'dd.MM.yyyy HH:mm'}}\\n \\n \\n
\\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n\\n\\n\\n\"","export default \"
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\"","export default \"\\n

Zamestnanci

\\n
\\n
\\n \\n \\n \\n \\n\\n \\n Meno\\n Rola\\n Email\\n Telefón\\n \\n \\n \\n \\n \\n
\\n
\\n
\\n Meno\\n \\n {{row.name}}\\n \\n
\\n
\\n Priezvisko\\n \\n {{row.surname}}\\n \\n
\\n
\\n Tituly\\n \\n v rámci pomeru\\n \\n \\n \\n {{row.title}} {{row.titleAfter}}\\n \\n
\\n
\\n Login\\n \\n {{row.login}}\\n \\n
\\n
\\n
\\n
\\n Email\\n \\n {{row.email}}\\n \\n
\\n
\\n Telefón\\n \\n {{row.phone}}\\n \\n
\\n
\\n Kód pomeru\\n \\n {{row.employmentCode}}\\n \\n
\\n
\\n Fakulta/Stredisko\\n \\n {{row.facultyCode}}\\n /{{row.workCenterCode}}\\n \\n
\\n
\\n
\\n
\\n Oprávnenie\\n \\n \\n {{row.rolesAsString}}\\n \\n \\n
\\n
\\n Externý\\n \\n {{row.isExternal ? 'Áno' : 'Nie'}}\\n (Exp.: {{row.roleExpirationDate}}\\n )\\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n {{row.name}} {{row.surname}}\\n \\n \\n \\n {{role}} \\n \\n \\n \\n {{row.email}}\\n \\n \\n {{row.phone}}\\n \\n \\n \\n
\\n
\\n
\\n
\\n\"","export default \"
\\n
\\n
\\n \\n
\\n
\\n
\\n\\n\\n\"","export default \"
\\n\\n
{{version.date | date: 'dd.MM.yyyy'}}
\\n\\n
{{version.version}} - {{version.value.title}}
\\n\\n
\\n \\n
\\n\\n
\\n\"","export default \"
\\n\\n \\n \\n\\n {{1}}\\n \\n\\n
\\n\\n\\n \\n

\\n {{'notifications' | i18n}}\\n {{'allNotifications' | i18n}}\\n

\\n \\n \\n \\n \\n
\\n \\n \\n \\n
\\n
\\n\"","export default \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n
\\n \\n \\\"\\\"\\n \\n
\\n
\\n

\\n {{'languages' | i18n}}\\n {{'selectYourLanguage' | i18n}}\\n

\\n
\\n \\n\\n
\\n
\\n\\n\\n\"","export default \"

auth works!

\\n\"","export default \"
\\n \\n \\n \\n \\n
\\n

\\n Quick Shortcut\\n User Applications & Addons\\n

\\n
\\n \\n \\n
\\n\\n\"","export default \"
\\n \\n \\\"{{name}}\\n \\n \\n
\\n
\\n
\\n \\n \\\"{{name}}\\n \\n
\\n
{{name}} {{surname}}
\\n {{email}}\\n
\\n
\\n
\\n
\\n \\n
\\n \\n {{'profile' | i18n}}\\n \\n
\\n \\n {{'logOut' | i18n}}\\n \\n \\n\\n
\\n
\\n\"","export default \"\\n \"","export default \"
\\n \\n \\n \\n
\\n\"","export default \"
\\n
\\n
\\n \\n\\n
\\n \\n
\\n\\n \\n\\n
\\n\\n \\n\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n
\\n

{{loadingText}}

\\n
\\n
\\n\\n
\\n\"","export default \"
\\n
\\n \\n\\n
\\n \\n\\n
\\n \\n
\\n\\n \\n\\n
\\n\\n \\n\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n
\\n

{{loadingText}}

\\n
\\n
\\n\\n
\\n\\n\\n\"","export default \"
    \\n
  1. SmartAdmin
  2. \\n\\n \\n
  3. \\n {{crumb}}\\n
  4. \\n \\n
    \\n\\n
  5. \\n {{ date | date }}\\n
  6. \\n
\\n\"","export default \"\\n\"","export default \"
\\n\\n \\n \\n\\n\\n \\n\\n \\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n\\n \\\"\\\"\\n\\n
\\n\\n {{'Technická univerzita v Košiciach' | i18n | uppercase}}\\n\\n \\n {{systemFullName | i18n}}\\n
\\n -\\n \\n UK Copycentrum\\n UIK Jedlíkova 5\\n UK Veľkoplošné služby\\n \\n
\\n
\\n\\n
\\n
\\n\\n
\\n\\n \\n \\n \\n \\n \\n \\n\\n \\n Reset\\n pracoviska\\n \\n\\n\\n\\n\\n\\n
\\n \\n
\\n\\n \\n \\n \\n \\n\\n \\n \\n
\\n\\n
\\n \\n \\n \\n
\\n\\n
\\n\"","export default \"
\\n\\n \\n \\n

\\n Introduction\\n \\n A brief introduction to this WebApp\\n \\n

\\t\\n \\n \\n \\n
\\n \"","export default \"
\\n \\n \\n \\n
\\n\\n\\n \\n

\\n Layout Settings\\n User Interface Settings\\n

\\n \\n \\n \\n \\n
\\n \\n
\\n
\\n\\n\"","export default \"\\n
\\n \\n \\n \\n \\n
\\n\"","export default \"
\\n
\\n
\\n
\\n App Layout\\n
\\n
\\n
\\n\\n
\\n \\n Fixed Header\\n header is in a fixed at all times\\n
\\n\\n
\\n \\n Fixed Navigation\\n left panel is fixed\\n
\\n\\n
\\n \\n Minify Navigation\\n Skew nav to maximize space\\n
\\n\\n
\\n \\n\\n Hide Navigation\\n roll mouse on edge to reveal\\n
\\n\\n
\\n \\n\\n Top Navigation\\n Relocate left pane to top\\n
\\n\\n
\\n \\n Boxed Layout\\n Encapsulates to a container\\n
\\n\\n \\n\\n
\\n
\\n
\\n Mobile Menu\\n
\\n
\\n
\\n\\n
\\n \\n Push Content\\n Content pushed on menu reveal\\n
\\n\\n
\\n \\n No Overlay\\n Removes mesh on menu reveal\\n
\\n\\n
\\n \\n Off-Canvas (beta)\\n Content overlaps menu\\n
\\n\\n
\\n
\\n
\\n Accessibility\\n
\\n
\\n
\\n\\n
\\n \\n Bigger Content Font\\n content fonts are bigger for readability\\n
\\n
\\n \\n High Contrast Text (WCAG 2 AA)\\n 4.5:1 text contrast ratio\\n
\\n
\\n \\n Daltonism (beta) \\n color vision deficiency\\n
\\n
\\n \\n Preloader Inside\\n preloader will be inside content\\n
\\n\\n
\\n
\\n
\\n Global Modifications\\n
\\n
\\n
\\n
\\n \\n Clean Page Background\\n adds more whitespace\\n
\\n
\\n \\n Hide Navigation Icons\\n invisible navigation icons\\n
\\n
\\n \\n Disable CSS Animation\\n Disables CSS based animations\\n
\\n
\\n \\n Hide Info Card\\n Hides info card from left panel\\n
\\n
\\n \\n Lean Subheader\\n distinguished page header\\n
\\n
\\n \\n Hierarchical Navigation\\n Clear breakdown of nav links\\n
\\n\\n
\\n Global Font Size (RESETS ON REFRESH)\\n \\n \\n \\n SM\\n \\n \\n MD\\n \\n \\n LG\\n \\n \\n XL\\n \\n
\\n\\n\\n Change root font size to effect rem values\\n
\\n\\n
\\n\\t
\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t
\\n\\n\\n\"","export default \"
\\n
\\n \\n
\\n
\\n\"","export default \"\\n\"","export default \"\\n \\n showing {{ vm.matched }} from {{ vm.total }} total\\n \\n\\n\"","export default \"
\\n
\\n \\n \\n \\n \\n
\\n
\\n\"","export default \"\\n\"","export default \"
\\n \\n
\\n \\n \\n {{ user }}\\n \\n \\n Toronto, Canada\\n
\\n \\n \\n \\n \\n
\\n\"","export default \"\\n \\n \\n {{ item.title | i18n}}\\n {{item.badge.label | i18n}}\\n \\n \\n \\n \\n \\n\\n\\n\\n \\n \\n \\n {{item.title | i18n}}\\n {{item.badge.label | i18n}}\\n \\n \\n\\n\\n\\n \\n \\n \\n {{item.title | i18n}}\\n {{item.badge.label | i18n}}\\n \\n \\n\\n\\n\\n\\n \\n \\n \\n {{item.title | i18n}}\\n {{item.badge.label | i18n}}\\n \\n \\n\\n \\n\\n \\n \\n {{item.title | i18n}}\\n {{item.badge.label | i18n}}\\n \\n\\n \\n\\n\\n\\n \\n {{ item.title | i18n}}\\n \\n \\n
\\n\\n\\n\\n
\\n\"","export default \"
\\n \\n
\\n\\n\"","export default \"
\\n
\\n \\n \\n
\\n \\n \\n \\n
\\n
\\n\\n
\\n \\n \\n
\\n\\n \\n
\\n\\n\"","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { SYSTEM_FULL_NAME_UIK, SYSTEM_NAME_UIK } from './constants';\n\nexport const SYSTEM_NAME = SYSTEM_NAME_UIK;\n\nexport const SYSTEM_FULL_NAME = SYSTEM_FULL_NAME_UIK;\n\n// Set to true when building for production server\nexport const PRODUCTION_BUILD = false;\n\n// Set to true to use HTTPS protocol for PROD build\nexport const PROD_BUILD_USE_HTTPS = false;\n\n// Set to true when building for development server\nexport const DEVAPI_BUILD = true;\n\n// Set to true to use HTTPS protocol for DEV build\nexport const DEV_BUILD_USE_HTTPS = true;\n\n// Set to true when application's backend runs locally\nexport const LOCAL_BACKEND = false;\n\n// Set to true when auth (front + back) runs locally\nexport const LOCAL_AUTH = false;\n\n// Set to true when developing locally for local app redirection\nexport const LOCAL_DEVELOPMENT = false;\n","/* ### BASE URL ### */\nimport { StringUtils } from '../core-frontend-common/utils/string-utils';\nimport {\n PRODUCTION_BUILD,\n SYSTEM_NAME,\n PROD_BUILD_USE_HTTPS,\n DEV_BUILD_USE_HTTPS,\n DEVAPI_BUILD,\n LOCAL_BACKEND,\n LOCAL_AUTH,\n} from './app.settings';\nimport {\n SYSTEM_NAME_ALFRED,\n SYSTEM_NAME_AUTH,\n SYSTEM_NAME_EPC,\n SYSTEM_NAME_ETD,\n SYSTEM_NAME_HELPDESK,\n SYSTEM_NAME_ISBN,\n SYSTEM_NAME_LIBADMIN,\n SYSTEM_NAME_ROOMBOOK,\n SYSTEM_NAME_TOOLS,\n SYSTEM_NAME_UIK,\n SYSTEM_NAME_ZP,\n} from './constants';\n\nfunction getApiProtocol(): string {\n if (PRODUCTION_BUILD) {\n if (PROD_BUILD_USE_HTTPS) {\n return 'https';\n } else {\n return 'http';\n }\n }\n\n if (DEVAPI_BUILD) {\n if (DEV_BUILD_USE_HTTPS) {\n return 'https';\n } else {\n return 'http';\n }\n }\n\n return 'https';\n}\n\nfunction getClientProtocol(): string {\n if (PRODUCTION_BUILD) {\n if (PROD_BUILD_USE_HTTPS) {\n return 'https';\n } else {\n return 'http';\n }\n }\n\n if (DEVAPI_BUILD) {\n if (DEV_BUILD_USE_HTTPS) {\n return 'https';\n } else {\n return 'http';\n }\n }\n\n return 'http';\n}\n\nexport const LOCAL_APP_PORTS = {\n [SYSTEM_NAME_EPC]: 0,\n [SYSTEM_NAME_ETD]: 3003,\n [SYSTEM_NAME_ISBN]: 3004,\n [SYSTEM_NAME_ROOMBOOK]: 3001,\n [SYSTEM_NAME_ZP]: 0,\n [SYSTEM_NAME_UIK]: 3002,\n [SYSTEM_NAME_HELPDESK]: 0,\n [SYSTEM_NAME_TOOLS]: 0,\n [SYSTEM_NAME_LIBADMIN]: 0,\n [SYSTEM_NAME_ALFRED]: 3003,\n};\n\nexport const LOCAL_HOST = 'localhost'; // local frontend host (default localhost)\nexport const LOCAL_FRONTEND_PORT = '3003'; // local frontend port\nexport const LOCAL_BACKEND_PORT = '63550'; // local API port\n\nexport const PROD_HOST = 'portal.tuke.sk'; // production hostname\nexport const PROD_HOST_PORT = ''; // production host port (empty for default)\nexport const PROD_API_HOST = 'portal.tuke.sk'; // production API hostname\nexport const PROD_API_HOST_PORT = ''; // production API host port (empty for default)\nexport const DEV_HOST = 'portal.dev.msweb.tuke.sk'; // development hostname\nexport const DEV_HOST_PORT = ''; // development host port (empty for default)\nexport const DEV_API_HOST = 'portal.dev.msweb.tuke.sk'; // development API hostname\nexport const DEV_API_HOST_PORT = '';\n\n// local addresses (used for local development)\nexport const LOCAL_FRONTEND_URL = `${getClientProtocol()}://${LOCAL_HOST}:${LOCAL_FRONTEND_PORT}`;\nconst LOCAL_API_URL = `${getApiProtocol()}://${LOCAL_HOST}:${LOCAL_BACKEND_PORT}/api`;\n\n// base URL for frontend (non-local)\nexport const BASE_FRONTEND_URL = `${getClientProtocol()}://${PRODUCTION_BUILD ?\n (PROD_HOST + (StringUtils.isNullOrEmpty(PROD_HOST_PORT) ? '' : (':' + PROD_HOST_PORT))) :\n (DEV_HOST + (StringUtils.isNullOrEmpty(DEV_HOST_PORT) ? '' : (':' + DEV_HOST_PORT)))}`;\n\nexport function getBaseApiUrl(systemName?: string): string {\n if (PRODUCTION_BUILD) {\n return `${getApiProtocol()}://api.${systemName}.${PROD_API_HOST}${\n StringUtils.isNullOrEmpty(PROD_API_HOST_PORT) ? '' : (':' + PROD_API_HOST_PORT)\n }/api`;\n } else if (LOCAL_BACKEND && !DEVAPI_BUILD) {\n return LOCAL_API_URL;\n }\n\n return `${getApiProtocol()}://api.${systemName}.${DEV_API_HOST}${\n StringUtils.isNullOrEmpty(DEV_API_HOST_PORT) ? '' : (':' + DEV_API_HOST_PORT)\n }/api`;\n}\n\nexport function getBaseFrontendUrl(systemName?: string): string {\n if (systemName === SYSTEM_NAME_AUTH) {\n return `${getClientProtocol()}://${PRODUCTION_BUILD ? PROD_HOST : DEV_HOST}${\n StringUtils.isNullOrEmpty(PRODUCTION_BUILD ? PROD_HOST_PORT : DEV_HOST_PORT) ? '' : (':' + (PRODUCTION_BUILD ? PROD_HOST_PORT : DEV_HOST_PORT))\n }`;\n }\n return `${getClientProtocol()}://${systemName}.${PRODUCTION_BUILD ? PROD_HOST : DEV_HOST}${\n StringUtils.isNullOrEmpty(PRODUCTION_BUILD ? PROD_HOST_PORT : DEV_HOST_PORT) ? '' : (':' + (PRODUCTION_BUILD ? PROD_HOST_PORT : DEV_HOST_PORT))\n }`;\n}\n\nexport const LIBADMIN_URL = getBaseApiUrl(SYSTEM_NAME_LIBADMIN);\n\n// constructs base URL for API host without suffix\nfunction getCurrentApiHost(): string {\n if (PRODUCTION_BUILD) {\n return `${getApiProtocol()}://${PROD_API_HOST}`;\n } else if (LOCAL_BACKEND) {\n return `${getApiProtocol()}://${LOCAL_HOST}:${LOCAL_BACKEND_PORT}`;\n }\n\n return `${getApiProtocol()}://${DEV_API_HOST}`;\n}\n\nexport const BASE_URL = getBaseApiUrl(SYSTEM_NAME);\nexport const ADMIN_URL = getBaseApiUrl(SYSTEM_NAME_LIBADMIN);\nexport const CURRENT_API_HOST_URL = getCurrentApiHost();\n\nconst API_FACULTY_CODEBOOK = '/codebook/getFaculties';\nconst API_DEPARTMENT_CODEBOOK = '/codebook/getDepartments/';\n\nexport function getAppConfigurationUrl() {\n return `${BASE_URL}/config/client`;\n}\n\nexport function getSearchCollateFieldOfStudyUrl(phrase) {\n return `${BASE_URL}/codebook/searchCollateFieldOfStudy/${phrase}`;\n}\n\nexport function getLanguagesUrl() {\n return `${BASE_URL}/codebook/getLanguages`;\n}\n\n/* ### USER URLS ### */\nconst API_GET_USER = '/user';\nconst API_GET_USER_HISTORICAL = '/user/getWithHistorical/';\nconst API_GET_USER_PHOTO = '/user/photo/';\nconst API_GET_SEARCHED_USER = '/user/getSearched';\nconst API_UPDATE_EXTERNAL_USER = '/user/updateExternalThesisUser/';\nconst API_SEARCH_USER_COLLATE = '/user/searchCollate/';\n\n/* ### GENERAL URLS ### */\nconst API_CREATE = '/create';\nconst API_UPDATE = '/update/';\nconst API_DELETE = '/delete/';\nconst API_SOFT_DELETE = '/softDelete/';\n\n/* ### CONTROLLERS URLS ### */\nconst API_ITEMS = '/item';\nconst API_CATEGORIES = '/category';\nconst API_CASHBOX = '/cashbox';\nconst API_WORKPLACE = '/workplace';\nconst API_CHANGE_WORKPLACE = '/auth/changeWorkplace';\n\nexport function getFacultyCodebookUrl() {\n return BASE_URL + API_FACULTY_CODEBOOK;\n}\n\nexport function getDepartmentCodebookUrl(facultyId) {\n return `${BASE_URL + API_DEPARTMENT_CODEBOOK}/${facultyId}`;\n}\n\nexport function getSearchedUserUrl() {\n return BASE_URL + API_GET_SEARCHED_USER;\n}\n\nexport function getUpdateExternalUserUrl(id) {\n return BASE_URL + API_UPDATE_EXTERNAL_USER + id;\n}\n\nexport function getSearchUserCollateUrl(phrase) {\n return BASE_URL + API_SEARCH_USER_COLLATE + phrase;\n}\n\nexport function getUserByIdUrl(id: number) {\n return BASE_URL + API_GET_USER + id;\n}\n\nexport function getHistoricalUserByIdUrl(id: number) {\n return BASE_URL + API_GET_USER_HISTORICAL + id;\n}\n\nexport function getUserPhotoUrl(hash: string) {\n return BASE_URL + API_GET_USER_PHOTO + hash;\n}\n\nexport function getAllAppUsersUrl() {\n return `${BASE_URL + API_GET_USER}/getAllAppUsers`;\n}\n\nexport function getWorkplaceUrl() {\n return BASE_URL + API_WORKPLACE;\n}\n\nexport function getItemUrl() {\n return BASE_URL + API_ITEMS;\n}\n\nexport function getGetAllItemsFromWorkplaceUrl() {\n return `${BASE_URL + API_ITEMS}/getAllFromWorkplace`;\n}\n\nexport function getCreateItemUrl() {\n return BASE_URL + API_ITEMS + API_CREATE;\n}\n\nexport function getUpdateItemUrl(id: number) {\n return BASE_URL + API_ITEMS + API_UPDATE + id;\n}\n\nexport function getSoftDeleteItemUrl(id: number) {\n return BASE_URL + API_ITEMS + API_SOFT_DELETE + id;\n}\n\nexport function getCategoryUrl() {\n return BASE_URL + API_CATEGORIES;\n}\n\nexport function getCreateCategoryUrl() {\n return BASE_URL + API_CATEGORIES + API_CREATE;\n}\n\nexport function getUpdateCategoryUrl(id: number) {\n return BASE_URL + API_CATEGORIES + API_UPDATE + id;\n}\n\nexport function getSoftDeleteCategoryUrl(id: number) {\n return BASE_URL + API_CATEGORIES + API_SOFT_DELETE + id;\n}\n\nexport function getCashboxActualBalanceUrl() {\n return `${BASE_URL + API_CASHBOX}/getActualBalance`;\n}\n\nexport function getCurrentUserLastSellUrl() {\n return `${BASE_URL + API_CASHBOX}/getCurrentUserLastSell`;\n}\n\nexport function getCreateCashboxUrl() {\n return BASE_URL + API_CASHBOX + API_CREATE;\n}\n\nexport function getCreateCashboxSellUrl() {\n return `${BASE_URL + API_CASHBOX}/createSell`;\n}\n\nexport function getAllRecentCashboxUrl() {\n return `${BASE_URL + API_CASHBOX}/getAllRecent`;\n}\n\nexport function getTodaySellsFromWorkplaceUrl() {\n return `${BASE_URL + API_CASHBOX}/getTodaySellsFromWorkplace`;\n}\n\nexport function changeWorkplaceUrl() {\n return BASE_URL + API_CHANGE_WORKPLACE;\n}\n\nexport function getSessionValidityCheckUrl() {\n return `${BASE_URL}/auth/validSession`;\n}\n\nexport function getAllNotificationsForSystem(isForLoginScreen: boolean, systemName: string) {\n return `${LIBADMIN_URL}/notification?isForLoginScreen=${isForLoginScreen}&application=${systemName}`;\n}\n\nexport function getMinItemPriceUrl() {\n return `${BASE_URL}/config/key/MinAllowedPrice`;\n}\n\nexport function getUpdateMinItemPriceUrl() {\n return `${BASE_URL}/config/update`;\n}\n","export default \".btn:hover {\\n cursor: pointer;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS9jb21wb25lbnRzL2J0bi1ncm91cC1maWx0ZXIvYnRuLWdyb3VwLWZpbHRlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvK2FwcC1jdXN0b20vY29tcG9uZW50cy9idG4tZ3JvdXAtZmlsdGVyL2J0bi1ncm91cC1maWx0ZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxlQUFBO0FDQ0YiLCJmaWxlIjoic3JjL2FwcC8rYXBwLWN1c3RvbS9jb21wb25lbnRzL2J0bi1ncm91cC1maWx0ZXIvYnRuLWdyb3VwLWZpbHRlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5idG46aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4iLCIuYnRuOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufSJdfQ== */\"","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { BtnFilterItemModel } from './btn-filter-item.model';\nimport { COLORS } from '../../constants';\n\n@Component({\n selector: 'app-btn-group-filter',\n templateUrl: './btn-group-filter.component.html',\n styleUrls: ['./btn-group-filter.component.scss'],\n})\nexport class BtnGroupFilterComponent implements OnInit, OnDestroy {\n loaded = false;\n filterItems: BtnFilterItemModel[] = [];\n selectedItem: BtnFilterItemModel;\n\n @Output() onSelectEvent: EventEmitter = new EventEmitter();\n @Input() allowAllFilterButton = false;\n @Input() selectedItemId: number;\n @Input() items: BtnFilterItemModel[];\n @Input() parameterToDisplay?: string = null;\n @Input() showCounts = false;\n @Input() countSettings: {bgColor: string, txtColor: string} = {bgColor: '', txtColor: ''};\n constructor() {\n }\n\n ngOnInit() {\n this.filterItems = this.items;\n\n if (this.allowAllFilterButton) {\n this.addAllItem();\n this.selectedItem = this.filterItems.filter(item => item.id === 0)[0];\n this.loaded = true;\n } else {\n this.selectedItem = this.filterItems[0];\n this.onSelectEvent.emit(this.selectedItem.id);\n this.loaded = true;\n }\n\n if (this.selectedItemId) {\n this.selectedItem = this.filterItems.filter(item => item.id === this.selectedItemId)[0];\n }\n\n this.onSelect(this.selectedItem);\n }\n\n ngOnDestroy() {\n this.filterItems = [];\n this.loaded = false;\n this.selectedItem = null;\n }\n\n addAllItem() {\n if (this.filterItems.filter(e => e.id === 0).length === 0) {\n this.filterItems\n .push({\n id: 0,\n title: 'all',\n color: COLORS.blueDark,\n count: 0,\n txtColor: COLORS.blueDark,\n brdColor: COLORS.blueDark,\n translated: 'Všetky',\n });\n }\n }\n\n onSelect(item) {\n this.selectedItem = item;\n this.onSelectEvent.emit(this.selectedItem.id);\n }\n\n getCounts(itemId): number | null {\n if (itemId === 0) {\n let sum = 0;\n this.filterItems.forEach(i => {\n if (i.count !== null) {\n sum += i.count;\n }\n });\n return sum;\n }\n return this.filterItems.filter(i => i.id === itemId)[0].count;\n }\n\n}\n","export default \".info-header {\\n color: red;\\n font-weight: bold;\\n font-size: 3em;\\n text-align: center;\\n}\\n\\n.info-row-label {\\n text-align: right;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS9jb21wb25lbnRzL2Rldi9kZXYuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwLythcHAtY3VzdG9tL2NvbXBvbmVudHMvZGV2L2Rldi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFVBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtBQ0NKOztBREVBO0VBQ0ksaUJBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwLythcHAtY3VzdG9tL2NvbXBvbmVudHMvZGV2L2Rldi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5pbmZvLWhlYWRlciB7XG4gICAgY29sb3I6IHJlZDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5pbmZvLXJvdy1sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4iLCIuaW5mby1oZWFkZXIge1xuICBjb2xvcjogcmVkO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAzZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmluZm8tcm93LWxhYmVsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59Il19 */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-dev',\n templateUrl: './dev.component.html',\n styleUrls: ['./dev.component.scss'],\n})\nexport class DevComponent implements OnInit, OnDestroy {\n userLoadedRemotely: boolean;\n\n private routeSub: Subscription;\n\n constructor(private route: ActivatedRoute) {}\n\n ngOnInit(): void {\n this.routeSub = this.route.queryParams.subscribe(params => {\n const userParam = decodeURIComponent(params.user);\n\n if (userParam) {\n this.userLoadedRemotely = true;\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.routeSub) {\n this.routeSub.unsubscribe();\n }\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwLythcHAtY3VzdG9tL2NvbXBvbmVudHMvZGlhbG9nL2Jhc2UtbW9kYWwtZGlhbG9nLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap';\nimport { DialogButtonModel } from './models/dialog-button.model';\n\n@Component({\n selector: 'smart-base-modal-dialog',\n templateUrl: './base-modal-dialog.component.html',\n styleUrls: ['./base-modal-dialog.component.scss']\n})\nexport class BaseModalDialogComponent implements OnInit {\n title: string;\n content: string;\n template;\n buttons: DialogButtonModel[] = [];\n\n constructor(\n public bsModalRef: BsModalRef\n ) { }\n\n ngOnInit() {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { BaseModalDialogComponent } from './base-modal-dialog.component';\nimport { MatButtonModule, MatFormFieldModule, MatInputModule } from '@angular/material';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [\n MatFormFieldModule,\n FormsModule,\n MatInputModule,\n MatButtonModule,\n CommonModule,\n ],\n declarations: [\n BaseModalDialogComponent,\n ],\n providers: [\n ],\n entryComponents: [\n BaseModalDialogComponent\n ]\n})\n\nexport class BaseModalDialogModule {}\n","export default \".license-checkbox {\\n margin-left: 15px;\\n}\\n\\nfieldset {\\n padding-top: 0;\\n}\\n\\n.alert-with-padding {\\n margin-top: 15px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS9jb21wb25lbnRzL2V4dGVybmFsLXVzZXItbW9kYWwtZm9ybS9leHRlcm5hbC11c2VyLW1vZGFsLWZvcm0uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwLythcHAtY3VzdG9tL2NvbXBvbmVudHMvZXh0ZXJuYWwtdXNlci1tb2RhbC1mb3JtL2V4dGVybmFsLXVzZXItbW9kYWwtZm9ybS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFBO0FDQ0Y7O0FERUE7RUFDRSxjQUFBO0FDQ0Y7O0FERUE7RUFDRSxnQkFBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvK2FwcC1jdXN0b20vY29tcG9uZW50cy9leHRlcm5hbC11c2VyLW1vZGFsLWZvcm0vZXh0ZXJuYWwtdXNlci1tb2RhbC1mb3JtLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxpY2Vuc2UtY2hlY2tib3gge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLmFsZXJ0LXdpdGgtcGFkZGluZyB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG4iLCIubGljZW5zZS1jaGVja2JveCB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uYWxlcnQtd2l0aC1wYWRkaW5nIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn0iXX0= */\"","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { AppCommunicationService } from '../../services/app-communication.service';\nimport { AuthenticationService } from '../../../core-frontend-common/auth/authentication.service';\nimport { SYSTEM_NAME } from '../../app.settings';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { UserService } from '../../services/user.service';\nimport { Router } from '@angular/router';\nimport * as moment from 'moment';\nimport { Observable, of } from 'rxjs';\nimport { flatMap } from 'rxjs/operators';\nimport { ExternalUserModel } from '../../models/external-user.model';\n\n@Component({\n selector: 'app-external-user-modal-form',\n templateUrl: './external-user-modal-form.component.html',\n styleUrls: ['./external-user-modal-form.component.scss'],\n})\nexport class ExternalUserModalFormComponent implements OnInit {\n externalUserForm: FormGroup;\n externalUser: ExternalUserModel = new ExternalUserModel();\n dataLoaded = false;\n licenseCheckbox = false;\n wasFormModified = false;\n\n @Output() externalFormSubmitted: EventEmitter = new EventEmitter();\n @Output() valid: EventEmitter = new EventEmitter();\n @Input() externalUserData: any;\n @Input() newUser = false;\n @Output() submittedUser: EventEmitter = new EventEmitter();\n\n constructor(\n private formBuilder: FormBuilder,\n private userService: UserService,\n private router: Router,\n private appCommunicationService: AppCommunicationService,\n private authenticationService: AuthenticationService,\n ) {}\n\n ngOnInit() {\n this.fullFillForm();\n }\n\n fullFillForm() {\n if (!this.newUser) {\n this.externalUserForm = this.formBuilder.group({\n id: [this.externalUser.id],\n title: [this.externalUser.title],\n titleAfter: [this.externalUser.titleAfter],\n name: [this.externalUser.name, [Validators.required]],\n login: [this.externalUser.login],\n surname: [this.externalUser.surname, [Validators.required]],\n employmentCode: [this.externalUser.employmentCode, [Validators.required]],\n phone: [this.externalUser.phone, [Validators.required]],\n birthdate: [this.externalUser.birthdate, [Validators.required]],\n email: [this.externalUser.email, [Validators.required]],\n workCenterName: [this.externalUser.workCenterName, [Validators.required]],\n street: [this.externalUser.street, [Validators.required]],\n postalCode: [this.externalUser.postalCode, [Validators.required]],\n city: [this.externalUser.city, [Validators.required]],\n });\n } else {\n this.externalUserForm = this.formBuilder.group({\n id: [this.externalUser.id],\n title: [this.externalUser.title],\n titleAfter: [this.externalUser.titleAfter],\n name: [this.externalUser.name, [Validators.required]],\n surname: [this.externalUser.surname, [Validators.required]],\n email: [this.externalUser.email, [Validators.required]],\n isExternal: true,\n });\n }\n\n this.valid.emit(false);\n\n this.externalUserForm.valueChanges.subscribe(() => {\n this.wasFormModified = true;\n this.checkValidForm();\n });\n }\n\n checkValidForm() {\n if (this.externalUserForm.valid && this.licenseCheckbox) {\n this.valid.emit(true);\n this.submittedUser.emit(this.externalUserForm.value);\n return true;\n } else {\n this.valid.emit(false);\n return false;\n }\n }\n\n initUser(user = null) {\n const currentUser = AppCommunicationService.getCurrentUser().user;\n this.externalUser.id = currentUser.userId;\n this.externalUser.title = currentUser.title;\n this.externalUser.titleAfter = currentUser.titleAfter;\n this.externalUser.login = currentUser.login;\n this.externalUser.name = currentUser.name;\n this.externalUser.surname = currentUser.surname;\n this.externalUser.email = currentUser.email;\n this.externalUser.employmentCode = currentUser.employmentCode;\n this.externalUser.workCenterName = currentUser.workCenterName;\n if (user) {\n this.externalUser.phone = user.phone;\n if (user.birthdate) {\n this.externalUser.birthdate = moment(user.birthdate, 'YYYY-MM-DD HH:mm:ss').format('DD.MM.YYYY');\n } else {\n this.externalUser.birthdate = '';\n }\n this.externalUser.street = user.street;\n this.externalUser.postalCode = user.postalCode;\n this.externalUser.city = user.city;\n this.externalUser.workCenterName = user.workCenterName;\n }\n this.dataLoaded = true;\n this.fullFillForm();\n this.checkValidForm();\n }\n\n onNewUserForm() {\n this.dataLoaded = true;\n }\n\n onSubmitExternalUserForm(): Observable {\n const data = this.externalUserForm.value;\n data.birthdate = moment(this.externalUserForm.get('birthdate').value, 'DD.MM.YYYY')\n .toDate()\n .toDateString();\n\n if (this.wasFormModified) {\n this.userService\n .updateExternalThesisUser(data)\n .pipe(\n flatMap(user => {\n const currentUser = AppCommunicationService.getCurrentUser();\n currentUser.user.userId = user.id;\n const encrypted = AuthenticationService.encryptData(JSON.stringify(currentUser));\n localStorage.removeItem(`${SYSTEM_NAME.toLowerCase()}user`);\n localStorage.setItem(`${SYSTEM_NAME.toLowerCase()}user`, encrypted.toString());\n return this.authenticationService.changeEmployment(user.employmentCode);\n }),\n )\n .subscribe(\n () => {\n this.router.navigate(['/thesis/review']);\n },\n () => {\n this.appCommunicationService.loadingOff();\n return of(false);\n },\n );\n } else {\n this.router.navigate(['/thesis/review']);\n this.appCommunicationService.loadingOff();\n }\n return of(false);\n }\n}\n","export default \".actions {\\n padding: 20px 10px;\\n}\\n.actions mat-form-field {\\n width: 100%;\\n}\\n.actions mat-form-field textarea {\\n resize: none;\\n}\\ntextarea {\\n width: 100%;\\n background: transparent;\\n resize: none;\\n border: none;\\n}\\ntextarea:focus, textarea:active {\\n border: none;\\n outline: none;\\n}\\n.modal-content {\\n position: relative;\\n width: 420px;\\n height: 590px;\\n background-color: var(--dialog-bg);\\n z-index: 1051;\\n border: 0.5px solid var(--border-color);\\n border-radius: 9.5px;\\n box-shadow: 1px 3px 20px 0 var(--box-shadow);\\n overflow: hidden;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n box-sizing: border-box;\\n padding: 15px;\\n}\\n.modal-header {\\n padding: 5px 0;\\n border-bottom: 1px solid rgba(178, 178, 178, 0.18);\\n width: 100%;\\n}\\n.modal-header h1 {\\n font-size: 24px;\\n}\\n.modal-body {\\n width: 100%;\\n padding: 20px 10px 0 10px;\\n}\\n.main-button {\\n height: 58px;\\n width: 315px;\\n border: 0.5px solid #E1E0EA;\\n border-radius: 55px;\\n box-shadow: 1px 3px 20px 0 rgba(0, 149, 218, 0.25);\\n color: #fff !important;\\n font-size: 15px;\\n letter-spacing: 1px;\\n line-height: 15px !important;\\n text-align: center;\\n text-shadow: 0 2px 0 rgba(0, 0, 0, 0.15);\\n text-transform: uppercase;\\n margin: 0 auto;\\n}\\n.main-button.btn-green {\\n background: linear-gradient(33.97deg, #C2D588 0%, #B3D871 100%);\\n}\\n.main-button.btn-blue {\\n background-color: #323030;\\n}\\n.buttons-space {\\n width: 80%;\\n text-align: center;\\n padding-bottom: 6px;\\n position: absolute;\\n left: 50%;\\n bottom: 25px;\\n transform: translateX(-50%);\\n}\\n.modal.show.fade {\\n display: flex !important;\\n justify-content: center;\\n align-items: center;\\n}\\n.modal.show.fade .modal-dialog {\\n vertical-align: middle;\\n max-width: none;\\n}\\n.modal.show {\\n background: rgba(0, 0, 0, 0.4);\\n}\\n.modal-content {\\n font-family: \\\"Proxima Nova\\\", -apple-system, sans-serif !important;\\n border-radius: 10px;\\n border: 1px solid #E1E0EA;\\n background-color: white;\\n box-shadow: 2px 5px 40px 0 rgba(0, 0, 0, 0.25);\\n}\\n.modal-backdrop.in {\\n opacity: 0.8;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS9jb21wb25lbnRzL3JlcG9ydC1idWctZGlhbG9nL3JlcG9ydC1idWctZGlhbG9nLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC8rYXBwLWN1c3RvbS9jb21wb25lbnRzL3JlcG9ydC1idWctZGlhbG9nL3JlcG9ydC1idWctZGlhbG9nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQUE7QUNDRjtBRENFO0VBQ0UsV0FBQTtBQ0NKO0FEQ0k7RUFDRSxZQUFBO0FDQ047QURJQTtFQUNFLFdBQUE7RUFDQSx1QkFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0FDREY7QURHRTtFQUNFLFlBQUE7RUFDQSxhQUFBO0FDREo7QURLQTtFQUNFLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxrQ0FBQTtFQUNBLGFBQUE7RUFDQSx1Q0FBQTtFQUNBLG9CQUFBO0VBQ0EsNENBQUE7RUFDQSxnQkFBQTtFQUVBLGFBQUE7RUFHQSxzQkFBQTtFQUVBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxhQUFBO0FDRkY7QURLQTtFQUNFLGNBQUE7RUFDQSxrREFBQTtFQUNBLFdBQUE7QUNGRjtBRElFO0VBQ0UsZUFBQTtBQ0ZKO0FETUE7RUFDRSxXQUFBO0VBQ0EseUJBQUE7QUNIRjtBRE1BO0VBQ0UsWUFBQTtFQUNBLFlBQUE7RUFDQSwyQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0RBQUE7RUFDQSxzQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDRCQUFBO0VBQ0Esa0JBQUE7RUFDQSx3Q0FBQTtFQUNBLHlCQUFBO0VBQ0EsY0FBQTtBQ0hGO0FES0U7RUFDRSwrREFBQTtBQ0hKO0FETUU7RUFDRSx5QkFBQTtBQ0pKO0FEU0E7RUFDRSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFlBQUE7RUFDQSwyQkFBQTtBQ05GO0FEU0E7RUFDRSx3QkFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7QUNORjtBRFFFO0VBQ0Usc0JBQUE7RUFDQSxlQUFBO0FDTko7QURVQTtFQUNFLDhCQUFBO0FDUEY7QURVQTtFQUNFLGlFQUFBO0VBQ0EsbUJBQUE7RUFDQSx5QkFBQTtFQUNBLHVCQUFBO0VBQ0EsOENBQUE7QUNQRjtBRFVBO0VBQ0UsWUFBQTtBQ1BGIiwiZmlsZSI6InNyYy9hcHAvK2FwcC1jdXN0b20vY29tcG9uZW50cy9yZXBvcnQtYnVnLWRpYWxvZy9yZXBvcnQtYnVnLWRpYWxvZy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hY3Rpb25zIHtcbiAgcGFkZGluZzogMjBweCAxMHB4O1xuXG4gIG1hdC1mb3JtLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHRleHRhcmVhIHtcbiAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxudGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHJlc2l6ZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuXG4gICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQyMHB4O1xuICBoZWlnaHQ6IDU5MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kaWFsb2ctYmcpO1xuICB6LWluZGV4OiAxMDUxO1xuICBib3JkZXI6IC41cHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogOS41cHg7XG4gIGJveC1zaGFkb3c6IDFweCAzcHggMjBweCAwIHZhcigtLWJveC1zaGFkb3cpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG5cbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiA1cHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTc4LDE3OCwxNzgsLjE4KTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuXG4ubW9kYWwtYm9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDEwcHggMCAxMHB4O1xufVxuXG4ubWFpbi1idXR0b24ge1xuICBoZWlnaHQ6IDU4cHg7XG4gIHdpZHRoOiAzMTVweDtcbiAgYm9yZGVyOiAwLjVweCBzb2xpZCAjRTFFMEVBO1xuICBib3JkZXItcmFkaXVzOiA1NXB4O1xuICBib3gtc2hhZG93OiAxcHggM3B4IDIwcHggMCByZ2JhKDAsMTQ5LDIxOCwwLjI1KTtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBsaW5lLWhlaWdodDogMTVweCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDJweCAwIHJnYmEoMCwwLDAsMC4xNSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gICYuYnRuLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzMuOTdkZWcsICNDMkQ1ODggMCUsICNCM0Q4NzEgMTAwJSk7XG4gIH1cblxuICAmLmJ0bi1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIzMDMwO1xuICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMzc4MmJlLCAjMTM5MEFFKTtcbiAgfVxufVxuXG4uYnV0dG9ucy1zcGFjZSB7XG4gIHdpZHRoOiA4MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogMjVweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4ubW9kYWwuc2hvdy5mYWRlIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAubW9kYWwtZGlhbG9nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cbi5tb2RhbC5zaG93IHtcbiAgYmFja2dyb3VuZDogcmdiKDAsIDAsIDAsIDAuNCk7XG59XG5cbi5tb2RhbC1jb250ZW50IHtcbiAgZm9udC1mYW1pbHk6IFwiUHJveGltYSBOb3ZhXCIsIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0UxRTBFQTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDJweCA1cHggNDBweCAwIHJnYmEoMCwwLDAsMC4yNSk7XG59XG5cbi5tb2RhbC1iYWNrZHJvcC5pbiB7XG4gIG9wYWNpdHk6IDAuODtcbn1cbiIsIi5hY3Rpb25zIHtcbiAgcGFkZGluZzogMjBweCAxMHB4O1xufVxuLmFjdGlvbnMgbWF0LWZvcm0tZmllbGQge1xuICB3aWR0aDogMTAwJTtcbn1cbi5hY3Rpb25zIG1hdC1mb3JtLWZpZWxkIHRleHRhcmVhIHtcbiAgcmVzaXplOiBub25lO1xufVxuXG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcmVzaXplOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG59XG50ZXh0YXJlYTpmb2N1cywgdGV4dGFyZWE6YWN0aXZlIHtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQyMHB4O1xuICBoZWlnaHQ6IDU5MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kaWFsb2ctYmcpO1xuICB6LWluZGV4OiAxMDUxO1xuICBib3JkZXI6IDAuNXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IDkuNXB4O1xuICBib3gtc2hhZG93OiAxcHggM3B4IDIwcHggMCB2YXIoLS1ib3gtc2hhZG93KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxNXB4O1xufVxuXG4ubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE3OCwgMTc4LCAxNzgsIDAuMTgpO1xuICB3aWR0aDogMTAwJTtcbn1cbi5tb2RhbC1oZWFkZXIgaDEge1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHggMTBweCAwIDEwcHg7XG59XG5cbi5tYWluLWJ1dHRvbiB7XG4gIGhlaWdodDogNThweDtcbiAgd2lkdGg6IDMxNXB4O1xuICBib3JkZXI6IDAuNXB4IHNvbGlkICNFMUUwRUE7XG4gIGJvcmRlci1yYWRpdXM6IDU1cHg7XG4gIGJveC1zaGFkb3c6IDFweCAzcHggMjBweCAwIHJnYmEoMCwgMTQ5LCAyMTgsIDAuMjUpO1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDAgMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4ubWFpbi1idXR0b24uYnRuLWdyZWVuIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDMzLjk3ZGVnLCAjQzJENTg4IDAlLCAjQjNEODcxIDEwMCUpO1xufVxuLm1haW4tYnV0dG9uLmJ0bi1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyMzAzMDtcbn1cblxuLmJ1dHRvbnMtc3BhY2Uge1xuICB3aWR0aDogODAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDI1cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLm1vZGFsLnNob3cuZmFkZSB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ubW9kYWwuc2hvdy5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5tb2RhbC5zaG93IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4ubW9kYWwtY29udGVudCB7XG4gIGZvbnQtZmFtaWx5OiBcIlByb3hpbWEgTm92YVwiLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFMUUwRUE7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3gtc2hhZG93OiAycHggNXB4IDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4ubW9kYWwtYmFja2Ryb3AuaW4ge1xuICBvcGFjaXR5OiAwLjg7XG59Il19 */\"","import {Component, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {ModalDirective} from 'ngx-bootstrap';\nimport { ReportBugService } from './report-bug.service';\n\n@Component({\n selector: 'app-report-bug-dialog',\n templateUrl: './report-bug-dialog.component.html',\n styleUrls: ['./report-bug-dialog.component.scss']\n})\nexport class ReportBugDialogComponent implements OnInit {\n public message = '';\n\n @ViewChild('staticModal', {static: false}) modal: ModalDirective;\n\n @Output() onReportBugSubmit: EventEmitter = new EventEmitter();\n constructor(\n protected reportBugService: ReportBugService\n ) { }\n\n ngOnInit() {\n }\n\n openModal() {\n this.modal.show();\n }\n\n close() {\n this.modal.hide();\n this.reportBugService.onClose.next(true);\n }\n\n clickedButton() {\n if (this.message && this.message.length > 0) {\n this.onReportBugSubmit.emit(this.message);\n this.message = '';\n this.close();\n }\n return;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {ReportBugDialogComponent} from './report-bug-dialog.component';\nimport {ModalModule} from 'ngx-bootstrap';\nimport {FormsModule} from '@angular/forms';\nimport {MatButtonModule, MatIconModule, MatInputModule} from '@angular/material';\nimport {DragDropModule} from '@angular/cdk/drag-drop';\nimport { I18nModule } from '../../../core-frontend-common/template/shared/i18n/i18n.module';\nimport { ReportBugService } from './report-bug.service';\n\n@NgModule({\n declarations: [\n ReportBugDialogComponent\n ],\n imports: [\n ModalModule,\n FormsModule,\n MatInputModule,\n MatIconModule,\n MatButtonModule,\n DragDropModule,\n I18nModule,\n ],\n exports: [\n ReportBugDialogComponent\n ],\n providers: [\n ReportBugService\n ]\n})\n\nexport class ReportBugDialogModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ReportBugService {\n reportBug: Subject = new Subject();\n\n onClose: BehaviorSubject = new BehaviorSubject(false);\n\n constructor() {\n }\n}\n","export default \".tile-container {\\n padding-bottom: 100%;\\n height: 100%;\\n background-color: white;\\n position: relative;\\n overflow: hidden;\\n border: 1px solid #22262e;\\n margin-top: 15px;\\n}\\n.tile-container .image-container {\\n background-color: white;\\n height: 80%;\\n width: 100%;\\n top: 0;\\n position: absolute;\\n}\\n.tile-container .image-container img {\\n width: 60%;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n position: absolute;\\n}\\n.tile-container .description-container {\\n background-color: #22262e;\\n height: 20%;\\n width: 100%;\\n bottom: 0;\\n position: absolute;\\n text-align: center;\\n font-size: 15px;\\n}\\n.tile-container .description-container__hidden {\\n color: white;\\n opacity: 0;\\n position: absolute;\\n width: 80%;\\n bottom: 0;\\n font-size: 0.8em;\\n}\\n.tile-container .description-container__visible {\\n color: white;\\n width: 80%;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n position: absolute;\\n padding: 5px 0;\\n}\\n.tile-container:hover {\\n cursor: pointer;\\n -webkit-animation: forwards tileShadowAnimation 0.2s linear;\\n animation: forwards tileShadowAnimation 0.2s linear;\\n border-radius: 4px;\\n}\\n.tile-container:hover .description-container {\\n -webkit-animation: forwards descriptionAnimation 0.2s linear;\\n animation: forwards descriptionAnimation 0.2s linear;\\n}\\n.tile-container:hover .description-container__visible {\\n -webkit-animation: forwards descriptionPositionAnimation 0.2s linear;\\n animation: forwards descriptionPositionAnimation 0.2s linear;\\n}\\n.tile-container:hover .description-container__hidden {\\n -webkit-animation: forwards descriptionHiddenAnimation 0.7s ease-in;\\n animation: forwards descriptionHiddenAnimation 0.7s ease-in;\\n}\\n@-webkit-keyframes tileShadowAnimation {\\n 0% {\\n box-shadow: none;\\n }\\n 50% {\\n box-shadow: 0 0 11px rgba(0, 0, 0, 0.2);\\n }\\n 100% {\\n box-shadow: 0 0 18px rgba(0, 0, 0, 0.4);\\n }\\n}\\n@keyframes tileShadowAnimation {\\n 0% {\\n box-shadow: none;\\n }\\n 50% {\\n box-shadow: 0 0 11px rgba(0, 0, 0, 0.2);\\n }\\n 100% {\\n box-shadow: 0 0 18px rgba(0, 0, 0, 0.4);\\n }\\n}\\n@-webkit-keyframes descriptionAnimation {\\n 0% {\\n height: 20%;\\n background-color: #22262e;\\n }\\n 50% {\\n height: 30%;\\n background-color: rgba(34, 38, 46, 0.95);\\n }\\n 100% {\\n height: 40%;\\n background-color: rgba(34, 38, 46, 0.9);\\n }\\n}\\n@keyframes descriptionAnimation {\\n 0% {\\n height: 20%;\\n background-color: #22262e;\\n }\\n 50% {\\n height: 30%;\\n background-color: rgba(34, 38, 46, 0.95);\\n }\\n 100% {\\n height: 40%;\\n background-color: rgba(34, 38, 46, 0.9);\\n }\\n}\\n@-webkit-keyframes descriptionPositionAnimation {\\n 0% {\\n top: 50%;\\n }\\n 50% {\\n top: 45%;\\n }\\n 100% {\\n top: 40%;\\n }\\n}\\n@keyframes descriptionPositionAnimation {\\n 0% {\\n top: 50%;\\n }\\n 50% {\\n top: 45%;\\n }\\n 100% {\\n top: 40%;\\n }\\n}\\n@-webkit-keyframes descriptionHiddenAnimation {\\n 0% {\\n opacity: 0;\\n left: -25%;\\n transform: translateX(-100%);\\n }\\n 25% {\\n opacity: 0.3;\\n left: 0;\\n transform: translateX(-90%);\\n }\\n 50% {\\n opacity: 0.5;\\n left: 25%;\\n transform: translateX(-80%);\\n }\\n 80% {\\n opacity: 0.8;\\n left: 70%;\\n transform: translateX(-30%);\\n }\\n 100% {\\n opacity: 1;\\n left: 50%;\\n transform: translateX(-50%);\\n }\\n}\\n@keyframes descriptionHiddenAnimation {\\n 0% {\\n opacity: 0;\\n left: -25%;\\n transform: translateX(-100%);\\n }\\n 25% {\\n opacity: 0.3;\\n left: 0;\\n transform: translateX(-90%);\\n }\\n 50% {\\n opacity: 0.5;\\n left: 25%;\\n transform: translateX(-80%);\\n }\\n 80% {\\n opacity: 0.8;\\n left: 70%;\\n transform: translateX(-30%);\\n }\\n 100% {\\n opacity: 1;\\n left: 50%;\\n transform: translateX(-50%);\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS9jb21wb25lbnRzL3RpbGUvdGlsZS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvK2FwcC1jdXN0b20vY29tcG9uZW50cy90aWxlL3RpbGUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxvQkFBQTtFQUNBLFlBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkFBQTtFQUNBLGdCQUFBO0FDQ0Y7QURDRTtFQUNFLHVCQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxNQUFBO0VBQ0Esa0JBQUE7QUNDSjtBRENJO0VBQ0UsVUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsZ0NBQUE7RUFDQSxrQkFBQTtBQ0NOO0FER0U7RUFDRSx5QkFBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0FDREo7QURHSTtFQUNFLFlBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBO0FDRE47QURJSTtFQUNFLFlBQUE7RUFDQSxVQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxnQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtBQ0ZOO0FETUU7RUFDRSxlQUFBO0VBQ0EsMkRBQUE7VUFBQSxtREFBQTtFQUNBLGtCQUFBO0FDSko7QURNSTtFQUNFLDREQUFBO1VBQUEsb0RBQUE7QUNKTjtBRE1NO0VBQ0Usb0VBQUE7VUFBQSw0REFBQTtBQ0pSO0FET007RUFDRSxtRUFBQTtVQUFBLDJEQUFBO0FDTFI7QURXQTtFQUNFO0lBQ0UsZ0JBQUE7RUNSRjtFRFVBO0lBQ0UsdUNBQUE7RUNSRjtFRFVBO0lBQ0UsdUNBQUE7RUNSRjtBQUNGO0FEREE7RUFDRTtJQUNFLGdCQUFBO0VDUkY7RURVQTtJQUNFLHVDQUFBO0VDUkY7RURVQTtJQUNFLHVDQUFBO0VDUkY7QUFDRjtBRFdBO0VBQ0U7SUFDRSxXQUFBO0lBQ0EseUJBQUE7RUNURjtFRFdBO0lBQ0UsV0FBQTtJQUNBLHdDQUFBO0VDVEY7RURXQTtJQUNFLFdBQUE7SUFDQSx1Q0FBQTtFQ1RGO0FBQ0Y7QURIQTtFQUNFO0lBQ0UsV0FBQTtJQUNBLHlCQUFBO0VDVEY7RURXQTtJQUNFLFdBQUE7SUFDQSx3Q0FBQTtFQ1RGO0VEV0E7SUFDRSxXQUFBO0lBQ0EsdUNBQUE7RUNURjtBQUNGO0FEWUE7RUFDRTtJQUNFLFFBQUE7RUNWRjtFRFlBO0lBQ0UsUUFBQTtFQ1ZGO0VEWUE7SUFDRSxRQUFBO0VDVkY7QUFDRjtBRENBO0VBQ0U7SUFDRSxRQUFBO0VDVkY7RURZQTtJQUNFLFFBQUE7RUNWRjtFRFlBO0lBQ0UsUUFBQTtFQ1ZGO0FBQ0Y7QURhQTtFQUNFO0lBQ0UsVUFBQTtJQUNBLFVBQUE7SUFDQSw0QkFBQTtFQ1hGO0VEYUE7SUFDRSxZQUFBO0lBQ0EsT0FBQTtJQUNBLDJCQUFBO0VDWEY7RURjQTtJQUNFLFlBQUE7SUFDQSxTQUFBO0lBQ0EsMkJBQUE7RUNaRjtFRGNBO0lBQ0UsWUFBQTtJQUNBLFNBQUE7SUFDQSwyQkFBQTtFQ1pGO0VEY0E7SUFDRSxVQUFBO0lBQ0EsU0FBQTtJQUNBLDJCQUFBO0VDWkY7QUFDRjtBRGRBO0VBQ0U7SUFDRSxVQUFBO0lBQ0EsVUFBQTtJQUNBLDRCQUFBO0VDWEY7RURhQTtJQUNFLFlBQUE7SUFDQSxPQUFBO0lBQ0EsMkJBQUE7RUNYRjtFRGNBO0lBQ0UsWUFBQTtJQUNBLFNBQUE7SUFDQSwyQkFBQTtFQ1pGO0VEY0E7SUFDRSxZQUFBO0lBQ0EsU0FBQTtJQUNBLDJCQUFBO0VDWkY7RURjQTtJQUNFLFVBQUE7SUFDQSxTQUFBO0lBQ0EsMkJBQUE7RUNaRjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvK2FwcC1jdXN0b20vY29tcG9uZW50cy90aWxlL3RpbGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGlsZS1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzIyMjYyZTtcbiAgbWFyZ2luLXRvcDogMTVweDtcblxuICAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgaGVpZ2h0OiA4MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyNjJlO1xuICAgIGhlaWdodDogMjAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcblxuICAgICZfX2hpZGRlbiB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICB9XG5cbiAgICAmX192aXNpYmxlIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFuaW1hdGlvbjogZm9yd2FyZHMgdGlsZVNoYWRvd0FuaW1hdGlvbiAuMnMgbGluZWFyO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcblxuICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xuICAgICAgYW5pbWF0aW9uOiBmb3J3YXJkcyBkZXNjcmlwdGlvbkFuaW1hdGlvbiAuMnMgbGluZWFyO1xuXG4gICAgICAmX192aXNpYmxlIHtcbiAgICAgICAgYW5pbWF0aW9uOiBmb3J3YXJkcyBkZXNjcmlwdGlvblBvc2l0aW9uQW5pbWF0aW9uIC4ycyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICZfX2hpZGRlbiB7XG4gICAgICAgIGFuaW1hdGlvbjogZm9yd2FyZHMgZGVzY3JpcHRpb25IaWRkZW5BbmltYXRpb24gLjdzIGVhc2UtaW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgdGlsZVNoYWRvd0FuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIDUwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDExcHggcmdiYSgwLCAwLCAwLCAuMik7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDE4cHggcmdiYSgwLCAwLCAwLCAuNCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBkZXNjcmlwdGlvbkFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICBoZWlnaHQ6IDIwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyNjJlO1xuICB9XG4gIDUwJSB7XG4gICAgaGVpZ2h0OiAzMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzgsIDQ2LCAwLjk1KTtcbiAgfVxuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDQwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzOCwgNDYsIDAuOSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBkZXNjcmlwdGlvblBvc2l0aW9uQW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIHRvcDogNTAlO1xuICB9XG4gIDUwJSB7XG4gICAgdG9wOiA0NSU7XG4gIH1cbiAgMTAwJSB7XG4gICAgdG9wOiA0MCU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBkZXNjcmlwdGlvbkhpZGRlbkFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGxlZnQ6IC0yNSU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICAyNSUge1xuICAgIG9wYWNpdHk6IC4zO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05MCUpO1xuXG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04MCUpO1xuICB9XG4gIDgwJSB7XG4gICAgb3BhY2l0eTogLjg7XG4gICAgbGVmdDogNzAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cbiIsIi50aWxlLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyMjI2MmU7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG4udGlsZS1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBoZWlnaHQ6IDgwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnRpbGUtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgd2lkdGg6IDYwJTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi50aWxlLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjYyZTtcbiAgaGVpZ2h0OiAyMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE1cHg7XG59XG4udGlsZS1jb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lcl9faGlkZGVuIHtcbiAgY29sb3I6IHdoaXRlO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA4MCU7XG4gIGJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cbi50aWxlLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyX192aXNpYmxlIHtcbiAgY29sb3I6IHdoaXRlO1xuICB3aWR0aDogODAlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiA1cHggMDtcbn1cbi50aWxlLWNvbnRhaW5lcjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYW5pbWF0aW9uOiBmb3J3YXJkcyB0aWxlU2hhZG93QW5pbWF0aW9uIDAuMnMgbGluZWFyO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4udGlsZS1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XG4gIGFuaW1hdGlvbjogZm9yd2FyZHMgZGVzY3JpcHRpb25BbmltYXRpb24gMC4ycyBsaW5lYXI7XG59XG4udGlsZS1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lcl9fdmlzaWJsZSB7XG4gIGFuaW1hdGlvbjogZm9yd2FyZHMgZGVzY3JpcHRpb25Qb3NpdGlvbkFuaW1hdGlvbiAwLjJzIGxpbmVhcjtcbn1cbi50aWxlLWNvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24tY29udGFpbmVyX19oaWRkZW4ge1xuICBhbmltYXRpb246IGZvcndhcmRzIGRlc2NyaXB0aW9uSGlkZGVuQW5pbWF0aW9uIDAuN3MgZWFzZS1pbjtcbn1cblxuQGtleWZyYW1lcyB0aWxlU2hhZG93QW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgNTAlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMTFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDE4cHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGRlc2NyaXB0aW9uQW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIGhlaWdodDogMjAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI2MmU7XG4gIH1cbiAgNTAlIHtcbiAgICBoZWlnaHQ6IDMwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzOCwgNDYsIDAuOTUpO1xuICB9XG4gIDEwMCUge1xuICAgIGhlaWdodDogNDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM4LCA0NiwgMC45KTtcbiAgfVxufVxuQGtleWZyYW1lcyBkZXNjcmlwdGlvblBvc2l0aW9uQW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIHRvcDogNTAlO1xuICB9XG4gIDUwJSB7XG4gICAgdG9wOiA0NSU7XG4gIH1cbiAgMTAwJSB7XG4gICAgdG9wOiA0MCU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZGVzY3JpcHRpb25IaWRkZW5BbmltYXRpb24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBsZWZ0OiAtMjUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbiAgMjUlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTkwJSk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgbGVmdDogMjUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtODAlKTtcbiAgfVxuICA4MCUge1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICBsZWZ0OiA3MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufSJdfQ== */\"","import { Component, Input, OnInit } from \"@angular/core\";\nimport { TileModel } from \"./tile.model\";\n\n@Component({\n selector: \"app-tile\",\n templateUrl: \"./tile.component.html\",\n styleUrls: [\"./tile.component.scss\"]\n})\nexport class TileComponent implements OnInit {\n\n @Input() tile: TileModel;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n}\n","export class TileModel {\n id?: number;\n title: string;\n route: string;\n redirectUrlAfterClick?: string;\n roles?: string[];\n imageUrl: string;\n}\n","export default \".main-container {\\n border: 1px solid #808080;\\n background-color: #f1efef;\\n min-height: 320px;\\n position: relative;\\n margin: 15px;\\n}\\n.main-container .participant-container .close-button {\\n position: absolute;\\n top: 0;\\n right: 0;\\n z-index: 1;\\n}\\n.add-button-container {\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n position: absolute;\\n}\\n.search-container {\\n position: absolute;\\n left: 50%;\\n top: 40%;\\n transform: translate(-50%, -50%);\\n width: 90%;\\n content: \\\"\\\";\\n}\\n.info-container .col {\\n padding-top: 5px;\\n}\\n.info-container .buttons-container {\\n position: absolute;\\n bottom: 15px;\\n width: calc(100% - 30px);\\n width: -moz-calc(100% - 30px);\\n margin-left: 15px;\\n}\\n.modal-dialog {\\n margin: 0 auto !important;\\n top: 30%;\\n transform: translateY(-50%);\\n}\\n.modal-dialog .modal-header, .modal-dialog .modal-footer {\\n padding: 15px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS9jb21wb25lbnRzL3VzZXItc2VhcmNoL3VzZXItc2VhcmNoLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC8rYXBwLWN1c3RvbS9jb21wb25lbnRzL3VzZXItc2VhcmNoL3VzZXItc2VhcmNoLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UseUJBQUE7RUFDQSx5QkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0FDQ0Y7QURFSTtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0FDQU47QURLQTtFQUNFLFFBQUE7RUFDQSxTQUFBO0VBQ0EsZ0NBQUE7RUFDQSxrQkFBQTtBQ0ZGO0FES0E7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0EsZ0NBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtBQ0ZGO0FETUU7RUFDRSxnQkFBQTtBQ0hKO0FES0U7RUFDRSxrQkFBQTtFQUNBLFlBQUE7RUFDQSx3QkFBQTtFQUVBLDZCQUFBO0VBQ0EsaUJBQUE7QUNISjtBRE9BO0VBQ0UseUJBQUE7RUFDQSxRQUFBO0VBQ0EsMkJBQUE7QUNKRjtBRE1FO0VBQ0UsYUFBQTtBQ0pKIiwiZmlsZSI6InNyYy9hcHAvK2FwcC1jdXN0b20vY29tcG9uZW50cy91c2VyLXNlYXJjaC91c2VyLXNlYXJjaC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYWluLWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4MDgwODA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWVmZWY7XG4gIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMTVweDtcblxuICAucGFydGljaXBhbnQtY29udGFpbmVyIHtcbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn1cblxuLmFkZC1idXR0b24tY29udGFpbmVyIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnNlYXJjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA0MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogOTAlO1xuICBjb250ZW50OiAnJztcbn1cblxuLmluZm8tY29udGFpbmVyIHtcbiAgLmNvbCB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgfVxuICAuYnV0dG9ucy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDE1cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgIHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwJSAtIDMwcHgpO1xuICAgIHdpZHRoOiAtbW96LWNhbGMoMTAwJSAtIDMwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2cge1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICB0b3A6IDMwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gIC5tb2RhbC1oZWFkZXIsIC5tb2RhbC1mb290ZXIge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cbn1cbiIsIi5tYWluLWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4MDgwODA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWVmZWY7XG4gIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMTVweDtcbn1cbi5tYWluLWNvbnRhaW5lciAucGFydGljaXBhbnQtY29udGFpbmVyIC5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5hZGQtYnV0dG9uLWNvbnRhaW5lciB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5zZWFyY2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDkwJTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLmluZm8tY29udGFpbmVyIC5jb2wge1xuICBwYWRkaW5nLXRvcDogNXB4O1xufVxuLmluZm8tY29udGFpbmVyIC5idXR0b25zLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxNXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gIHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwJSAtIDMwcHgpO1xuICB3aWR0aDogLW1vei1jYWxjKDEwMCUgLSAzMHB4KTtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG5cbi5tb2RhbC1kaWFsb2cge1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICB0b3A6IDMwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuLm1vZGFsLWRpYWxvZyAubW9kYWwtaGVhZGVyLCAubW9kYWwtZGlhbG9nIC5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiAxNXB4O1xufSJdfQ== */\"","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { UserService } from '../../services/user.service';\nimport { AppCommunicationService } from '../../services/app-communication.service';\nimport { ModalDirective } from 'ngx-bootstrap';\nimport { GeneralService } from '../../services/general.service';\nimport { ParticipantModel } from '../../models/participant.model';\nimport { ExternalUserModalFormComponent } from '../external-user-modal-form/external-user-modal-form.component';\nimport { flatMap } from 'rxjs/operators';\n\n@Component({\n selector: 'app-user-search',\n templateUrl: './user-search.component.html',\n styleUrls: ['./user-search.component.scss'],\n})\nexport class UserSearchComponent implements OnInit {\n data = [];\n states = {\n opened: false,\n searching: false,\n submitted: false,\n };\n externalUserFormValid = false;\n faculties = [];\n workcenteres = [];\n userData = {\n faculty: {\n facultyId: null,\n facultyName: '',\n },\n workCenter: {\n departmentId: null,\n departmentyName: '',\n },\n };\n\n @Output() submittedParticipant: EventEmitter = new EventEmitter();\n @Output() onDeleteParticipant: EventEmitter = new EventEmitter();\n @Input() selectedUser: ParticipantModel;\n @Input() withAddress: boolean;\n @ViewChild('searchInput', { static: true }) searchInput: ElementRef;\n @ViewChild('externalUserModal', { static: true }) externalUserModal: ModalDirective;\n @ViewChild(ExternalUserModalFormComponent, { static: true }) externalModalForm: ExternalUserModalFormComponent;\n\n constructor(\n private userService: UserService,\n private appCommunicationService: AppCommunicationService,\n private generalService: GeneralService,\n ) {}\n\n ngOnInit() {\n if (this.selectedUser.id || this.selectedUser.isExternal) {\n this.states.opened = true;\n this.states.submitted = true;\n this.getFaculties();\n }\n this.getFacultiesData();\n }\n\n getFacultiesData() {\n this.generalService.getFaculties().subscribe(faculties => (this.faculties = faculties));\n }\n\n getFaculties() {\n this.generalService\n .getFaculties()\n .pipe(\n flatMap(val => {\n this.faculties = val;\n return this.mapFacultyToUser(val, this.selectedUser);\n }),\n )\n .pipe(\n flatMap(faculty => {\n this.selectedUser.facultyId = faculty[0].facultyId;\n this.selectedUser.facultyName = faculty[0].facultyName;\n return this.mapWorkcenterToUser(faculty[0]);\n }),\n )\n .subscribe(workCenter => {\n workCenter.filter(dep => {\n if (dep.departmentId === this.selectedUser.workCenterId) {\n this.selectedUser.workCenterId = dep.departmentId;\n this.selectedUser.workCenterName = dep.departmentyName;\n }\n });\n });\n }\n\n mapFacultyToUser(faculties: any[], user): Observable {\n return of(faculties.filter(faculty => faculty.facultyCode === user.facultyCode));\n }\n\n mapWorkcenterToUser(workcenter: any): Observable {\n return this.getDepartmentByFacultyId(workcenter.facultyId);\n }\n\n getDepartmentByFacultyId(facultyId): Observable {\n return this.generalService.getDepartments(facultyId);\n }\n\n getWorkCenterByFacultyId() {\n this.selectedUser.facultyId = this.userData.faculty.facultyId;\n this.selectedUser.facultyName = this.userData.faculty.facultyName;\n\n this.generalService.getDepartments(this.userData.faculty.facultyId).subscribe(val => {\n this.workcenteres = val;\n });\n }\n\n onWorkCenterChange() {\n this.selectedUser.workCenterId = this.userData.workCenter.departmentId;\n this.selectedUser.workCenterName = this.userData.workCenter.departmentyName;\n }\n\n onExternalUserSubmit(user) {\n this.selectedUser = user;\n }\n\n onExternalUserSubmitForm() {\n if (this.externalUserFormValid) {\n this.states.opened = true;\n this.states.searching = false;\n this.externalUserModal.hide();\n }\n }\n\n externalUserFormValidChange(val) {\n this.externalUserFormValid = !!val;\n }\n\n onFilterUsers(event) {\n this.userService.searchUser(event.query).subscribe(val => {\n if (val === null) {\n val = [];\n val.push({\n id: 0,\n title: 'Nenašli ste čo ste hľadali?',\n name: '',\n surname: '',\n titleAfter: '',\n workCenterCode: '',\n facultyCode: '',\n });\n } else {\n val.push({\n id: 0,\n title: 'Nenašli ste čo ste hľadali?',\n name: '',\n surname: '',\n titleAfter: '',\n workCenterCode: '',\n facultyCode: '',\n });\n }\n this.data = val;\n });\n }\n\n onSelectOption() {\n if (this.selectedUser.id === 0) {\n this.openExternalUserModal();\n this.externalModalForm.onNewUserForm();\n return;\n }\n this.appCommunicationService.loadingOn('Načítavam dáta.');\n this.states.searching = false;\n this.userService.getSearched(this.selectedUser).subscribe(\n user => {\n this.selectedUser = user;\n this.appCommunicationService.loadingOff();\n },\n () => {\n this.appCommunicationService.loadingOff();\n this.states.searching = true;\n },\n );\n }\n\n openExternalUserModal() {\n this.externalUserModal.show();\n }\n\n onSubmitParticipant() {\n this.submittedParticipant.emit(this.selectedUser);\n this.states.submitted = true;\n }\n\n toggleSearching() {\n this.states.searching = !this.states.searching;\n }\n\n onCloseButton() {\n this.states.opened = false;\n this.states.searching = false;\n if (this.states.submitted) {\n this.onDeleteParticipant.emit(true);\n this.states.submitted = false;\n }\n }\n\n onAddParticipantButton() {\n this.states.opened = true;\n this.states.searching = true;\n }\n}\n","// Sem patria globalne konstanty\n\nexport const SYSTEM_NAME_AUTH = 'AUTH';\nexport const SYSTEM_NAME_EPC = 'EPC';\nexport const SYSTEM_NAME_ETD = 'ETD';\nexport const SYSTEM_NAME_ISBN = 'ISBN';\nexport const SYSTEM_NAME_ROOMBOOK = 'ROOMBOOK';\nexport const SYSTEM_NAME_ZP = 'ZP';\nexport const SYSTEM_NAME_UIK = 'UIK';\nexport const SYSTEM_NAME_HELPDESK = 'HELPDESK';\nexport const SYSTEM_NAME_TOOLS = 'TOOLS';\nexport const SYSTEM_NAME_LIBADMIN = 'LIBADMIN';\nexport const SYSTEM_NAME_WAREHOUSE = 'WAREHOUSE';\nexport const SYSTEM_NAME_ALFRED = 'ALFRED';\nexport const SYSTEM_NAME_HELIOS = 'HELIOS';\n\nexport const SYSTEM_FULL_NAME_ETD = 'thesisEvidence';\nexport const SYSTEM_FULL_NAME_ROOMBOOK = 'roombook';\nexport const SYSTEM_FULL_NAME_UIK = 'COPYCENTRUM';\nexport const SYSTEM_FULL_NAME_WAREHOUSE = 'warehouse';\nexport const SYSTEM_FULL_NAME_LIBADMIN = 'libadmin';\n\n/*\n * USER ROLES\n *\n *\n *\n */\nconst USER_ROLES = {\n SUPERADMIN: 'SUPERADMIN',\n UK_ADMIN: 'UK_ADMIN',\n UIK_J5: 'UIK_J5',\n UIK_UK: 'UIK_UK',\n UIK_ADMIN: 'UIK_ADMIN',\n UIK_UKVS: 'UIK_UKVS',\n UIK_J9: 'UIK_J9',\n} as const;\n\nexport const UserRoles = {\n All: [\n USER_ROLES.SUPERADMIN,\n USER_ROLES.UK_ADMIN,\n USER_ROLES.UIK_J5,\n USER_ROLES.UIK_UK,\n USER_ROLES.UIK_ADMIN,\n USER_ROLES.UIK_UKVS,\n USER_ROLES.UIK_J9,\n ],\n Admins: [\n USER_ROLES.SUPERADMIN,\n USER_ROLES.UK_ADMIN,\n USER_ROLES.UIK_ADMIN,\n ],\n Superadmin: USER_ROLES.SUPERADMIN,\n UkAdmin: USER_ROLES.UK_ADMIN,\n UIK_J5: USER_ROLES.UIK_J5,\n UIK_UK: USER_ROLES.UIK_UK,\n UIK_ADMIN: USER_ROLES.UIK_ADMIN,\n UIK_UKVS: USER_ROLES.UIK_UKVS,\n UIK_J9: USER_ROLES.UIK_J9\n} as const;\n\nexport const skLocalizationCalendar = {\n firstDayOfWeek: 1,\n dayNames: ['Nedeľa', 'Pondelok', 'Utorok', 'Streda', 'Štvrtok', 'Piatok', 'Sobota'],\n dayNamesShort: ['Ne', 'Po', 'Ut', 'St', 'Št', 'Pi', 'So'],\n dayNamesMin: ['Ne', 'Po', 'Ut', 'St', 'Št', 'Pi', 'So'],\n monthNames: [\n 'Január',\n 'Február',\n 'Marec',\n 'Apríl',\n 'Máj',\n 'Jún',\n 'Júl',\n 'August',\n 'September',\n 'Október',\n 'November',\n 'December',\n ],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Máj', 'Jún', 'Júl', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],\n today: 'dnes',\n clear: 'Zmazať',\n};\n\nexport class ConstantsCashboxType {\n public static CASHBOX_TYPE_SELL = 'Predaj';\n public static CASHBOX_TYPE_WITHDRAWAL = 'Výber';\n public static CASHBOX_TYPE_DEPOSIT = 'Vklad';\n public static CASHBOX_TYPE_SET_ACTUAL_BALANCE = 'Priame zadanie stavu';\n}\n\nexport const COLORS = {\n blueLight: '#92a2a8',\n blue: '#57889c',\n teal: '#568a89',\n blueDark: '#4c4f53',\n green: '#356e35',\n greenDark: '#496949',\n greenLight: '#71843f',\n purple: '#6e587a',\n magenta: '#6e3671',\n pink: '#ac5287',\n pinkDark: '#a8829f',\n yellow: '#b09b5b',\n orange: '#c79121',\n red: '#a90329',\n redLight: '#a65858'\n};\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { I18nModule } from '../core-frontend-common/template/shared/i18n/i18n.module';\n\nimport { UserProfileViewComponent } from './views/user-profile-view/user-profile-view.component';\n\nimport { AppCommunicationService } from './services/app-communication.service';\nimport { DashboardComponent } from './views/dashboard/dashboard.component';\nimport { CustomPipesModule } from './pipes/customPipes.module';\nimport { TileComponent } from './components/tile/tile.component';\nimport { UserSearchComponent } from './components/user-search/user-search.component';\nimport { ExternalUserModalFormComponent } from './components/external-user-modal-form/external-user-modal-form.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { RouterModule } from '@angular/router';\nimport { AutoCompleteModule } from 'primeng/autocomplete';\nimport { ModalModule, PopoverModule, TabsModule, TooltipModule } from 'ngx-bootstrap';\nimport { CalendarModule } from 'primeng/calendar';\nimport { DevComponent } from './components/dev/dev.component';\nimport { UserPipe } from './pipes/user.pipe';\nimport { FullCalendarModule } from 'primeng/fullcalendar';\nimport { TableModule } from 'primeng/table';\nimport { SharedModule } from '../core-frontend-common/template/shared/shared.module';\nimport { SmartClockpickerDirective } from '../core-frontend-common/template/shared/utils/smart-clockpicker.directive';\nimport { BtnGroupFilterComponent } from './components/btn-group-filter/btn-group-filter.component';\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\nimport { BaseModalDialogModule } from './components/dialog/base-modal-dialog.module';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { CashDeskViewComponent } from './views/cash-desk-view/cash-desk-view.component';\nimport { ItemViewComponent } from './views/item-tab/item-view/item-view.component';\nimport { WorkplaceSelectorViewComponent } from './views/workplace-selector-view/workplace-selector-view.component';\nimport { ItemTabComponent } from './views/item-tab/item-tab.component';\nimport { CategoryViewComponent } from './views/item-tab/category-view/category-view.component';\nimport { ItemFormComponent } from './views/item-form/item-form.component';\nimport { FloatNumberFormatDirective } from './directives/floatNumberFormat.directive';\nimport { CategoryFormComponent } from './views/category-form/category-form.component';\nimport { FocusDirective } from './directives/focus.directive';\nimport { PluHelperComponent } from './views/cash-desk-view/plu-helper/plu-helper.component';\nimport { UserViewComponent } from './views/user-view/user-view.component';\nimport { CashHistoryComponent } from './views/cash-history/cash-history.component';\nimport { CashWithdrawInsertFormComponent } from './views/cash-withdraw-insert-form/cash-withdraw-insert-form.component';\nimport { CashboxDetailComponent } from './views/cashbox-detail/cashbox-detail.component';\nimport { ItemService } from './services/item.service';\nimport { CategoryService } from './services/category.service';\nimport { CashboxService } from './services/cashbox.service';\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\nimport { PanelsModule } from '../core-frontend-common/template/shared/panels/panels.module';\nimport { NotificationComponent } from \"./components/notification/notification.component\";\nimport { ConfirmationService } from \"primeng/api\";\n\n@NgModule({\n imports: [\n CommonModule,\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n I18nModule,\n CustomPipesModule,\n RouterModule,\n AutoCompleteModule,\n ModalModule,\n CalendarModule,\n TooltipModule,\n FullCalendarModule,\n TableModule,\n PopoverModule,\n SharedModule,\n NgMultiSelectDropDownModule.forRoot(),\n NgxDatatableModule,\n TabsModule,\n PanelsModule,\n BaseModalDialogModule\n ],\n declarations: [\n DashboardComponent,\n UserProfileViewComponent,\n DashboardComponent,\n TileComponent,\n UserSearchComponent,\n ExternalUserModalFormComponent,\n UserPipe,\n DevComponent,\n SmartClockpickerDirective,\n BtnGroupFilterComponent,\n UserProfileViewComponent,\n CashDeskViewComponent,\n ItemViewComponent,\n WorkplaceSelectorViewComponent,\n ItemTabComponent,\n CategoryViewComponent,\n ItemFormComponent,\n FloatNumberFormatDirective,\n CategoryFormComponent,\n FocusDirective,\n PluHelperComponent,\n UserViewComponent,\n CashHistoryComponent,\n CashWithdrawInsertFormComponent,\n CashboxDetailComponent,\n DevComponent\n ],\n exports: [],\n providers: [\n AppCommunicationService,\n DeviceDetectorService,\n ItemService,\n CategoryService,\n CashboxService,\n ConfirmationService\n ],\n})\nexport class CustomModule {\n}\n","import { Directive, ElementRef, Output, HostListener, EventEmitter } from '@angular/core';\n\n@Directive({\n selector: '[ngModel][floatNumberFormat]',\n})\n\n// Direktiva na vstupe hlada desatinne cislo, ak obsahuje ciarku, konvertuje ju automaticky na bodku\nexport class FloatNumberFormatDirective {\n @Output() ngModelChange: EventEmitter = new EventEmitter();\n value: any;\n\n @HostListener('input', ['$event']) onInputChange($event) {\n this.value = $event.target.value.replace(',', '.');\n this.ngModelChange.emit(this.value);\n }\n}\n","import { Directive, Input, EventEmitter, ElementRef, Renderer, Inject } from '@angular/core';\n\n@Directive({\n selector: '[focus]',\n})\nexport class FocusDirective {\n @Input('focus') focusEvent: EventEmitter;\n\n constructor(@Inject(ElementRef) private element: ElementRef, private renderer: Renderer) {}\n\n ngOnInit() {\n this.focusEvent.subscribe(event => {\n this.renderer.invokeElementMethod(this.element.nativeElement, 'focus', []);\n this.element.nativeElement.focus();\n });\n }\n\n // private focusEmitterSubscription;\n // // Now we expect EventEmitter as binded value\n // @Input('focus')\n // set focus(focusEmitter: EventEmitter) {\n // if (this.focusEmitterSubscription) {\n // this.focusEmitterSubscription.unsubscribe();\n // }\n // this.focusEmitterSubscription = focusEmitter.subscribe(\n // (() => this.element.nativeElement.focus()).bind(this))\n // }\n // constructor(@Inject(ElementRef) private element: ElementRef) { }\n}\n","export class ExternalUserModel {\n id?: number;\n login = '';\n name = '';\n surname = '';\n title = '';\n titleAfter = '';\n activeStatusCode = '';\n personTypeCode = '';\n employmentCode = '';\n birthdate = '';\n email = '';\n phone = '';\n workCenterName = '';\n street = '';\n postalCode = '';\n city = '';\n country = '';\n}\n","export class ParticipantModel {\n createdById: number;\n createdDatetime: string;\n email: string;\n id: number;\n isExternal: boolean;\n licenseFileId: number;\n login: string;\n name: string;\n reviewFileId: number;\n reviewId: number;\n role: number;\n surname: string;\n title: string;\n titleAfter: string;\n updatedById: number;\n updatedDatetime: string;\n userId: number;\n workCenterName: string;\n workCenterId: number;\n facultyId: number;\n facultyName: string;\n phone?: string;\n orderNumber?: number;\n}\n","export class SystemMaintanceModel {\n title = '';\n description = '';\n type = '';\n}\n","export class UserModel {\n id: number;\n login: string;\n name: string;\n surname: string;\n title: string;\n titleAfter: string;\n activeStatusCode: string;\n employmentCode: string;\n email: string;\n employmentDate: string;\n facultyCode: string;\n workCenterCode: string;\n photoOID: string;\n phone: string;\n historicalParentId: number;\n createdDatetime: string;\n}\n","import { NgModule } from '@angular/core';\nimport { UserRolePipe } from './user-role.pipe';\nimport { RoundPipe } from './round.pipe';\n\n@NgModule({\n imports: [],\n declarations: [UserRolePipe, RoundPipe],\n exports: [UserRolePipe, RoundPipe],\n providers: [UserRolePipe, RoundPipe],\n})\nexport class CustomPipesModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'round',\n})\nexport class RoundPipe implements PipeTransform {\n transform(value: number, args?: any): any {\n return Math.round(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { UserRoles } from '../constants';\nimport { AppCommunicationService } from '../services/app-communication.service';\n\n@Pipe({\n name: 'userRole',\n})\nexport class UserRolePipe implements PipeTransform {\n static getCurrentUserRoles(): any[] {\n return AppCommunicationService.getCurrentUser().user.roles;\n }\n\n transform(requestedRoles: string[], reverse?: boolean): any {\n const POSSIBLE_ROLES = UserRoles.All;\n const currentUserRoles = UserRolePipe.getCurrentUserRoles();\n\n if (reverse) {\n return !currentUserRoles.every(role => requestedRoles.includes(role));\n }\n\n if (POSSIBLE_ROLES.some(roles => currentUserRoles.includes(roles))) {\n return requestedRoles.some(roles => currentUserRoles.includes(roles));\n } else {\n return false;\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { UserService } from '../services/user.service';\nimport { UserModel } from '../models/user.model';\n\n@Pipe({\n name: 'user',\n pure: false,\n})\nexport class UserPipe implements PipeTransform {\n user: UserModel;\n\n constructor(private _userService: UserService) {}\n\n transform(value: any): any {\n this._userService.getUserById(value).subscribe(\n res => {\n this.user = res;\n return this.user.name;\n },\n error2 => {\n return 'Nezname';\n },\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PRODUCTION_BUILD, SYSTEM_NAME } from '../app.settings';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\nimport * as CryptoJS from 'crypto-js';\nimport { AuthenticationService } from 'src/app/core-frontend-common/auth/authentication.service';\n\n@Injectable()\nexport class AppCommunicationService {\n // Admin\n public static USER_ROLE_SUPERADMIN = 600;\n public static USER_ROLE_UK_ADMIN = 600;\n public static USER_ROLE_UIK_ADMIN = 500;\n // Basic\n public static USER_ROLE_UIK_UKVS = 4;\n public static USER_ROLE_UIK_J9 = 3;\n public static USER_ROLE_UIK_J5 = 2;\n public static USER_ROLE_UIK_UK = 1;\n public static USER_ROLE_ANONYMOUS = 0;\n\n public static POSSIBLE_ROLES: string[] = ['SUPERADMIN','UK_ADMIN', 'UIK_ADMIN', 'UIK_UK', 'UIK_J5', 'UIK_J9', 'UIK_UKVS'];\n public static POSSIBLE_BASIC_ROLES: string[] = ['UIK_UK', 'UIK_J5', 'UIK_J9', 'UIK_UKVS'];\n loadingAnimation: BehaviorSubject = new BehaviorSubject(false);\n loadingAnimationText: Subject = new Subject();\n isWorkplaceChanged: Subject = new Subject();\n\n static decryptData(data) {\n return data;\n }\n\n static getCurrentUser() {\n return AuthenticationService.getCurrentUser();\n }\n\n static getWorkplaceFromLocalStorage(): string {\n if (localStorage.getItem('workplace')) {\n return localStorage.getItem('workplace');\n }\n return null;\n }\n\n constructor() {}\n\n deleteWorkplaceFromLocalStorage() {\n localStorage.removeItem('workplace');\n this.isWorkplaceChanged.next(false);\n }\n\n setWorkplaceToLocalStorage(option: string) {\n localStorage.setItem('workplace', option.toString());\n // Ked sa zmeni workplace pri prihlaseni, je potrebne znovu nacitat data v cashdesk\n this.isWorkplaceChanged.next(true);\n }\n\n isUserLogged(): boolean {\n return this.getRoleOfLoggedUser() > AppCommunicationService.USER_ROLE_ANONYMOUS;\n }\n\n isUserAdmin(): boolean {\n return this.getRoleOfLoggedUser() >= 100;\n }\n\n getCurrentUserRoles(): string[] {\n const userRoles: string[] = [];\n const currentUser = AppCommunicationService.getCurrentUser();\n\n if (!currentUser) {\n return userRoles;\n }\n\n currentUser.user.roles.forEach(role => {\n if (AppCommunicationService.POSSIBLE_ROLES.includes(role)) {\n userRoles.push(role);\n }\n });\n return userRoles;\n }\n\n getRoleOfLoggedUser(): number {\n const roles = this.getCurrentUserRoles();\n\n if (roles.includes('SUPERADMIN')) {\n return AppCommunicationService.USER_ROLE_SUPERADMIN;\n }\n if (roles.includes('UK_ADMIN')) {\n return AppCommunicationService.USER_ROLE_UK_ADMIN;\n }\n if (roles.includes('UIK_ADMIN')) {\n return AppCommunicationService.USER_ROLE_UIK_ADMIN;\n }\n if (roles.includes('UIK_UKVS')) {\n return AppCommunicationService.USER_ROLE_UIK_UKVS;\n }\n if (roles.includes('UIK_J9')) {\n return AppCommunicationService.USER_ROLE_UIK_J9;\n }\n if (roles.includes('UIK_J5')) {\n return AppCommunicationService.USER_ROLE_UIK_J5;\n }\n if (roles.includes('UIK_UK')) {\n return AppCommunicationService.USER_ROLE_UIK_UK;\n }\n\n return AppCommunicationService.USER_ROLE_ANONYMOUS;\n }\n\n loadingOn(text = null) {\n if (text) {\n this.loadingAnimationText.next(text);\n }\n this.loadingAnimation.next(true);\n }\n\n loadingOff() {\n this.loadingAnimation.next(false);\n this.loadingAnimationText.next(null);\n }\n}\n","import { CashboxModel } from '../models/cashbox.model';\nimport { SaveCashboxModel } from '../models/save-cashbox.model';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AppCommunicationService } from './app-communication.service';\nimport { UserService } from './user.service';\nimport {\n getCashboxActualBalanceUrl,\n getCreateCashboxUrl,\n getAllRecentCashboxUrl,\n getCreateCashboxSellUrl,\n getTodaySellsFromWorkplaceUrl,\n getCurrentUserLastSellUrl\n} from '../app.urls';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { AuthenticationService } from '../../core-frontend-common/auth/authentication.service';\n\n@Injectable()\nexport class CashboxService {\n\n constructor(\n private http: HttpClient,\n private router: Router,\n private _userService: UserService,\n private _appCommunicationService: AppCommunicationService,\n private _authenticationService: AuthenticationService,\n ) {\n }\n\n getActualBalance(filter: any = null): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this._authenticationService.checkUser()) {\n return this.http\n .get(getCashboxActualBalanceUrl() + this.toQueryString(filter), httpOptions)\n .pipe(map(res => res as number));\n }\n }\n\n getCurrentUserLastSell(): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this._authenticationService.checkUser()) {\n return this.http\n .get(getCurrentUserLastSellUrl(), httpOptions)\n .pipe(map(res => {\n const result = res as CashboxModel;\n if (result) {\n this._userService.getUserById(+result.createdById)\n .subscribe(res1 => result.createdBy = res1);\n }\n return result;\n }));\n }\n }\n\n createCashbox(cashbox: SaveCashboxModel): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this._authenticationService.checkUser()) {\n return this.http\n .post(getCreateCashboxUrl(), cashbox, httpOptions)\n .pipe(map(res => {\n return res as CashboxModel;\n }));\n }\n }\n\n createSell(cashbox: SaveCashboxModel): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this._authenticationService.checkUser()) {\n return this.http\n .post(getCreateCashboxSellUrl(), cashbox, httpOptions)\n .pipe(map(res => {\n return res as CashboxModel;\n }));\n }\n }\n\n getAllRecent(filter: any = null): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this._authenticationService.checkUser()) {\n return this.http\n .get(getAllRecentCashboxUrl() + this.toQueryString(filter), httpOptions)\n .pipe(map(res => {\n return res as CashboxModel[];\n }));\n }\n }\n\n getTodaySellsFromWorkplace(): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this._authenticationService.checkUser()) {\n return this.http\n .get(getTodaySellsFromWorkplaceUrl(), httpOptions)\n .pipe(map(res => {\n return res['items'] as CashboxModel[];\n }));\n }\n }\n\n private toQueryString(obj: any) {\n if (obj == null) {\n return '';\n }\n const parts = [];\n for (const property in obj) {\n const value = obj[property];\n if (value != null) {\n parts.push(encodeURIComponent(property) + '=' + encodeURIComponent(value));\n }\n }\n return '?' + parts.join('&');\n }\n}\n","import { SaveCategoryModel } from '../models/save-category.model';\n\nimport { UserService } from './user.service';\nimport { AppCommunicationService } from './app-communication.service';\nimport { Router } from '@angular/router';\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { CategoryModel } from '../models/category.model';\nimport {\n getCategoryUrl,\n getCreateCategoryUrl,\n getSoftDeleteCategoryUrl,\n getUpdateCategoryUrl,\n} from '../app.urls';\nimport { map } from 'rxjs/operators';\nimport { AuthenticationService } from '../../core-frontend-common/auth/authentication.service';\n\n@Injectable()\nexport class CategoryService {\n\n constructor(\n private http: HttpClient,\n private router: Router,\n private _userService: UserService,\n private _appCommunicationService: AppCommunicationService,\n private _authenticationService: AuthenticationService\n ) { }\n\n getAllCategories(): Observable {\n return this.getAllCategoriesApi();\n }\n\n getAllCategoriesWithResponsibles(): Observable {\n return this.getAllCategoriesApi();\n }\n\n private getAllCategoriesApi(): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this._authenticationService.checkUser()) {\n return this.http\n .get(getCategoryUrl(), httpOptions)\n .pipe(map((res: any) => res.items as CategoryModel[]));\n }\n }\n\n softDeleteCategory(categoryId: number): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this._authenticationService.checkUser()) {\n return this.http\n .put(getSoftDeleteCategoryUrl(categoryId), null, httpOptions);\n }\n }\n\n createCategory(category: SaveCategoryModel): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this._authenticationService.checkUser()) {\n return this.http\n .post(getCreateCategoryUrl(), category, httpOptions)\n .pipe(map(res => {\n const categoryModel = res as CategoryModel;\n this._userService.getUserById(Number.parseInt(categoryModel.createdById.toString(), 0))\n .subscribe(res1 => categoryModel.createdBy = res1);\n this._userService.getUserById(Number.parseInt(categoryModel.updatedById.toString(), 0))\n .subscribe(res2 => categoryModel.updatedBy = res2);\n return categoryModel;\n }));\n }\n }\n\n updateCategory(category: SaveCategoryModel): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this._authenticationService.checkUser()) {\n return this.http\n .put(getUpdateCategoryUrl(category.id), category, httpOptions)\n .pipe(map(res => {\n const categoryModel = res as CategoryModel;\n this._userService.getUserById(Number.parseInt(categoryModel.createdById.toString(), 0))\n .subscribe(res1 => categoryModel.createdBy = res1);\n this._userService.getUserById(Number.parseInt(categoryModel.updatedById.toString(), 0))\n .subscribe(res2 => categoryModel.updatedBy = res2);\n return categoryModel;\n }));\n }\n }\n}\n","import { Observable, of } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { AppCommunicationService } from './app-communication.service';\nimport { AuthenticationService } from '../../core-frontend-common/auth/authentication.service';\nimport { Router } from '@angular/router';\nimport { getDepartmentCodebookUrl, getFacultyCodebookUrl } from '../app.urls';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { NotificationModel } from \"../components/notification/notification.model\";\nimport { getAllNotificationsForSystem } from \"../app.urls\";\nimport { SYSTEM_NAME } from \"../app.settings\";\n\n@Injectable()\nexport class GeneralService {\n constructor(\n private http: HttpClient,\n private router: Router,\n private authenticationService: AuthenticationService,\n ) {}\n\n getFaculties(): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/x-www-form-urlencoded',\n }),\n };\n if (this.authenticationService.checkUser()) {\n return this.http.get(getFacultyCodebookUrl(), httpOptions).pipe(map((res: any) => res.items));\n }\n }\n\n getDepartments(facultyId: number): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/x-www-form-urlencoded',\n }),\n };\n if (this.authenticationService.checkUser()) {\n return this.http.get(getDepartmentCodebookUrl(facultyId), httpOptions).pipe(map((res: any) => res.items));\n }\n }\n\n getNotifications(): Observable {\n return this.http\n .post(getAllNotificationsForSystem(false, SYSTEM_NAME), {})\n .pipe(map((res: any) => res.items));\n }\n}\n","import { WorkplaceModel } from '../models/workplace.model';\nimport { SaveItemModel } from '../models/save-item.model';\nimport { UserService } from './user.service';\nimport { Router } from '@angular/router';\nimport { AppCommunicationService } from './app-communication.service';\nimport { Injectable } from '@angular/core';\nimport { ItemModel } from '../models/item.model';\nimport {\n getItemUrl,\n getCreateItemUrl,\n getSoftDeleteItemUrl,\n getUpdateItemUrl,\n getGetAllItemsFromWorkplaceUrl,\n getWorkplaceUrl, getMinItemPriceUrl, getUpdateMinItemPriceUrl\n} from \"../app.urls\";\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { AuthenticationService } from '../../core-frontend-common/auth/authentication.service';\n\n@Injectable()\nexport class ItemService {\n constructor(\n private http: HttpClient,\n private router: Router,\n private _userService: UserService,\n private _appCommunicationService: AppCommunicationService,\n private authenticationService: AuthenticationService,\n ) {}\n\n // ME: Specialne som pouzil ItemService na natahovanie workplaces, pretoze je kvoli tejto jednej metode vytvarat novy service.\n // Ak sa casom nieco rozsiri, treba to presunut do vlastne WorkplaceService\n getAllWorkplaces() {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this.authenticationService.checkUser()) {\n return this.http.get(getWorkplaceUrl(), httpOptions).pipe(map(res => res as WorkplaceModel[]));\n }\n }\n\n getAllItems(filter: any) {\n return this.getAllItemsApi(filter, false);\n }\n\n getAllItemsWithResponsible(filter: any) {\n return this.getAllItemsApi(filter, true);\n }\n\n createItem(item: SaveItemModel): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this.authenticationService.checkUser()) {\n return this.http.post(getCreateItemUrl(), item, httpOptions).pipe(\n map(res => {\n const itemModel = res as ItemModel;\n this._userService\n .getUserById(Number.parseInt(itemModel.createdById.toString(), 0))\n .subscribe(res1 => (itemModel.createdBy = res1));\n this._userService\n .getUserById(Number.parseInt(itemModel.updatedById.toString(), 0))\n .subscribe(res2 => (itemModel.updatedBy = res2));\n return itemModel;\n }),\n );\n }\n }\n\n updateItem(item: SaveItemModel): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this.authenticationService.checkUser()) {\n return this.http.put(getUpdateItemUrl(item.id), item, httpOptions).pipe(\n map(res => {\n const itemModel = res as ItemModel;\n this._userService\n .getUserById(Number.parseInt(itemModel.createdById.toString(), 0))\n .subscribe(res1 => (itemModel.createdBy = res1));\n this._userService\n .getUserById(Number.parseInt(itemModel.updatedById.toString(), 0))\n .subscribe(res2 => (itemModel.updatedBy = res2));\n return itemModel;\n }),\n );\n }\n }\n\n softDeleteItem(itemId: number): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this.authenticationService.checkUser()) {\n return this.http.put(getSoftDeleteItemUrl(itemId), null, httpOptions);\n }\n }\n\n // TODO issue #28 backend - prepinac na nacitavanie with responsible\n private getAllItemsApi(filter: any = null, includeResponsible = false): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this.authenticationService.checkUser()) {\n return this.http\n .get(getItemUrl() + this.toQueryString(filter), httpOptions)\n .pipe(map((res: any) => res.items as ItemModel[]));\n }\n }\n\n getAllItemsFromWorkplace(filter: any = null): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this.authenticationService.checkUser()) {\n return this.http\n .get(getGetAllItemsFromWorkplaceUrl() + this.toQueryString(filter), httpOptions)\n .pipe(map((res: any) => res.items as ItemModel[]));\n }\n }\n\n private toQueryString(obj: any) {\n if (obj == null) {\n return '';\n }\n const parts = [];\n for (const property in obj) {\n const value = obj[property];\n if (value !== null) {\n parts.push(`${encodeURIComponent(property)}=${encodeURIComponent(value)}`);\n }\n }\n return `?${parts.join('&')}`;\n }\n\n getMinItemPrice(): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this.authenticationService.checkUser()) {\n return this.http.get(getMinItemPriceUrl(), httpOptions);\n }\n }\n\n setMinItemPrice(price: number): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n if (this.authenticationService.checkUser()) {\n return this.http.post(getUpdateMinItemPriceUrl(), {Key: 'MinAllowedPrice', ValueDecimal: price}, httpOptions);\n }\n }\n}\n","import { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { UserModel } from '../models/user.model';\nimport {\n changeWorkplaceUrl,\n getAllAppUsersUrl,\n getHistoricalUserByIdUrl,\n getSearchedUserUrl,\n getSearchUserCollateUrl,\n getUpdateExternalUserUrl,\n getUserPhotoUrl\n} from '../app.urls';\nimport { AppCommunicationService } from './app-communication.service';\nimport { Router } from '@angular/router';\nimport { AuthenticationService } from '../../core-frontend-common/auth/authentication.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { catchError, map } from 'rxjs/operators';\n\n@Injectable()\nexport class UserService {\n constructor(private http: HttpClient, private router: Router, private authenticationService: AuthenticationService) {\n }\n\n getUserById(id: number): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/x-www-form-urlencoded'\n })\n };\n\n if (this.authenticationService.checkUser()) {\n return this.http.post(getHistoricalUserByIdUrl(id), '', httpOptions).pipe(map(res => res as UserModel));\n }\n }\n\n getPhotoForUser(hash): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/x-www-form-urlencoded'\n }),\n responseType: 'blob' as 'blob'\n };\n if (this.authenticationService.checkUser()) {\n return this.http.get(getUserPhotoUrl(hash), httpOptions).pipe(map((res: any) => res.blob));\n }\n }\n\n getSearched(user): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json'\n })\n };\n if (this.authenticationService.checkUser()) {\n return this.http.post(getSearchedUserUrl(), user, httpOptions);\n }\n }\n\n searchUser(phrase: string): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json'\n })\n };\n if (this.authenticationService.checkUser()) {\n return this.http.get(getSearchUserCollateUrl(phrase), httpOptions);\n }\n }\n\n updateExternalThesisUser(userData): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json'\n })\n };\n if (this.authenticationService.checkUser()) {\n return this.http.put(getUpdateExternalUserUrl(userData.id), userData, httpOptions);\n }\n }\n\n getAllAppUsers(): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json'\n })\n };\n\n return this.http\n .get(getAllAppUsersUrl(), httpOptions)\n .pipe(map((res: any) => res.items as UserModel[]));\n }\n\n changeWorkplace(workplaceCode: string): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/x-www-form-urlencoded'\n })\n };\n const body = 'workplaceCode=' + workplaceCode;\n return this.http\n .post(changeWorkplaceUrl(), body, httpOptions)\n .pipe(map((response: any) => {\n if (response.token !== null && response.token !== '') {\n return response as UserModel;\n } else {\n return false;\n }\n }));\n }\n\n\n}\n","import { NgModule } from \"@angular/core\";\nimport { AppThemeService } from \"./app-theme.service\";\n\n@NgModule({\n imports: [],\n declarations: [],\n providers: [\n AppThemeService\n ],\n exports: []\n})\n\nexport class AppThemeModule { }\n","import { Injectable } from '@angular/core';\nimport { ThemesEnum, themesList } from \"./themes-list\";\nimport { Theme } from \"./theme\";\n\n@Injectable()\nexport class AppThemeService {\n\n currentTheme: Theme;\n\n LOCAL_STORAGE_KEY = 'app-theme';\n\n constructor() { }\n\n initTheme() {\n this.getFromLocalStorage();\n }\n\n getThemeByName(name: ThemesEnum) {\n return themesList.find(theme => theme.name === name);\n }\n\n getCurrentTheme(): Theme {\n return this.currentTheme;\n }\n\n getThemes(): Theme[] {\n return themesList;\n }\n\n setTheme(name: ThemesEnum) {\n this.currentTheme = this.getThemeByName(name);\n\n Object.keys(this.currentTheme.properties).forEach(property => {\n document.documentElement.style.setProperty(\n property,\n this.currentTheme.properties[property]\n );\n });\n\n this.storeToLocalStorage();\n }\n\n storeToLocalStorage() {\n localStorage.setItem(this.LOCAL_STORAGE_KEY, this.currentTheme.name);\n }\n\n getFromLocalStorage() {\n let themeName = localStorage.getItem(this.LOCAL_STORAGE_KEY) as ThemesEnum;\n\n if (!themeName) {\n themeName = ThemesEnum.DEFAULT;\n }\n\n this.setTheme(themeName);\n }\n}\n","import { Theme } from \"./theme\";\n\nexport enum ThemesEnum {\n DEFAULT = 'default'\n}\n\nexport const themesList: Theme[] = [\n {\n name: ThemesEnum.DEFAULT,\n properties: {\n '--header-bg': '#111',\n '--footer-bg': '#111',\n '--sidebar-bg': '#111',\n\n '--header-text-color': '#fff',\n '--footer-text-color': '#A0A0A0',\n\n '--tuke-color': '#A59466'\n }\n }\n]\n","export default \":host ::ng-deep .panel-content {\\n padding-top: 0 !important;\\n background-color: rgba(128, 128, 128, 0.5);\\n padding-left: 11px !important;\\n padding-right: 11px !important;\\n}\\n:host ::ng-deep .panel-content .form-group {\\n line-height: 27px !important;\\n}\\n:host ::ng-deep .panel-content button {\\n float: none;\\n display: inline-block;\\n vertical-align: middle;\\n}\\ndiv[name=centralRow] {\\n padding: 10px 15px;\\n border-bottom: 1px dashed white;\\n}\\ndiv[name=bottomRow] {\\n padding: 10px 15px;\\n}\\nlegend {\\n font-size: 1.2rem;\\n}\\nh2 {\\n position: relative;\\n}\\n.panel-heading {\\n height: 100%;\\n position: absolute;\\n left: 12px;\\n width: 100%;\\n}\\n.panel-heading .badge {\\n display: inline-flex;\\n}\\n.panel-heading label {\\n display: inline-block;\\n}\\n.panel-heading .form-control {\\n display: inline-block;\\n margin-left: 10px;\\n width: 60%;\\n margin-bottom: 0;\\n}\\n.panel-heading .load-btn {\\n position: absolute;\\n right: 0;\\n}\\n.bg-color-orange {\\n background-color: rgba(255, 165, 0, 0.63);\\n}\\n.bg-color-green {\\n background-color: rgba(0, 128, 0, 0.62);\\n}\\n.bg-color-purple {\\n background-color: rgba(128, 0, 128, 0.65);\\n}\\n.txt-color-white {\\n color: white;\\n}\\n.col-md-4 {\\n display: inline-block !important;\\n}\\n.widget-body {\\n padding-top: 20px;\\n}\\n.bg-gray-400 {\\n background-color: gray(400);\\n}\\n.centered-text-in-col {\\n line-height: 66px;\\n}\\n.vertical-align {\\n vertical-align: middle;\\n}\\n.state-error {\\n background: #fff0f0 !important;\\n border-color: #A90329 !important;\\n}\\n.state-success {\\n background: #f0fff0 !important;\\n border-color: #7DC27D !important;\\n}\\n.state-warning {\\n background: #efe1b369 !important;\\n border-color: #dfb56c !important;\\n}\\n.form-group {\\n margin-bottom: 2px !important;\\n}\\nlegend {\\n padding: 2px 0 0 !important;\\n margin-bottom: 6px;\\n}\\n.content {\\n padding-top: 6px;\\n}\\n.form-actions {\\n padding: 6px 14px 6px;\\n margin-top: 4px;\\n}\\n.form-control {\\n height: 28px;\\n}\\n.euro-coin {\\n color: white;\\n background-color: #c79121;\\n border-radius: 100%;\\n}\\n.gray-cash-desk {\\n background-color: #ddd !important;\\n}\\n.form-actions > .gray-cash-desk {\\n background-color: #ddd !important;\\n}\\n.form-group > label {\\n font-weight: 600 !important;\\n color: #333333;\\n}\\nlegend {\\n font-weight: 600 !important;\\n color: #222;\\n}\\n.modal-header {\\n border-bottom: 1px dashed gray;\\n}\\n.modal-content section {\\n padding: 15px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy9jYXNoLWRlc2stdmlldy9jYXNoLWRlc2stdmlldy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvK2FwcC1jdXN0b20vdmlld3MvY2FzaC1kZXNrLXZpZXcvY2FzaC1kZXNrLXZpZXcuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx5QkFBQTtFQUNBLDBDQUFBO0VBQ0EsNkJBQUE7RUFDQSw4QkFBQTtBQ0NGO0FEQ0U7RUFDRSw0QkFBQTtBQ0NKO0FERUU7RUFDRSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtBQ0FKO0FESUE7RUFDRSxrQkFBQTtFQUNBLCtCQUFBO0FDREY7QURJQTtFQUNFLGtCQUFBO0FDREY7QURLQTtFQUNFLGlCQUFBO0FDRkY7QURLQTtFQUNFLGtCQUFBO0FDRkY7QURLQTtFQUNFLFlBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0FDRkY7QURJRTtFQUNFLG9CQUFBO0FDRko7QURLRTtFQUNFLHFCQUFBO0FDSEo7QURNRTtFQUNFLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7QUNKSjtBRE9FO0VBQ0Usa0JBQUE7RUFDQSxRQUFBO0FDTEo7QURTQTtFQUNFLHlDQUFBO0FDTkY7QURTQTtFQUNFLHVDQUFBO0FDTkY7QURTQTtFQUNFLHlDQUFBO0FDTkY7QURTQTtFQUNFLFlBQUE7QUNORjtBRFNBO0VBQ0UsZ0NBQUE7QUNORjtBRFNBO0VBQ0UsaUJBQUE7QUNORjtBRFNBO0VBQ0UsMkJBQUE7QUNORjtBRFNBO0VBQ0UsaUJBQUE7QUNORjtBRFNBO0VBQ0Usc0JBQUE7QUNORjtBRFNBO0VBQ0UsOEJBQUE7RUFDQSxnQ0FBQTtBQ05GO0FEU0E7RUFDRSw4QkFBQTtFQUNBLGdDQUFBO0FDTkY7QURTQTtFQUNFLGdDQUFBO0VBQ0EsZ0NBQUE7QUNORjtBRFNBO0VBQ0UsNkJBQUE7QUNORjtBRFNBO0VBQ0UsMkJBQUE7RUFDQSxrQkFBQTtBQ05GO0FEU0E7RUFDRSxnQkFBQTtBQ05GO0FEU0E7RUFDRSxxQkFBQTtFQUNBLGVBQUE7QUNORjtBRFNBO0VBQ0UsWUFBQTtBQ05GO0FEU0E7RUFDRSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxtQkFBQTtBQ05GO0FEU0E7RUFDRSxpQ0FBQTtBQ05GO0FEU0E7RUFDRSxpQ0FBQTtBQ05GO0FEU0E7RUFDRSwyQkFBQTtFQUNBLGNBQUE7QUNORjtBRFNBO0VBQ0UsMkJBQUE7RUFDQSxXQUFBO0FDTkY7QURTQTtFQUNFLDhCQUFBO0FDTkY7QURVRTtFQUNFLGFBQUE7QUNQSiIsImZpbGUiOiJzcmMvYXBwLythcHAtY3VzdG9tL3ZpZXdzL2Nhc2gtZGVzay12aWV3L2Nhc2gtZGVzay12aWV3LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3QgOjpuZy1kZWVwIC5wYW5lbC1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjUpO1xuICBwYWRkaW5nLWxlZnQ6IDExcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMTFweCAhaW1wb3J0YW50O1xuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBsaW5lLWhlaWdodDogMjdweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBmbG9hdDpub25lO1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgfVxufVxuXG5kaXZbbmFtZT1cImNlbnRyYWxSb3dcIl0ge1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgd2hpdGU7XG59XG5cbmRpdltuYW1lPVwiYm90dG9tUm93XCJdIHtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICAvL2JvcmRlci1ib3R0b206IDFweCBkYXNoZWQgd2hpdGU7XG59XG5cbmxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG5oMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBhbmVsLWhlYWRpbmcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTJweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLmJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmxvYWQtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJnLWNvbG9yLW9yYW5nZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxNjUsIDAsIDAuNjMpO1xufVxuXG4uYmctY29sb3ItZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyOCwgMCwgMC42Mik7XG59XG5cbi5iZy1jb2xvci1wdXJwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyOCwgMCwgMTI4LCAwLjY1KTtcbn1cblxuLnR4dC1jb2xvci13aGl0ZSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmNvbC1tZC00IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi53aWRnZXQtYm9keSB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4uYmctZ3JheS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5KDQwMCk7XG59XG5cbi5jZW50ZXJlZC10ZXh0LWluLWNvbCB7XG4gIGxpbmUtaGVpZ2h0OiA2NnB4O1xufVxuXG4udmVydGljYWwtYWxpZ24ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uc3RhdGUtZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiAjZmZmMGYwIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjQTkwMzI5IWltcG9ydGFudDtcbn1cblxuLnN0YXRlLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjZjBmZmYwIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjN0RDMjdEIWltcG9ydGFudDtcbn1cblxuLnN0YXRlLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZWZlMWIzNjkhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNkZmI1NmMhaW1wb3J0YW50O1xufVxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDJweCFpbXBvcnRhbnQ7XG59XG5cbmxlZ2VuZCB7XG4gIHBhZGRpbmc6IDJweCAwIDAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5cbi5jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDZweDtcbn1cblxuLmZvcm0tYWN0aW9ucyB7XG4gIHBhZGRpbmc6IDZweCAxNHB4IDZweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiAyOHB4O1xufVxuXG4uZXVyby1jb2luIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc5MTIxO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uZ3JheS1jYXNoLWRlc2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkIWltcG9ydGFudDtcbn1cblxuLmZvcm0tYWN0aW9ucz4uZ3JheS1jYXNoLWRlc2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkIWltcG9ydGFudDtcbn1cblxuLmZvcm0tZ3JvdXA+bGFiZWwge1xuICBmb250LXdlaWdodDogNjAwIWltcG9ydGFudDtcbiAgY29sb3I6ICMzMzMzMzNcbn1cblxubGVnZW5kIHtcbiAgZm9udC13ZWlnaHQ6IDYwMCFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjIyXG59XG5cbi5tb2RhbC1oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIGdyYXk7XG59XG5cbi5tb2RhbC1jb250ZW50IHtcbiAgc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgfVxufVxuIiwiOmhvc3QgOjpuZy1kZWVwIC5wYW5lbC1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjUpO1xuICBwYWRkaW5nLWxlZnQ6IDExcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMTFweCAhaW1wb3J0YW50O1xufVxuOmhvc3QgOjpuZy1kZWVwIC5wYW5lbC1jb250ZW50IC5mb3JtLWdyb3VwIHtcbiAgbGluZS1oZWlnaHQ6IDI3cHggIWltcG9ydGFudDtcbn1cbjpob3N0IDo6bmctZGVlcCAucGFuZWwtY29udGVudCBidXR0b24ge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5kaXZbbmFtZT1jZW50cmFsUm93XSB7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCB3aGl0ZTtcbn1cblxuZGl2W25hbWU9Ym90dG9tUm93XSB7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbn1cblxubGVnZW5kIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbmgyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGFuZWwtaGVhZGluZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxMnB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5wYW5lbC1oZWFkaW5nIC5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuLnBhbmVsLWhlYWRpbmcgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ucGFuZWwtaGVhZGluZyAuZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgd2lkdGg6IDYwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wYW5lbC1oZWFkaW5nIC5sb2FkLWJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG59XG5cbi5iZy1jb2xvci1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTY1LCAwLCAwLjYzKTtcbn1cblxuLmJnLWNvbG9yLWdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjgsIDAsIDAuNjIpO1xufVxuXG4uYmctY29sb3ItcHVycGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjgsIDAsIDEyOCwgMC42NSk7XG59XG5cbi50eHQtY29sb3Itd2hpdGUge1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5jb2wtbWQtNCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuXG4ud2lkZ2V0LWJvZHkge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLmJnLWdyYXktNDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JheSg0MDApO1xufVxuXG4uY2VudGVyZWQtdGV4dC1pbi1jb2wge1xuICBsaW5lLWhlaWdodDogNjZweDtcbn1cblxuLnZlcnRpY2FsLWFsaWduIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnN0YXRlLWVycm9yIHtcbiAgYmFja2dyb3VuZDogI2ZmZjBmMCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNBOTAzMjkgIWltcG9ydGFudDtcbn1cblxuLnN0YXRlLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjZjBmZmYwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzdEQzI3RCAhaW1wb3J0YW50O1xufVxuXG4uc3RhdGUtd2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNlZmUxYjM2OSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNkZmI1NmMgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAycHggIWltcG9ydGFudDtcbn1cblxubGVnZW5kIHtcbiAgcGFkZGluZzogMnB4IDAgMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5cbi5jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDZweDtcbn1cblxuLmZvcm0tYWN0aW9ucyB7XG4gIHBhZGRpbmc6IDZweCAxNHB4IDZweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiAyOHB4O1xufVxuXG4uZXVyby1jb2luIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc5MTIxO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uZ3JheS1jYXNoLWRlc2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLWFjdGlvbnMgPiAuZ3JheS1jYXNoLWRlc2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLWdyb3VwID4gbGFiZWwge1xuICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuXG5sZWdlbmQge1xuICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjIyO1xufVxuXG4ubW9kYWwtaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCBncmF5O1xufVxuXG4ubW9kYWwtY29udGVudCBzZWN0aW9uIHtcbiAgcGFkZGluZzogMTVweDtcbn0iXX0= */\"","import { CashboxModel } from '../../models/cashbox.model';\nimport { AppCommunicationService } from '../../services/app-communication.service';\nimport { CashboxService } from '../../services/cashbox.service';\nimport { SaveCashboxModel } from '../../models/save-cashbox.model';\nimport { ModalDirective } from 'ngx-bootstrap';\nimport { CategoryModel } from '../../models/category.model';\nimport { ItemMatrix } from './item-matrix.model';\nimport { ItemService } from '../../services/item.service';\nimport { ItemModel } from '../../models/item.model';\nimport { Component, OnInit, ViewChild, EventEmitter, ElementRef } from '@angular/core';\nimport { isNumber } from 'util';\nimport { SaveCashboxItemModel } from '../../models/save-cashbox-item.model.';\nimport { ToastrService } from 'ngx-toastr';\nimport { CategoryService } from '../../services/category.service';\nimport { UserService } from '../../services/user.service';\nimport { roundPrice } from '../../../core-frontend-common/misc/round-price';\nimport { first } from 'rxjs/operators';\n\nexport class Discounts {\n discount20: boolean;\n discount30: boolean;\n discount50: boolean;\n}\n\n@Component({\n selector: 'app-cash-desk-view',\n templateUrl: './cash-desk-view.component.html',\n styleUrls: ['./cash-desk-view.component.scss'],\n})\nexport class CashDeskViewComponent implements OnInit {\n isLoaded = false;\n\n private readonly POSITION_FIRST_COLUMN_TOP = 'firstColumnTop';\n private readonly POSITION_FIRST_COLUMN_MIDDLE = 'firstColumnMiddle';\n private readonly POSITION_FIRST_COLUMN_BOTTOM = 'firstColumnBottom';\n\n private readonly POSITION_SECOND_COLUMN_TOP = 'secondColumnTop';\n private readonly POSITION_SECOND_COLUMN_MIDDLE = 'secondColumnMiddle';\n private readonly POSITION_SECOND_COLUMN_BOTTOM = 'secondColumnBottom';\n\n private readonly POSITION_THIRD_COLUMN_TOP = 'thirdColumnTop';\n private readonly POSITION_THIRD_COLUMN_MIDDLE = 'thirdColumnMiddle';\n private readonly POSITION_THIRD_COLUMN_BOTTOM = 'thirdColumnBottom';\n\n private readonly POSITION_FOURTH_COLUMN_TOP = 'fourthColumnTop';\n private readonly POSITION_FOURTH_COLUMN_MIDDLE = 'fourthColumnMiddle';\n private readonly POSITION_FOURTH_COLUMN_BOTTOM = 'fourthColumnBottom';\n\n private readonly POSITION_FIRST_BOTTOM_ROW = 'firstbottomRow';\n private readonly POSITION_LAST_BOTTOM_ROW = 'lastbottomRow';\n\n private readonly CASHBOX_TYPE_SELL = 'Predaj';\n\n saving = false;\n isUserAdmin = false;\n items: ItemModel[] = [];\n categories: CategoryModel[] = [];\n itemsByCategory: ItemMatrix;\n itemPieces: number[] = [];\n submitButtonDisabled = true;\n payback: number;\n cashbox: SaveCashboxModel;\n actualBalance: number;\n plu: any[] = [];\n workplaceCode: string = AppCommunicationService.getWorkplaceFromLocalStorage();\n recentCashbox: CashboxModel;\n discounts: Discounts = {\n discount20: false,\n discount30: false,\n discount50: false,\n };\n\n minItemPrice = 0;\n\n constructor(\n private itemService: ItemService,\n private categoryService: CategoryService,\n private cashboxService: CashboxService,\n private appCommunicationService: AppCommunicationService,\n private toastr: ToastrService,\n private userService: UserService,\n ) {}\n\n @ViewChild('lgModal', { static: false }) public lgModal: ModalDirective;\n @ViewChild('paybackModal', { static: false }) public paybackModal: ElementRef;\n public firstFieldFocusTriggeringEventEmitter = new EventEmitter();\n public paybackModalFocusTriggeringEventEmitter = new EventEmitter();\n\n setFocusToModal() {\n if (!this.submitButtonDisabled) {\n this.lgModal.show();\n }\n }\n\n setFocusToFirstField() {\n if (this.lgModal && this.lgModal.isShown) {\n this.lgModal.hide();\n }\n this.firstFieldFocusTriggeringEventEmitter.emit(true);\n }\n\n ngOnInit() {\n this.payback = 0;\n this.workplaceCode = AppCommunicationService.getWorkplaceFromLocalStorage();\n\n this.isUserAdmin = this.appCommunicationService.isUserAdmin();\n\n this.appCommunicationService.isWorkplaceChanged.subscribe(val => {\n if (val) {\n this.isLoaded = false;\n this.reset();\n this.loadData();\n this.workplaceCode = AppCommunicationService.getWorkplaceFromLocalStorage();\n }\n });\n\n if (this.workplaceCode) {\n this.userService.changeWorkplace(this.workplaceCode).subscribe(() => {\n this.loadData();\n });\n }\n\n this.initializeCashbox();\n this.setFocusToFirstField();\n }\n\n loadData() {\n this.initializeMatrix();\n this.loadActualBalance();\n this.loadRecentCashbox();\n\n this.itemService\n .getMinItemPrice()\n .pipe(first())\n .subscribe(val => (this.minItemPrice = val['valueDecimal'] || 0));\n\n this.itemService.getAllItemsFromWorkplace(null).subscribe(\n res => {\n this.items = res;\n // console.log(this.items);\n this.categoryService.getAllCategories().subscribe(\n r => {\n this.categories = r;\n this.mapItemsIntoMatrix();\n // console.log(this.categories);\n // console.log(this.itemsByCategory);\n this.setFocusToFirstField();\n this.appCommunicationService.isWorkplaceChanged.next(false);\n },\n error2 => {\n console.log(error2);\n },\n );\n },\n error2 => {\n console.log(error2);\n },\n );\n }\n\n loadRecentCashbox() {\n this.cashboxService.getCurrentUserLastSell().subscribe(\n res => {\n // console.log(res);\n this.recentCashbox = res;\n },\n error2 => {\n console.log(error2);\n },\n );\n }\n\n getWorkplaceName() {\n switch (this.workplaceCode) {\n case 'UIK_UK': {\n return 'Copycentrum';\n }\n case 'UIK_J5': {\n return 'Jedlíkova 5';\n }\n case 'UIK_J9': {\n return 'Jedlíkova 9';\n }\n case 'UIK_UKVS': {\n return 'Veľkoplošné služby';\n }\n default: {\n return '';\n }\n }\n }\n\n isInputValidAsPrice(itemId: number) {\n // zabezpecim, ze to nacita ako cislo\n const value = +this.itemPieces[itemId];\n if (isNaN(value) || value <= 0) {\n // ak je na vstupe string, alebo zaporne cislo, zmazem\n this.itemPieces[itemId] = null;\n this.removeItemFromCashbox(itemId);\n } else {\n // zaokruhlujem na 2 desatinne miesta\n this.itemPieces[itemId] = Math.round(value * 100) / 100;\n this.addItemToCashbox(itemId);\n }\n this.toggleSubmitButton();\n this.computePLU();\n }\n\n // inputtedValueById(id: number) {\n // const el = this.items.find(i => i.id === id);\n //\n // if (el) {\n // this.isInputValidAsPrice()\n // }\n // }\n\n isInputValidAsPieceCount(item) {\n\n if (!item || !item.id) {\n return;\n }\n // zabezpecim, ze to nacita ako cislo\n const value = +this.itemPieces[item.id];\n if (isNaN(value) || value < 1) {\n // ak je na vstupe string, alebo zaporne cislo, zmazem\n this.itemPieces[item.id] = null;\n this.removeItemFromCashbox(item.id);\n } else {\n // zaokruhlujem na cele\n this.itemPieces[item.id] = Math.floor(value);\n this.addItemToCashbox(item.id);\n }\n this.toggleSubmitButton();\n this.computePLU();\n }\n\n private computePLU() {\n this.plu = [];\n this.cashbox.items.forEach(cashboxItem => {\n const itemArray = this.items.filter(item => item.id === cashboxItem.itemId);\n const pluItem: any = {\n itemName: '',\n pluString: '',\n };\n\n pluItem.itemName = itemArray[0].name;\n if (itemArray[0].isOnePieceItem) {\n pluItem.pluString = `${cashboxItem.customItemPrice.toString()} PRICE ${itemArray[0].pluCode} PLU`;\n } else {\n pluItem.pluString = `${cashboxItem.count.toString()} x ${itemArray[0].pluCode} PLU`;\n }\n this.plu.push(pluItem);\n });\n }\n\n private initializeCashboxItem() {\n const cashboxItem: SaveCashboxItemModel = {\n itemId: 0,\n count: 0,\n customItemPrice: 0,\n isMinPriceRequired: false,\n };\n return cashboxItem;\n }\n\n private initializeCashbox() {\n this.cashbox = {\n id: 0,\n price: 0,\n employeeDiscount: null,\n type: this.CASHBOX_TYPE_SELL,\n customerPaid: null,\n items: [],\n workplaceCode: AppCommunicationService.getWorkplaceFromLocalStorage(),\n };\n\n this.discounts.discount20 = false;\n this.discounts.discount30 = false;\n this.discounts.discount50 = false;\n }\n\n private loadActualBalance() {\n this.cashboxService.getActualBalance().subscribe(\n res => {\n this.actualBalance = +res;\n },\n error2 => {\n console.log(error2);\n },\n );\n }\n\n private addItemToCashbox(itemId: number) {\n const value = this.itemPieces[itemId];\n const itemArray = this.items.filter(item => item.id === itemId);\n\n // Zistim, ci uz tato polozka bola pridana\n const cashboxItemArray = this.cashbox.items.filter(cashboxItem => cashboxItem.itemId === itemId);\n if (cashboxItemArray[0]) {\n // Ak uz polozka existuje, zistim, ci sa jedna o 1-kusovu polozky s vlastnou cenou\n // Ak ano, aktualizujem custom cenu\n // ak nie, aktualizujem pocet\n if (itemArray[0].isOnePieceItem) {\n cashboxItemArray[0].customItemPrice = value;\n } else {\n cashboxItemArray[0].count = value;\n }\n } else {\n // ak polozka neexistuje, vytvorim novy SaveCashboxItemModel a v zavislosti\n // ci je to 1-kusova polozka s vlastnou cenou nastavim pocet, alebo sumu\n const cashboxItem = this.initializeCashboxItem();\n cashboxItem.itemId = itemArray[0].id;\n if (itemArray[0].isOnePieceItem) {\n cashboxItem.customItemPrice = value;\n cashboxItem.count = 1;\n } else {\n cashboxItem.count = value;\n }\n cashboxItem.isMinPriceRequired = itemArray[0].isMinPriceRequired;\n this.cashbox.items.push(cashboxItem);\n }\n this.computeCashboxPrice();\n }\n\n private removeItemFromCashbox(itemId: number) {\n const cashboxItem = this.cashbox.items.filter(cashbox => cashbox.itemId === itemId);\n if (cashboxItem[0]) {\n const index: number = this.cashbox.items.indexOf(cashboxItem[0]);\n if (index !== -1) {\n this.cashbox.items.splice(index, 1);\n }\n }\n this.computeCashboxPrice();\n }\n\n private computeCashboxPrice() {\n let checkMinimumPrice = false;\n let price = 0;\n\n this.cashbox.items.forEach(cashboxItem => {\n\n // find item\n const item = this.items.find(i => i.id === cashboxItem.itemId);\n\n // check if item has min price\n if (item.isMinPriceRequired) {\n checkMinimumPrice = true;\n }\n\n if (item.isOnePieceItem) {\n price += cashboxItem.customItemPrice;\n } else {\n price += cashboxItem.count * item.price;\n }\n\n });\n\n if (checkMinimumPrice) {\n if (price < this.minItemPrice) {\n price = this.minItemPrice;\n }\n }\n\n // apply employee discount\n if (this.cashbox.employeeDiscount) {\n price = price - (price * this.cashbox.employeeDiscount) / 100;\n }\n\n this.cashbox.price = roundPrice(Math.round(price * 100) / 100);\n this.computePayback();\n\n\n\n\n // let checkMinPriceAttr = false;\n //\n // let price = 0;\n //\n // let minItemsPrice = 0;\n // // Prechadzam vsetkymi pridanymi polozkami v cashbox\n // // Podla toho ci je to 1-kusova polozka s vlastnou cenou, alebo nie\n // // pripocitavam sumu\n // this.cashbox.items.forEach(cashboxItem => {\n // const item = this.items.find(i => i.id === cashboxItem.itemId);\n //\n // if (item.isMinPriceRequired) {\n // checkMinPriceAttr = true;\n // }\n //\n // if (item.isOnePieceItem) {\n // if (item.isMinPriceRequired) {\n // minItemsPrice += cashboxItem.customItemPrice;\n // } else {\n // price += cashboxItem.customItemPrice;\n // }\n // } else {\n // const itemPrice = cashboxItem.count * item.price;\n //\n // if (item.isMinPriceRequired) {\n // minItemsPrice += itemPrice;\n // } else {\n // price += itemPrice;\n // }\n // }\n // });\n //\n // if (checkMinPriceAttr) {\n // if (minItemsPrice < this.minItemPrice) {\n // minItemsPrice = this.minItemPrice;\n // }\n // }\n //\n // price += minItemsPrice;\n //\n // // Ak mam zamestnanecku zlavu, udelujem 50%\n // if (this.cashbox.employeeDiscount) {\n // price = price - (price * this.cashbox.employeeDiscount) / 100;\n // }\n //\n // this.cashbox.price = roundPrice(Math.round(price * 100) / 100);\n // this.computePayback();\n }\n\n setEmployeeDiscount(value: number) {\n if (value === 20) {\n this.discounts.discount20 = !this.discounts.discount20;\n this.discounts.discount30 = false;\n this.discounts.discount50 = false;\n } else if (value === 30) {\n this.discounts.discount30 = !this.discounts.discount30;\n this.discounts.discount20 = false;\n this.discounts.discount50 = false;\n } else if (value === 50) {\n this.discounts.discount50 = !this.discounts.discount50;\n this.discounts.discount20 = false;\n this.discounts.discount30 = false;\n } else {\n this.discounts.discount20 = false;\n this.discounts.discount30 = false;\n this.discounts.discount50 = false;\n }\n\n this.cashbox.employeeDiscount = null;\n if (this.discounts.discount20) {\n this.cashbox.employeeDiscount = 20;\n }\n if (this.discounts.discount30) {\n this.cashbox.employeeDiscount = 30;\n }\n if (this.discounts.discount50) {\n this.cashbox.employeeDiscount = 50;\n }\n\n this.computeCashboxPrice();\n }\n\n toggleSubmitButton() {\n this.submitButtonDisabled = true;\n this.itemPieces.forEach(itemPiece => {\n if (itemPiece > 0) {\n this.submitButtonDisabled = false;\n }\n });\n }\n\n reset() {\n this.saving = false;\n this.itemPieces = [];\n this.submitButtonDisabled = true;\n this.initializeCashbox();\n this.payback = 0;\n this.loadActualBalance();\n this.computePLU();\n this.loadRecentCashbox();\n this.setFocusToFirstField();\n }\n\n computePayback() {\n this.payback = 0;\n if (isNumber(+this.cashbox.customerPaid) && +this.cashbox.customerPaid >= this.cashbox.price) {\n // console.log(this.payback);\n this.payback = Math.round((+this.cashbox.customerPaid - this.cashbox.price) * 100) / 100;\n } else {\n this.cashbox.customerPaid = null;\n }\n }\n\n confirmCashbox() {\n this.saving = true;\n // Preformatujem string na int ak nie je 0 alebo null\n +this.cashbox.customerPaid > 0 ? +this.cashbox.customerPaid : (this.cashbox.customerPaid = null);\n\n this.cashbox.minAllowedPrice = this.minItemPrice;\n\n this.cashboxService.createSell(this.cashbox).subscribe(\n cashbox => {\n const price = +this.cashbox.price;\n this.lgModal.hide();\n this.reset();\n this.saving = false;\n this.toastr.success(`Nákup v sume ${price}€ bol úspešne uložený.`, 'Nákup úspešný');\n },\n error2 => {\n this.lgModal.hide();\n console.log(error2);\n this.saving = false;\n this.toastr.error('Nepodarilo sa uložiť. Kontaktujte prosím podporu.', 'Nákup neúspešný');\n },\n );\n }\n\n private initializeMatrix() {\n this.itemsByCategory = {\n firstColumnTop: [],\n firstColumnMiddle: [],\n firstColumnBottom: [],\n\n secondColumnTop: [],\n secondColumnMiddle: [],\n secondColumnBottom: [],\n\n thirdColumnTop: [],\n thirdColumnMiddle: [],\n thirdColumnBottom: [],\n\n fourthColumnTop: [],\n fourthColumnMiddle: [],\n fourthColumnBottom: [],\n\n firstbottomRow: [],\n lastbottomRow: [],\n };\n }\n\n private mapItemsIntoMatrix() {\n this.initializeMatrix();\n let positionByWorkplace: string;\n\n this.items.forEach(item => {\n // Ak sa jedna o vymazanu kategoriu, ignorujem\n if (!item.category.isDeleted) {\n // Ak sa jedna o pracovisko UKVS, nacitavaju sa matrix pozicie individualne\n if (this.workplaceCode === 'UIK_UKVS') {\n positionByWorkplace = item.category.cashboxMatrixPositionUKVS;\n } else {\n positionByWorkplace = item.category.cashboxMatrixPosition;\n }\n\n switch (positionByWorkplace) {\n case this.POSITION_FIRST_COLUMN_TOP:\n this.itemsByCategory.firstColumnTop.push(item);\n break;\n case this.POSITION_FIRST_COLUMN_MIDDLE:\n this.itemsByCategory.firstColumnMiddle.push(item);\n break;\n case this.POSITION_FIRST_COLUMN_BOTTOM:\n this.itemsByCategory.firstColumnBottom.push(item);\n break;\n case this.POSITION_SECOND_COLUMN_TOP:\n this.itemsByCategory.secondColumnTop.push(item);\n break;\n case this.POSITION_SECOND_COLUMN_MIDDLE:\n this.itemsByCategory.secondColumnMiddle.push(item);\n break;\n case this.POSITION_SECOND_COLUMN_BOTTOM:\n this.itemsByCategory.secondColumnBottom.push(item);\n break;\n case this.POSITION_THIRD_COLUMN_TOP:\n this.itemsByCategory.thirdColumnTop.push(item);\n break;\n case this.POSITION_THIRD_COLUMN_MIDDLE:\n this.itemsByCategory.thirdColumnMiddle.push(item);\n break;\n case this.POSITION_THIRD_COLUMN_BOTTOM:\n this.itemsByCategory.thirdColumnBottom.push(item);\n break;\n case this.POSITION_FOURTH_COLUMN_TOP:\n this.itemsByCategory.fourthColumnTop.push(item);\n break;\n case this.POSITION_FOURTH_COLUMN_MIDDLE:\n this.itemsByCategory.fourthColumnMiddle.push(item);\n break;\n case this.POSITION_FOURTH_COLUMN_BOTTOM:\n this.itemsByCategory.fourthColumnBottom.push(item);\n break;\n case this.POSITION_FIRST_BOTTOM_ROW:\n this.itemsByCategory.firstbottomRow.push(item);\n break;\n case this.POSITION_LAST_BOTTOM_ROW:\n this.itemsByCategory.lastbottomRow.push(item);\n break;\n default:\n console.log(`FRONT: Unexpected item cashdesk matrix position '${item.name}'. Skip.`);\n }\n }\n });\n setTimeout(() => {\n this.isLoaded = true;\n }, 200);\n }\n}\n","export default \".plu-helper {\\n min-width: 250px;\\n padding: 15px;\\n}\\n\\n.row {\\n border-bottom: 1px dashed rgba(211, 211, 211, 0.64);\\n}\\n\\n.row .col-6:first-child {\\n font-weight: bold;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy9jYXNoLWRlc2stdmlldy9wbHUtaGVscGVyL3BsdS1oZWxwZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwLythcHAtY3VzdG9tL3ZpZXdzL2Nhc2gtZGVzay12aWV3L3BsdS1oZWxwZXIvcGx1LWhlbHBlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGdCQUFBO0VBQ0EsYUFBQTtBQ0NGOztBREVBO0VBQ0UsbURBQUE7QUNDRjs7QURDRTtFQUNFLGlCQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy9jYXNoLWRlc2stdmlldy9wbHUtaGVscGVyL3BsdS1oZWxwZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucGx1LWhlbHBlciB7XG4gIG1pbi13aWR0aDogMjUwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG5cbi5yb3cge1xuICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIHJnYmEoMjExLCAyMTEsIDIxMSwgMC42NCk7XG5cbiAgLmNvbC02OmZpcnN0LWNoaWxkIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxufVxuIiwiLnBsdS1oZWxwZXIge1xuICBtaW4td2lkdGg6IDI1MHB4O1xuICBwYWRkaW5nOiAxNXB4O1xufVxuXG4ucm93IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCByZ2JhKDIxMSwgMjExLCAyMTEsIDAuNjQpO1xufVxuLnJvdyAuY29sLTY6Zmlyc3QtY2hpbGQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn0iXX0= */\"","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-plu-helper',\n templateUrl: './plu-helper.component.html',\n styleUrls: ['./plu-helper.component.scss']\n})\nexport class PluHelperComponent implements OnInit {\n\n @Input() plu: any[];\n\n constructor() { }\n\n ngOnInit() {\n }\n}\n","export default \".full-fill-label {\\n display: block;\\n padding: 0.4em;\\n width: 160px;\\n}\\n\\n.panel-heading {\\n height: 50px;\\n position: absolute;\\n right: 60px;\\n}\\n\\n.panel-heading .col {\\n display: flex;\\n justify-items: center;\\n align-items: center;\\n}\\n\\n.panel-heading .badge {\\n display: inline-flex;\\n}\\n\\n.panel-heading label {\\n display: inline-block;\\n}\\n\\n.panel-heading .form-control {\\n display: inline-block;\\n margin-left: 10px;\\n width: 70%;\\n margin-bottom: 0;\\n}\\n\\n.bg-color-orange {\\n background-color: rgba(255, 165, 0, 0.63);\\n}\\n\\n.bg-color-green {\\n background-color: rgba(0, 128, 0, 0.62);\\n}\\n\\n.bg-color-purple {\\n background-color: rgba(128, 0, 128, 0.65);\\n}\\n\\n.bg-color-greenLight {\\n background-color: rgba(0, 189, 0, 0.39);\\n}\\n\\n.bg-color-blue {\\n background-color: cornflowerblue;\\n}\\n\\n.label-default {\\n background-color: lightgray;\\n}\\n\\n.txt-color-white {\\n color: white;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy9jYXNoLWhpc3RvcnkvY2FzaC1oaXN0b3J5LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy9jYXNoLWhpc3RvcnkvY2FzaC1oaXN0b3J5LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksY0FBQTtFQUNBLGNBQUE7RUFDQSxZQUFBO0FDQ0o7O0FERUE7RUFDSSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0FDQ0o7O0FEQ0k7RUFDSSxhQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTtBQ0NSOztBRENJO0VBQ0ksb0JBQUE7QUNDUjs7QURFSTtFQUNJLHFCQUFBO0FDQVI7O0FER0k7RUFDSSxxQkFBQTtFQUNBLGlCQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0FDRFI7O0FES0E7RUFDSSx5Q0FBQTtBQ0ZKOztBREtBO0VBQ0ksdUNBQUE7QUNGSjs7QURLQTtFQUNJLHlDQUFBO0FDRko7O0FES0E7RUFDSSx1Q0FBQTtBQ0ZKOztBREtBO0VBQ0ksZ0NBQUE7QUNGSjs7QURLQTtFQUNJLDJCQUFBO0FDRko7O0FES0E7RUFDSSxZQUFBO0FDRkoiLCJmaWxlIjoic3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy9jYXNoLWhpc3RvcnkvY2FzaC1oaXN0b3J5LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZ1bGwtZmlsbC1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC40ZW07XG4gICAgd2lkdGg6IDE2MHB4O1xufVxuXG4ucGFuZWwtaGVhZGluZyB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNjBweDtcblxuICAgIC5jb2wge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLmJnLWNvbG9yLW9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE2NSwgMCwgMC42Myk7XG59XG5cbi5iZy1jb2xvci1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjgsIDAsIDAuNjIpO1xufVxuXG4uYmctY29sb3ItcHVycGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyOCwgMCwgMTI4LCAwLjY1KTtcbn1cblxuLmJnLWNvbG9yLWdyZWVuTGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTg5LCAwLCAwLjM5KTtcbn1cblxuLmJnLWNvbG9yLWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvcm5mbG93ZXJibHVlO1xufVxuXG4ubGFiZWwtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmF5O1xufVxuXG4udHh0LWNvbG9yLXdoaXRlIHtcbiAgICBjb2xvcjogd2hpdGU7XG59XG4iLCIuZnVsbC1maWxsLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNGVtO1xuICB3aWR0aDogMTYwcHg7XG59XG5cbi5wYW5lbC1oZWFkaW5nIHtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA2MHB4O1xufVxuLnBhbmVsLWhlYWRpbmcgLmNvbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5wYW5lbC1oZWFkaW5nIC5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuLnBhbmVsLWhlYWRpbmcgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ucGFuZWwtaGVhZGluZyAuZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgd2lkdGg6IDcwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJnLWNvbG9yLW9yYW5nZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxNjUsIDAsIDAuNjMpO1xufVxuXG4uYmctY29sb3ItZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyOCwgMCwgMC42Mik7XG59XG5cbi5iZy1jb2xvci1wdXJwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyOCwgMCwgMTI4LCAwLjY1KTtcbn1cblxuLmJnLWNvbG9yLWdyZWVuTGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE4OSwgMCwgMC4zOSk7XG59XG5cbi5iZy1jb2xvci1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29ybmZsb3dlcmJsdWU7XG59XG5cbi5sYWJlbC1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmF5O1xufVxuXG4udHh0LWNvbG9yLXdoaXRlIHtcbiAgY29sb3I6IHdoaXRlO1xufSJdfQ== */\"","import { AppCommunicationService } from '../../services/app-communication.service';\nimport { CashboxModel } from '../../models/cashbox.model';\nimport { CashboxService } from '../../services/cashbox.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\n\n@Component({\n selector: 'app-cash-history',\n templateUrl: './cash-history.component.html',\n styleUrls: ['./cash-history.component.scss']\n})\nexport class CashHistoryComponent implements OnInit {\n private readonly PAGE_SIZE = 1000;\n\n isUserAdmin = false;\n\n cashboxRecords: CashboxModel[] = [];\n timeout: any;\n loadingIndicator = true;\n controls: any = {\n pageSize: this.PAGE_SIZE,\n filter: ''\n };\n workplaceCode: string = AppCommunicationService.getWorkplaceFromLocalStorage();\n actualBalance = 0;\n buttonFilter = '1';\n\n query: any = {\n pageSize: this.PAGE_SIZE,\n page: 1,\n searchByName: null,\n workplaceCode: this.workplaceCode,\n isToday: true\n };\n\n @ViewChild(DatatableComponent, { static: true }) table: DatatableComponent;\n\n constructor(\n private _cashboxService: CashboxService,\n private _appCommunicationService: AppCommunicationService\n ) {\n }\n\n ngOnInit() {\n this.isUserAdmin = this._appCommunicationService.isUserAdmin();\n this.workplaceCode = AppCommunicationService.getWorkplaceFromLocalStorage();\n this.loadData();\n\n this._appCommunicationService\n .isWorkplaceChanged\n .subscribe(() => {\n this.workplaceCode = AppCommunicationService.getWorkplaceFromLocalStorage();\n this.loadData();\n });\n }\n\n onSelectButtonFilter(filter: string) {\n this.buttonFilter = filter;\n this.loadData();\n }\n\n loadData() {\n this.loadingIndicator = true;\n this.cashboxRecords = [];\n this.actualBalance = 0;\n this.query.workplaceCode = this.workplaceCode;\n\n this._cashboxService.getActualBalance(this.query)\n .subscribe(res => {\n this.actualBalance = res;\n },\n error2 => {\n console.log(error2);\n });\n\n if (this.isUserAdmin) {\n this.query.isToday = this.buttonFilter === '1';\n\n this._cashboxService.getAllRecent(this.query)\n .subscribe(\n (res: any) => {\n this.cashboxRecords = res.items;\n this.loadingIndicator = false;\n },\n error2 => {\n console.log(error2);\n this.loadingIndicator = false;\n }\n );\n } else {\n this.query.isToday = true;\n this._cashboxService.getTodaySellsFromWorkplace()\n .subscribe(\n res => {\n this.cashboxRecords = res;\n // console.log(this.cashboxRecords);\n this.loadingIndicator = false;\n },\n error2 => {\n this.loadingIndicator = false;\n console.log(error2);\n }\n );\n }\n }\n\n onPage(event) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n }, 100);\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwLythcHAtY3VzdG9tL3ZpZXdzL2Nhc2gtd2l0aGRyYXctaW5zZXJ0LWZvcm0vY2FzaC13aXRoZHJhdy1pbnNlcnQtZm9ybS5jb21wb25lbnQuc2NzcyJ9 */\"","import { CashboxService } from '../../services/cashbox.service';\nimport { SaveCashboxModel } from '../../models/save-cashbox.model';\nimport { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap';\nimport { NgForm } from '@angular/forms';\nimport { AppCommunicationService } from '../../services/app-communication.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ConstantsCashboxType } from '../../constants';\n\n@Component({\n selector: 'app-cash-withdraw-insert-form',\n templateUrl: './cash-withdraw-insert-form.component.html',\n styleUrls: ['./cash-withdraw-insert-form.component.scss'],\n})\nexport class CashWithdrawInsertFormComponent implements OnInit {\n workplaceCode: string;\n // Deklarujem premenne:\n saving = false;\n // cashbox: je SaveResource backend model -> pomocou tejto struktury odoslem data na backend\n cashbox: SaveCashboxModel;\n\n // Definujem si nazov Child elementu v HTML\n @ViewChild('lgModal', { static: false }) public lgModal: ModalDirective;\n @ViewChild('f', { static: false }) public form: NgForm;\n\n // Definujem, co sa stane na vystupe -> vytvorim event, ktory zavola v\n // rodicovskom/parent componente metodu -> ta znovu nacita data v parente\n @Output() loadParentData = new EventEmitter();\n\n constructor(\n private _cashboxService: CashboxService,\n private toastr: ToastrService,\n private _appCommunicationService: AppCommunicationService,\n ) {\n }\n\n ngOnInit() {\n // Pri inicializacii komponentu nastavim defaultne hodnoty v modeli\n this.setDefaultCashboxData();\n }\n\n // Touto metodou zavolam modalne okno, ktore sa otvori\n showModal(workplaceCode: any = null) {\n this.saving = false;\n if (workplaceCode) {\n this.workplaceCode = workplaceCode;\n } else {\n this.workplaceCode = AppCommunicationService.getWorkplaceFromLocalStorage();\n }\n\n this.setDefaultCashboxData();\n\n // Otvorim modalne okno\n this.lgModal.show();\n }\n\n // Zavriem modalne okno a resetujem formular\n closeModal() {\n this.saving = false;\n this.form.resetForm();\n this.lgModal.hide();\n }\n\n // Potvrdenie\n confirmModal() {\n this.saving = true;\n let messageText = '';\n let title = '';\n this._cashboxService.createCashbox(this.cashbox)\n .subscribe(cashbox => {\n this.closeModal();\n this.loadParentData.emit();\n\n if (cashbox.type === ConstantsCashboxType.CASHBOX_TYPE_WITHDRAWAL) {\n messageText = ' Výber z kasy v sume \\'' + cashbox.price + ' €\\' bol úspešne vykonaný.';\n title = 'Vykonaný výber';\n } else if (cashbox.type === ConstantsCashboxType.CASHBOX_TYPE_DEPOSIT) {\n messageText = ' Vklad do kasy v sume \\'' + cashbox.price + ' €\\' bol úspešne vykonaný.';\n title = 'Vykonaný vklad';\n } else {\n messageText = ' Priame zadanie stavu kasy v sume \\'' + cashbox.price + ' €\\' bolo úspešne vykonané.';\n title = 'Vykonané priame zadanie';\n }\n this.toastr.success(messageText, title);\n }\n , error2 => {\n if (this.cashbox.type === ConstantsCashboxType.CASHBOX_TYPE_WITHDRAWAL) {\n messageText = ' Nepodarilo sa vykonať výber. Kontaktujte prosím podporu.';\n title = 'Výber neúspešný';\n } else if (this.cashbox.type === ConstantsCashboxType.CASHBOX_TYPE_DEPOSIT) {\n messageText = ' Nepodarilo sa vykonať vklad. Kontaktujte prosím podporu.';\n title = 'Vklad neúspešný';\n } else {\n messageText = ' Nepodarilo sa vykonať priame zadanie stavu. Kontaktujte prosím podporu.';\n title = 'Priame zadanie neúspešné';\n }\n\n this.lgModal.hide();\n console.log(error2);\n this.toastr.error(messageText, title);\n });\n }\n\n private setDefaultCashboxData() {\n // Aby som pri nacitani nastavil defaultne/nulove hodnoty tak, aby bol formular prazdny, aby DOM nacitalo bez chyb a pod.\n this.cashbox = {\n id: 0,\n type: ConstantsCashboxType.CASHBOX_TYPE_WITHDRAWAL,\n price: null,\n employeeDiscount: null,\n items: [],\n workplaceCode: this.workplaceCode,\n };\n }\n\n}\n","export default \":host ::ng-deep .modal-dialog {\\n max-width: 700px;\\n}\\n\\n.text-greenLight {\\n color: rgba(0, 189, 0, 0.39);\\n}\\n\\n.text-orange {\\n color: rgba(255, 165, 0, 0.63);\\n}\\n\\n.bg-color-orange {\\n background-color: rgba(255, 165, 0, 0.63);\\n}\\n\\n.bg-color-green {\\n background-color: rgba(0, 128, 0, 0.62);\\n}\\n\\n.bg-color-purple {\\n background-color: rgba(128, 0, 128, 0.65);\\n}\\n\\n.bg-color-greenLight {\\n background-color: rgba(0, 189, 0, 0.39);\\n}\\n\\n.bg-color-blue {\\n background-color: cornflowerblue;\\n}\\n\\n.label-default {\\n background-color: lightgray;\\n}\\n\\n.txt-color-white {\\n color: white;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy9jYXNoYm94LWRldGFpbC9jYXNoYm94LWRldGFpbC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvK2FwcC1jdXN0b20vdmlld3MvY2FzaGJveC1kZXRhaWwvY2FzaGJveC1kZXRhaWwuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxnQkFBQTtBQ0NGOztBREVBO0VBQ0UsNEJBQUE7QUNDRjs7QURFQTtFQUNFLDhCQUFBO0FDQ0Y7O0FER0E7RUFDRSx5Q0FBQTtBQ0FGOztBREdBO0VBQ0UsdUNBQUE7QUNBRjs7QURHQTtFQUNFLHlDQUFBO0FDQUY7O0FER0E7RUFDRSx1Q0FBQTtBQ0FGOztBREdBO0VBQ0UsZ0NBQUE7QUNBRjs7QURHQTtFQUNFLDJCQUFBO0FDQUY7O0FER0E7RUFDRSxZQUFBO0FDQUYiLCJmaWxlIjoic3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy9jYXNoYm94LWRldGFpbC9jYXNoYm94LWRldGFpbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IDo6bmctZGVlcCAubW9kYWwtZGlhbG9nIHtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbn1cblxuLnRleHQtZ3JlZW5MaWdodCB7XG4gIGNvbG9yOiByZ2JhKDAsIDE4OSwgMCwgMC4zOSk7XG59XG5cbi50ZXh0LW9yYW5nZSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMTY1LCAwLCAwLjYzKTtcbn1cblxuXG4uYmctY29sb3Itb3JhbmdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE2NSwgMCwgMC42Myk7XG59XG5cbi5iZy1jb2xvci1ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTI4LCAwLCAwLjYyKTtcbn1cblxuLmJnLWNvbG9yLXB1cnBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI4LCAwLCAxMjgsIDAuNjUpO1xufVxuXG4uYmctY29sb3ItZ3JlZW5MaWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTg5LCAwLCAwLjM5KTtcbn1cblxuLmJnLWNvbG9yLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb3JuZmxvd2VyYmx1ZTtcbn1cblxuLmxhYmVsLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyYXk7XG59XG5cbi50eHQtY29sb3Itd2hpdGUge1xuICBjb2xvcjogd2hpdGU7XG59XG4iLCI6aG9zdCA6Om5nLWRlZXAgLm1vZGFsLWRpYWxvZyB7XG4gIG1heC13aWR0aDogNzAwcHg7XG59XG5cbi50ZXh0LWdyZWVuTGlnaHQge1xuICBjb2xvcjogcmdiYSgwLCAxODksIDAsIDAuMzkpO1xufVxuXG4udGV4dC1vcmFuZ2Uge1xuICBjb2xvcjogcmdiYSgyNTUsIDE2NSwgMCwgMC42Myk7XG59XG5cbi5iZy1jb2xvci1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTY1LCAwLCAwLjYzKTtcbn1cblxuLmJnLWNvbG9yLWdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjgsIDAsIDAuNjIpO1xufVxuXG4uYmctY29sb3ItcHVycGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjgsIDAsIDEyOCwgMC42NSk7XG59XG5cbi5iZy1jb2xvci1ncmVlbkxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxODksIDAsIDAuMzkpO1xufVxuXG4uYmctY29sb3ItYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvcm5mbG93ZXJibHVlO1xufVxuXG4ubGFiZWwtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JheTtcbn1cblxuLnR4dC1jb2xvci13aGl0ZSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn0iXX0= */\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap';\nimport {CashboxModel} from '../../models/cashbox.model';\n\n@Component({\n selector: 'app-cashbox-detail',\n templateUrl: './cashbox-detail.component.html',\n styleUrls: ['./cashbox-detail.component.scss']\n})\nexport class CashboxDetailComponent implements OnInit {\n\n cashbox: CashboxModel;\n workplaceCode: string;\n\n // Definujem si nazov Child elementu v HTML\n @ViewChild('lgModalDetail', {static: true}) public lgModal: ModalDirective;\n\n constructor(\n ) { }\n\n ngOnInit() {\n }\n\n // Touto metodou zavolam modalne okno, ktore sa otvori\n showModal(inputCashbox: CashboxModel, workplaceCode: string) {\n\n this.workplaceCode = workplaceCode;\n this.cashbox = inputCashbox;\n // console.log(this.cashbox);\n\n // Otvorim modalne okno\n this.lgModal.show();\n }\n\n // Zavriem modalne okno a resetujem formular\n closeModal() {\n this.lgModal.hide();\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwLythcHAtY3VzdG9tL3ZpZXdzL2NhdGVnb3J5LWZvcm0vY2F0ZWdvcnktZm9ybS5jb21wb25lbnQuc2NzcyJ9 */\"","import { NgForm } from '@angular/forms';\nimport { CategoryService } from '../../services/category.service';\nimport { ModalDirective } from 'ngx-bootstrap';\nimport { SaveCategoryModel } from '../../models/save-category.model';\nimport { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { AppCommunicationService } from '../../services/app-communication.service';\nimport { CategoryModel } from '../../models/category.model';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-category-form',\n templateUrl: './category-form.component.html',\n styleUrls: ['./category-form.component.scss'],\n})\nexport class CategoryFormComponent implements OnInit {\n\n // Deklarujem premenne:\n saving = false;\n // category: je SaveResource backend model -> pomocou tejto struktury odoslem data na backend\n category: SaveCategoryModel;\n categories: CategoryModel[];\n matrixPositions: any[];\n inputCashboxMatrixPosition = '';\n matrixPositionsUKVS: any[];\n inputCashboxMatrixPositionUKVS = '';\n\n // Definujem si nazov Child elementu v HTML\n @ViewChild('lgModal', { static: false }) public lgModal: ModalDirective;\n @ViewChild('f', { static: false }) public form: NgForm;\n @Output() loadParentData = new EventEmitter();\n\n constructor(\n private _categoryService: CategoryService,\n private _appCommunicationService: AppCommunicationService,\n private toastr: ToastrService,\n ) {\n }\n\n ngOnInit() {\n // Pri inicializacii komponentu nastavim defaultne hodnoty v modeli\n this.setDefaultCategoryData();\n }\n\n // Touto metodou zavolam modalne okno, ktore sa otvori\n showModal(inputCategory: CategoryModel) {\n this.saving = false;\n // Ak editujem existuji item, tak ho namapujem do modelu, inak nastavim defaultne hodnoty\n if (inputCategory) {\n this.mapExistingItemIntoModel(inputCategory);\n } else {\n this.setDefaultCategoryData();\n }\n\n this._categoryService.getAllCategories()\n .subscribe(res => {\n this.categories = res;\n this.setAvailableMatrixPositions();\n this.setAvailableMatrixPositionsUKVS();\n },\n error2 => {\n console.log(error2);\n this.closeModal();\n });\n\n // Otvorim modalne okno\n this.lgModal.show();\n }\n\n // Zavriem modalne okno a resetujem formular\n closeModal() {\n this.saving = false;\n this.form.resetForm();\n this.lgModal.hide();\n }\n\n // Potvrdenie\n confirmModal() {\n this.saving = true;\n // Vytvorim objekt alebo ulozim zmeny, podla toho, ci item.id = 0 alebo uz idcko ma\n if (this.category.id) {\n this._categoryService.updateCategory(this.category)\n .subscribe(item => {\n this.closeModal();\n this.loadParentData.emit();\n this.toastr.success('Kategória' +\n this.category.name + 'bola úspešne upravená.', 'Úprava');\n }, error2 => {\n this.closeModal();\n console.log(error2);\n this.toastr.error('Nepodarilo sa upraviť kategóriu. Kontaktujte prosím podporu.', 'Úprava neúspešná');\n });\n } else {\n this._categoryService.createCategory(this.category)\n .subscribe(item => {\n this.closeModal();\n this.loadParentData.emit();\n this.toastr.success('Kategória' +\n this.category.name + 'bola úspešne vytvorená.', 'Vytvorenie');\n }, error2 => {\n this.closeModal();\n console.log(error2);\n this.toastr.error('Nepodarilo sa vytvoriť kategóriu. Kontaktujte prosím podporu.', 'Vytvorenie neúspešné');\n });\n }\n }\n\n private setDefaultCategoryData() {\n // Aby som pri nacitani nastavil defaultne/nulove hodnoty tak, aby bol formular prazdny, aby DOM nacitalo bez chyb a pod.\n this.category = {\n id: 0,\n name: '',\n cashboxMatrixPosition: '',\n cashboxMatrixPositionUKVS: '',\n };\n }\n\n // Existujuci item namapujem do modelu\n private mapExistingItemIntoModel(inputCategory: CategoryModel) {\n this.category.id = inputCategory.id;\n this.category.name = inputCategory.name;\n this.category.cashboxMatrixPosition = inputCategory.cashboxMatrixPosition;\n this.inputCashboxMatrixPosition = inputCategory.cashboxMatrixPosition;\n this.category.cashboxMatrixPositionUKVS = inputCategory.cashboxMatrixPositionUKVS;\n this.inputCashboxMatrixPositionUKVS = inputCategory.cashboxMatrixPositionUKVS;\n }\n\n setAvailableMatrixPositions() {\n this.matrixPositions = [\n 'firstColumnTop',\n 'firstColumnMiddle',\n 'firstColumnBottom',\n\n 'secondColumnTop',\n 'secondColumnMiddle',\n 'secondColumnBottom',\n\n 'thirdColumnTop',\n 'thirdColumnMiddle',\n 'thirdColumnBottom',\n\n 'fourthColumnTop',\n 'fourthColumnMiddle',\n 'fourthColumnBottom',\n\n 'firstbottomRow',\n 'lastbottomRow',\n ];\n\n this.categories.forEach(category => {\n const index = this.matrixPositions.indexOf(category.cashboxMatrixPosition);\n if (category.cashboxMatrixPosition != null &&\n category.cashboxMatrixPosition !== '' &&\n this.category.cashboxMatrixPosition !== category.cashboxMatrixPosition &&\n this.inputCashboxMatrixPosition !== category.cashboxMatrixPosition) {\n this.matrixPositions.splice(index, 1);\n }\n });\n }\n\n setAvailableMatrixPositionsUKVS() {\n this.matrixPositionsUKVS = [\n 'firstColumnTop',\n 'firstColumnMiddle',\n 'firstColumnBottom',\n\n 'secondColumnTop',\n 'secondColumnMiddle',\n 'secondColumnBottom',\n\n 'thirdColumnTop',\n 'thirdColumnMiddle',\n 'thirdColumnBottom',\n\n 'fourthColumnTop',\n 'fourthColumnMiddle',\n 'fourthColumnBottom',\n\n 'firstbottomRow',\n 'lastbottomRow',\n ];\n\n this.categories.forEach(category => {\n const index = this.matrixPositionsUKVS.indexOf(category.cashboxMatrixPositionUKVS);\n // console.log(category.cashboxMatrixPositionUKVS,\n // index, category.cashboxMatrixPositionUKVS != null, category.cashboxMatrixPositionUKVS != \"\");\n if (category.cashboxMatrixPositionUKVS !== null &&\n category.cashboxMatrixPositionUKVS !== '' &&\n this.category.cashboxMatrixPositionUKVS !== category.cashboxMatrixPositionUKVS &&\n this.inputCashboxMatrixPositionUKVS !== category.cashboxMatrixPositionUKVS) {\n this.matrixPositionsUKVS.splice(index, 1);\n // console.log(\"del\")\n }\n });\n }\n\n getMatrixPosition(position: string) {\n switch (position) {\n case 'firstColumnTop': {\n return 'Prvý stĺpec hore';\n }\n case 'firstColumnMiddle': {\n return 'Prvý stĺpec v strede';\n }\n case 'firstColumnBottom': {\n return 'Prvý stĺpec dole';\n }\n case 'secondColumnTop': {\n return 'Druhý stĺpec hore';\n }\n case 'secondColumnMiddle': {\n return 'Druhý stĺpec v strede';\n }\n case 'secondColumnBottom': {\n return 'Druhý stĺpec dole';\n }\n case 'thirdColumnTop': {\n return 'Tretí stĺpec hore';\n }\n case 'thirdColumnMiddle': {\n return 'Tretí stĺpec v strede';\n }\n case 'thirdColumnBottom': {\n return 'Tretí stĺpec dole';\n }\n case 'fourthColumnTop': {\n return 'Štvrtý stĺpec hore';\n }\n case 'fourthColumnMiddle': {\n return 'Štvrtý stĺpec v strede';\n }\n case 'fourthColumnBottom': {\n return 'Štvrtý stĺpec dole';\n }\n case 'firstbottomRow': {\n return 'Spodný riadok hore';\n }\n case 'lastbottomRow': {\n return 'Spodný riadok dole';\n }\n default: {\n return '- bez pozície -';\n }\n }\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwLythcHAtY3VzdG9tL3ZpZXdzL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { UserModel } from '../../models/user.model';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n})\nexport class DashboardComponent implements OnInit {\n user = new UserModel();\n\n constructor() {}\n\n ngOnInit() {}\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwLythcHAtY3VzdG9tL3ZpZXdzL2l0ZW0tZm9ybS9pdGVtLWZvcm0uY29tcG9uZW50LnNjc3MifQ== */\"","import { ItemModel } from '../../models/item.model';\nimport { CategoryService } from '../../services/category.service';\nimport { SaveItemModel } from '../../models/save-item.model';\nimport { ModalDirective } from 'ngx-bootstrap';\nimport { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { WorkplaceModel } from '../../models/workplace.model';\nimport { AppCommunicationService } from '../../services/app-communication.service';\nimport { CategoryModel } from '../../models/category.model';\nimport { ItemService } from '../../services/item.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-item-form',\n templateUrl: './item-form.component.html',\n styleUrls: ['./item-form.component.scss'],\n})\nexport class ItemFormComponent implements OnInit {\n // Deklarujem premenne:\n saving = false;\n // item: je SaveResource backend model -> pomocou tejto struktury odoslem data na backend\n item: SaveItemModel;\n // categories: Zoznam kategorii pre select\n categories: CategoryModel[];\n workplaces: WorkplaceModel[];\n showWorkplacesError = false;\n\n // Definujem si nazov Child elementu v HTML\n @ViewChild('lgModal', { static: false }) public lgModal: ModalDirective;\n @ViewChild('f', { static: false }) public form: NgForm;\n\n // Definujem, co sa stane na vystupe -> vytvorim event,\n // ktory zavola v rodicovskom/parent componente metodu -> ta znovu nacita data v parente\n @Output() loadParentData = new EventEmitter();\n\n constructor(\n private _categoryService: CategoryService,\n private _itemService: ItemService,\n private _appCommunicationService: AppCommunicationService,\n private toastr: ToastrService,\n ) {\n }\n\n ngOnInit() {\n // Pri inicializacii komponentu nastavim defaultne hodnoty v modeli\n this.setDefaultItemData();\n }\n\n // Touto metodou zavolam modalne okno, ktore sa otvori\n showModal(inputItem: ItemModel) {\n this.saving = false;\n\n // nacitam kategorie do selectu a\n this._categoryService.getAllCategories()\n .subscribe(\n res => {\n this.categories = res;\n },\n error2 => {\n console.log(error2);\n this.closeModal();\n },\n );\n\n // Nacitam workplaces\n this._itemService.getAllWorkplaces()\n .subscribe(\n res => {\n this.workplaces = res;\n // console.log(this.workplaces );\n },\n error2 => {\n console.log(error2);\n this.closeModal();\n },\n );\n\n // Ak editujem existuji item, tak ho namapujem do modelu, inak nastavim defaultne hodnoty\n if (inputItem) {\n this.mapExistingItemIntoModel(inputItem);\n } else {\n this.setDefaultItemData();\n }\n\n // Otvorim modalne okno\n this.lgModal.show();\n }\n\n // Zavriem modalne okno a resetujem formular\n closeModal() {\n this.saving = false;\n this.form.resetForm();\n this.lgModal.hide();\n }\n\n // Potvrdenie\n confirmModal() {\n this.saving = true;\n // Vytvorim objekt alebo ulozim zmeny, podla toho, ci item.id = 0 alebo uz idcko ma\n if (this.item.id) {\n this._itemService.updateItem(this.item)\n .subscribe(item => {\n this.setDefaultItemData();\n this.closeModal();\n this.loadParentData.emit();\n this.toastr.success('Položka ' + this.item.name + ' bola úspešne upravená.', 'Úprava');\n }\n , error2 => {\n this.setDefaultItemData();\n this.closeModal();\n console.log(error2);\n this.toastr.error('Nepodarilo sa upraviť položku. Kontaktujte prosím podporu.', 'Úprava neúspešná');\n });\n } else {\n this._itemService.createItem(this.item)\n .subscribe(item => {\n this.setDefaultItemData();\n this.closeModal();\n this.loadParentData.emit();\n this.toastr.success('Položka ' + this.item.name + ' bola úspešne upravená.', 'Úprava');\n }\n , error2 => {\n this.setDefaultItemData();\n this.closeModal();\n console.log(error2);\n this.toastr.error('Nepodarilo sa upraviť položku. Kontaktujte prosím podporu.', 'Úprava neúspešná');\n });\n }\n }\n\n private setDefaultItemData() {\n // Aby som pri nacitani nastavil defaultne/nulove hodnoty tak, aby bol formular prazdny, aby DOM nacitalo bez chyb a pod.\n this.item = {\n id: 0,\n name: '',\n price: 0,\n categoryId: 0,\n workplaces: [],\n pluCode: 0,\n isMinPriceRequired: false,\n isOnePieceItem: false,\n };\n }\n\n // Existujuci item namapujem do modelu\n private mapExistingItemIntoModel(inputItem: ItemModel) {\n this.item.id = inputItem.id;\n this.item.name = inputItem.name;\n this.item.categoryId = inputItem.category.id;\n this.item.price = inputItem.price;\n this.item.pluCode = inputItem.pluCode;\n this.item.isOnePieceItem = inputItem.isOnePieceItem;\n inputItem.workplaces.forEach(workplace => {\n this.item.workplaces.push(workplace.id);\n });\n }\n\n onWorkplaceToggle(worplaceId: number, $event: any) {\n if ($event.target.checked) {\n this.item.workplaces.push(worplaceId);\n } else {\n const index = this.item.workplaces.indexOf(worplaceId);\n this.item.workplaces.splice(index, 1);\n }\n\n this.showWorkplacesError = this.item.workplaces.length === 0;\n }\n\n onOnePieceItemToggle($event: any) {\n if ($event.target.checked) {\n this.item.isOnePieceItem = true;\n this.item.price = 0;\n this.item.isMinPriceRequired = false;\n } else {\n this.item.isOnePieceItem = false;\n }\n }\n}\n","export default \".small-column {\\n width: 120px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy9pdGVtLXRhYi9jYXRlZ29yeS12aWV3L2NhdGVnb3J5LXZpZXcuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwLythcHAtY3VzdG9tL3ZpZXdzL2l0ZW0tdGFiL2NhdGVnb3J5LXZpZXcvY2F0ZWdvcnktdmlldy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQUE7QUNDRiIsImZpbGUiOiJzcmMvYXBwLythcHAtY3VzdG9tL3ZpZXdzL2l0ZW0tdGFiL2NhdGVnb3J5LXZpZXcvY2F0ZWdvcnktdmlldy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zbWFsbC1jb2x1bW4ge1xuICB3aWR0aDogMTIwcHg7XG59XG4iLCIuc21hbGwtY29sdW1uIHtcbiAgd2lkdGg6IDEyMHB4O1xufSJdfQ== */\"","import { Router } from '@angular/router';\nimport { CategoryService } from '../../../services/category.service';\nimport { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\nimport { DatatableComponent, ColumnMode } from '@swimlane/ngx-datatable';\nimport { AppCommunicationService } from '../../../services/app-communication.service';\nimport { CategoryModel } from '../../../models/category.model';\nimport { ToastrService } from 'ngx-toastr';\n@Component({\n selector: 'app-category-view',\n templateUrl: './category-view.component.html',\n styleUrls: ['./category-view.component.scss']\n})\nexport class CategoryViewComponent implements OnInit, AfterViewInit {\n private readonly PAGE_SIZE = 100;\n\n isUserAdmin = false;\n\n categories: CategoryModel[] = [];\n selectedRow: CategoryModel = undefined;\n\n /* ### NGX Datatable /events/ settings ### */\n loadingIndicator = true;\n\n controls: any = {\n pageSize: 100,\n filter: '',\n };\n\n ngAfterViewInit() {\n }\n\n constructor(\n private _categoryService: CategoryService,\n private router: Router,\n private _appCommunicationService: AppCommunicationService,\n private toastr: ToastrService\n ) { }\n\n ngOnInit() {\n // Pri inicializacii komponentu nacitam potrebne data\n this.loadData();\n }\n\n // nacitanie dat\n public loadData() {\n this.loadingIndicator = true;\n this._categoryService.getAllCategoriesWithResponsibles()\n .subscribe(\n res => {\n this.categories = res;\n this.loadingIndicator = false;\n },\n error2 => {\n console.log(error2);\n this.loadingIndicator = false;\n }\n );\n }\n\n getMatrixPosition(position: string) {\n switch (position) {\n case 'firstColumnTop': {\n return 'Prvý stĺpec hore';\n }\n case 'firstColumnMiddle': {\n return 'Prvý stĺpec v strede';\n }\n case 'firstColumnBottom': {\n return 'Prvý stĺpec dole';\n }\n case 'secondColumnTop': {\n return 'Druhý stĺpec hore';\n }\n case 'secondColumnMiddle': {\n return 'Druhý stĺpec v strede';\n }\n case 'secondColumnBottom': {\n return 'Druhý stĺpec dole';\n }\n case 'thirdColumnTop': {\n return 'Tretí stĺpec hore';\n }\n case 'thirdColumnMiddle': {\n return 'Tretí stĺpec v strede';\n }\n case 'thirdColumnBottom': {\n return 'Tretí stĺpec dole';\n }\n case 'fourthColumnTop': {\n return 'Štvrtý stĺpec hore';\n }\n case 'fourthColumnMiddle': {\n return 'Štvrtý stĺpec v strede';\n }\n case 'fourthColumnBottom': {\n return 'Štvrtý stĺpec dole';\n }\n case 'firstbottomRow': {\n return 'Spodný riadok hore';\n }\n case 'lastbottomRow': {\n return 'Spodný riadok dole';\n }\n default: {\n return '- bez pozície -';\n }\n }\n }\n\n // Zmazem item vyvolanim dialogoveho okna s otazkou, v pripade suhlasu, volam mazanie z item service.\n // V oboch pripadoch zobrazim hlasku.\n public deleteCategory(category: CategoryModel) {\n // this.notificationService.smartMessageBox({\n // title: 'Odstránenie',\n // content: 'Naozaj chcete odstrániť kategóriu \\'' + category.name + '\\'?',\n // buttons: '[Áno][Nie]'\n // }, (ButtonPressed) => {\n // if (ButtonPressed === 'Áno') {\n // this._categoryService.softDeleteCategory(category.id)\n // .subscribe(\n // res => {\n // this.loadData();\n // this.notificationService.smallBox({\n // title: 'Ostránenie',\n // content: ' Kategória \\'' + category.name + '\\' bola odstránená.',\n // color: '#659265',\n // iconSmall: 'fa fa-check fa-2x fadeInRight animated',\n // timeout: 4000\n // });\n // },\n // error2 => {\n // console.log(error2);\n // }\n // );\n // }\n //\n // if (ButtonPressed === 'Nie') {\n // this.notificationService.smallBox({\n // title: 'Ostránenie zrušené',\n // content: ' Kategória nebola odstránená.',\n // color: '#C46A69',\n // iconSmall: 'fa fa-times fa-2x fadeInRight animated',\n // timeout: 4000\n // });\n // }\n // });\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwLythcHAtY3VzdG9tL3ZpZXdzL2l0ZW0tdGFiL2l0ZW0tdGFiLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-item-tab',\n templateUrl: './item-tab.component.html',\n styleUrls: ['./item-tab.component.scss']\n})\n\nexport class ItemTabComponent implements OnInit {\n activeTab = 'items';\n\n constructor() { }\n\n ngOnInit() {\n }\n}\n","export default \".small-column {\\n width: 120px;\\n}\\n\\n:host ::ng-deep .custom-checkbox > .custom-control-input {\\n position: relative !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy9pdGVtLXRhYi9pdGVtLXZpZXcvaXRlbS12aWV3LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy9pdGVtLXRhYi9pdGVtLXZpZXcvaXRlbS12aWV3LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBQTtBQ0NGOztBREVBO0VBQ0UsNkJBQUE7QUNDRiIsImZpbGUiOiJzcmMvYXBwLythcHAtY3VzdG9tL3ZpZXdzL2l0ZW0tdGFiL2l0ZW0tdmlldy9pdGVtLXZpZXcuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc21hbGwtY29sdW1uIHtcbiAgd2lkdGg6IDEyMHB4O1xufVxuXG46aG9zdCA6Om5nLWRlZXAgLmN1c3RvbS1jaGVja2JveCA+IC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuIiwiLnNtYWxsLWNvbHVtbiB7XG4gIHdpZHRoOiAxMjBweDtcbn1cblxuOmhvc3QgOjpuZy1kZWVwIC5jdXN0b20tY2hlY2tib3ggPiAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbn0iXX0= */\"","import { Router } from '@angular/router';\nimport { ItemModel } from '../../../models/item.model';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\nimport { AppCommunicationService } from '../../../services/app-communication.service';\nimport { ItemService } from '../../../services/item.service';\nimport { first } from 'rxjs/operators';\nimport { ToastrService } from 'ngx-toastr';\nimport { ConfirmationService } from 'primeng/api';\n\n@Component({\n selector: 'app-item-view',\n templateUrl: './item-view.component.html',\n styleUrls: ['./item-view.component.scss']\n})\nexport class ItemViewComponent implements OnInit {\n private readonly PAGE_SIZE = 500;\n query: any = {\n pageSize: this.PAGE_SIZE,\n page: 1,\n searchByName: null\n };\n\n items: ItemModel[] = [];\n selectedRow: ItemModel = undefined;\n\n showSetMinPrice = false;\n minPrice = 0;\n\n /* ### NGX Datatable /events/ settings ### */\n loadingIndicator = true;\n controls: any = {\n pageSize: this.PAGE_SIZE,\n filter: ''\n };\n\n @ViewChild(DatatableComponent, { static: true }) table: DatatableComponent;\n\n constructor(\n private _itemService: ItemService,\n private router: Router,\n private _appCommunicationService: AppCommunicationService,\n private toastr: ToastrService,\n private confirmService: ConfirmationService\n ) {\n }\n\n isUserAdmin = false;\n\n ngOnInit() {\n this.loadData();\n }\n\n public loadData() {\n this.loadingIndicator = true;\n\n\n this._itemService.getMinItemPrice().pipe(first())\n .subscribe({\n next: (data) => {\n if (data && data.valueDecimal) {\n this.minPrice = data.valueDecimal;\n }\n }\n });\n\n if (this.isUserAdmin) {\n this._itemService.getAllItems(this.query).subscribe(\n res => {\n this.items = res;\n this.loadingIndicator = false;\n },\n error2 => {\n console.log(error2);\n this.loadingIndicator = false;\n }\n );\n } else {\n this._itemService.getAllItemsFromWorkplace(this.query).subscribe(\n res => {\n this.items = res;\n this.loadingIndicator = false;\n },\n error2 => {\n console.log(error2);\n this.loadingIndicator = false;\n }\n );\n }\n }\n\n public onSearchChange() {\n setTimeout(() => this.loadData(), 700);\n this.query.page = 1;\n }\n\n public getWorkplaceCodeFormated(workplaceCode: string) {\n return workplaceCode.replace('UIK_', '');\n }\n\n submitMinPrice() {\n this._itemService\n .setMinItemPrice(this.minPrice)\n .pipe(first())\n .subscribe(val => {\n this.minPrice = val.valueDecimal || 0;\n this.showSetMinPrice = false;\n this.toastr.success('Nastavenie minimálnej ceny prebehlo úspešne.');\n }, error => {\n console.log(error);\n this.toastr.error('Nastavenie minimálnej ceny zlyhalo.');\n });\n }\n\n // Zmazem item vyvolanim dialogoveho okna s otazkou, v pripade suhlasu, volam mazanie z item service.\n // V oboch pripadoch zobrazim hlasku.\n public deleteItem(item: ItemModel) {\n\n this.confirmService.confirm({\n header: 'Odstránenie položky',\n message: 'Naozaj chcete odstrániť položku \\'' + item.name + '\\'?',\n acceptLabel: 'Áno',\n rejectLabel: 'Nie',\n accept: () => {\n this._itemService.softDeleteItem(item.id)\n .subscribe(\n res => {\n this.loadData();\n\n this.toastr.success(`Položka ${item.name} bola odstránená.`);\n },\n error2 => {\n console.log(error2);\n }\n );\n }\n });\n }\n}\n","export default \".state-disabled {\\n margin-bottom: 5%;\\n}\\n\\n.profile-photo-container {\\n width: 100%;\\n height: 100%;\\n position: relative;\\n padding-bottom: 100%;\\n}\\n\\n.profile-photo-container .profile-photo {\\n width: 50%;\\n height: auto;\\n left: 50%;\\n top: 50%;\\n position: absolute;\\n transform: translate(-50%, -50%);\\n border-radius: 10%;\\n}\\n\\n.profile-photo-container .profile-photo:hover {\\n -webkit-animation: hoverImage 0.2s linear;\\n animation: hoverImage 0.2s linear;\\n -webkit-animation-fill-mode: forwards;\\n animation-fill-mode: forwards;\\n box-shadow: rgba(0, 0, 0, 0.2) -5px 5px;\\n}\\n\\n@-webkit-keyframes hoverImage {\\n from {\\n width: 50%;\\n border-radius: 50%;\\n }\\n to {\\n width: 70%;\\n border-radius: 5%;\\n }\\n}\\n\\n@keyframes hoverImage {\\n from {\\n width: 50%;\\n border-radius: 50%;\\n }\\n to {\\n width: 70%;\\n border-radius: 5%;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy91c2VyLXByb2ZpbGUtdmlldy91c2VyLXByb2ZpbGUtdmlldy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvK2FwcC1jdXN0b20vdmlld3MvdXNlci1wcm9maWxlLXZpZXcvdXNlci1wcm9maWxlLXZpZXcuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxpQkFBQTtBQ0NGOztBREVBO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0FDQ0Y7O0FEQ0U7RUFDRSxVQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQ0FBQTtFQUNBLGtCQUFBO0FDQ0o7O0FERUU7RUFDRSx5Q0FBQTtVQUFBLGlDQUFBO0VBQ0EscUNBQUE7VUFBQSw2QkFBQTtFQUNBLHVDQUFBO0FDQUo7O0FER0U7RUFDRTtJQUFNLFVBQUE7SUFBWSxrQkFBQTtFQ0NwQjtFREFFO0lBQUksVUFBQTtJQUFZLGlCQUFBO0VDSWxCO0FBQ0Y7O0FEUEU7RUFDRTtJQUFNLFVBQUE7SUFBWSxrQkFBQTtFQ0NwQjtFREFFO0lBQUksVUFBQTtJQUFZLGlCQUFBO0VDSWxCO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy91c2VyLXByb2ZpbGUtdmlldy91c2VyLXByb2ZpbGUtdmlldy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zdGF0ZS1kaXNhYmxlZCB7XG4gIG1hcmdpbi1ib3R0b206IDUlO1xufVxuXG4ucHJvZmlsZS1waG90by1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuXG4gIC5wcm9maWxlLXBob3RvIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwJTtcbiAgfVxuXG4gIC5wcm9maWxlLXBob3RvOmhvdmVyIHtcbiAgICBhbmltYXRpb246IGhvdmVySW1hZ2UgMC4ycyBsaW5lYXI7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjIpIC01cHggNXB4O1xuICB9XG5cbiAgQGtleWZyYW1lcyBob3ZlckltYWdlIHtcbiAgICBmcm9tIHt3aWR0aDogNTAlOyBib3JkZXItcmFkaXVzOiA1MCV9XG4gICAgdG8ge3dpZHRoOiA3MCU7IGJvcmRlci1yYWRpdXM6IDUlO31cbiAgfVxufSIsIi5zdGF0ZS1kaXNhYmxlZCB7XG4gIG1hcmdpbi1ib3R0b206IDUlO1xufVxuXG4ucHJvZmlsZS1waG90by1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuLnByb2ZpbGUtcGhvdG8tY29udGFpbmVyIC5wcm9maWxlLXBob3RvIHtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBib3JkZXItcmFkaXVzOiAxMCU7XG59XG4ucHJvZmlsZS1waG90by1jb250YWluZXIgLnByb2ZpbGUtcGhvdG86aG92ZXIge1xuICBhbmltYXRpb246IGhvdmVySW1hZ2UgMC4ycyBsaW5lYXI7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMikgLTVweCA1cHg7XG59XG5Aa2V5ZnJhbWVzIGhvdmVySW1hZ2Uge1xuICBmcm9tIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuICB0byB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBib3JkZXItcmFkaXVzOiA1JTtcbiAgfVxufSJdfQ== */\"","import { Component, OnInit} from '@angular/core';\nimport { SystemUserModel } from '../../models/system-user.model';\nimport { UserService } from '../../services/user.service';\nimport { AppCommunicationService } from '../../services/app-communication.service';\n\n@Component({\n selector: 'app-user-profile-view',\n templateUrl: './user-profile-view.component.html',\n styleUrls: ['./user-profile-view.component.scss'],\n})\nexport class UserProfileViewComponent implements OnInit {\n user: SystemUserModel;\n isImageLoading = false;\n userImage: any;\n\n constructor(private _userService: UserService) {\n this.getImageFromService();\n }\n\n ngOnInit() {\n this.getLoggedUser();\n }\n\n createImageFromBlob(image: Blob) {\n const reader = new FileReader();\n reader.addEventListener(\n 'load',\n () => {\n this.userImage = reader.result;\n },\n false,\n );\n\n if (image) {\n reader.readAsDataURL(image);\n }\n }\n\n getImageFromService() {\n this.isImageLoading = true;\n this._userService.getPhotoForUser(AppCommunicationService.getCurrentUser().user.photoOID).subscribe(\n data => {\n this.createImageFromBlob(data);\n this.isImageLoading = false;\n },\n error => {\n this.isImageLoading = false;\n console.log(error);\n },\n );\n }\n\n getLoggedUser() {\n this.user = AppCommunicationService.getCurrentUser().user;\n }\n\n // participants = [new ParticipantModel()];\n // @Output() sectionValid: EventEmitter = new EventEmitter();\n //\n // onSubmitParticipant(value, index) {\n // this.participants[index] = value;\n // this.participants.push(new ParticipantModel());\n // this.checkSectionValidity();\n // }\n //\n // onDeleteParticipant(index) {\n // this.participants.splice(index, 1);\n // this.checkSectionValidity();\n // }\n //\n // checkSectionValidity() {\n // if (\n // this.participants.length > 1 &&\n // this.participants.some(participant => participant.name !== undefined || participant.name !== null)\n // ) {\n // this.sectionValid.emit(true);\n // return true;\n // }\n // this.sectionValid.emit(false);\n // return false;\n // }\n}\n","export default \".rowexpansion {\\n background-color: #f3f3f3;\\n border: 1px dashed rgba(128, 128, 128, 0.45);\\n border-radius: 5px;\\n padding: 10px;\\n width: 79%;\\n box-shadow: 0 0 25px darkgrey;\\n}\\n\\n.btns-cell {\\n width: 90px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy91c2VyLXZpZXcvdXNlci12aWV3LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy91c2VyLXZpZXcvdXNlci12aWV3LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UseUJBQUE7RUFDQSw0Q0FBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLFVBQUE7RUFFQSw2QkFBQTtBQ0FGOztBRFFBO0VBQ0UsV0FBQTtBQ0xGIiwiZmlsZSI6InNyYy9hcHAvK2FwcC1jdXN0b20vdmlld3MvdXNlci12aWV3L3VzZXItdmlldy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5yb3dleHBhbnNpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjQ1KTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICB3aWR0aDogNzklO1xuICAvL3Bvc2l0aW9uOiBmaXhlZDtcbiAgYm94LXNoYWRvdzogMCAwIDI1cHggZGFya2dyZXk7XG5cbiAgLy8uY29sLTYge1xuICAvLyAgd2lkdGg6IDE2LjY2JSAhaW1wb3J0YW50O1xuICAvLyAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIC8vfVxufVxuXG4uYnRucy1jZWxsIHtcbiAgd2lkdGg6IDkwcHg7XG59XG4iLCIucm93ZXhwYW5zaW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMTI4LCAxMjgsIDEyOCwgMC40NSk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogMTBweDtcbiAgd2lkdGg6IDc5JTtcbiAgYm94LXNoYWRvdzogMCAwIDI1cHggZGFya2dyZXk7XG59XG5cbi5idG5zLWNlbGwge1xuICB3aWR0aDogOTBweDtcbn0iXX0= */\"","import { UserService } from '../../services/user.service';\nimport { UserModel } from '../../models/user.model';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { AppCommunicationService } from '../../services/app-communication.service';\n\n@Component({\n selector: 'app-user-view',\n templateUrl: './user-view.component.html',\n styleUrls: ['./user-view.component.scss'],\n})\nexport class UserViewComponent implements OnInit {\n\n isUserAdmin = false;\n users: UserModel[] = [];\n expanded: any = {};\n timeout: any;\n loadingIndicator = true;\n allRowsExpanded = false;\n\n @ViewChild('myTable', { static: false }) table: any;\n\n constructor(\n private _userService: UserService,\n private _appCommunicationService: AppCommunicationService,\n ) {\n }\n\n ngOnInit() {\n // Pri inicializacii komponentu nacitam potrebne data\n this.loadData();\n }\n\n // nacitanie dat\n public loadData() {\n this._userService\n .getAllAppUsers()\n .subscribe(\n res => {\n this.users = res;\n this.loadingIndicator = false;\n },\n error2 => {\n console.log(error2);\n },\n );\n }\n\n onPage(event) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n }, 100);\n }\n\n toggleExpandRow(row) {\n this.table.rowDetail.toggleExpandRow(row);\n }\n\n toggleExpandAll() {\n if (this.allRowsExpanded) {\n this.table.rowDetail.collapseAllRows();\n } else {\n this.table.rowDetail.expandAllRows();\n }\n this.allRowsExpanded = !this.allRowsExpanded;\n }\n\n getUserRolesAsArrayFromString(rolesAsString: string): string[] {\n const roles: string[] = [];\n\n rolesAsString.split(',', 500).forEach(role => {\n if (AppCommunicationService.POSSIBLE_ROLES.includes(role)) {\n roles.push(role);\n }\n });\n\n return roles;\n }\n\n}\n","export default \".menu-background {\\n height: 100%;\\n width: 100%;\\n z-index: 9999;\\n position: absolute;\\n}\\n\\n.menu {\\n height: 100%;\\n width: 100%;\\n position: fixed;\\n background: rgba(51, 51, 51, 0.9);\\n z-index: 9;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC8rYXBwLWN1c3RvbS92aWV3cy93b3JrcGxhY2Utc2VsZWN0b3Itdmlldy93b3JrcGxhY2Utc2VsZWN0b3Itdmlldy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvK2FwcC1jdXN0b20vdmlld3Mvd29ya3BsYWNlLXNlbGVjdG9yLXZpZXcvd29ya3BsYWNlLXNlbGVjdG9yLXZpZXcuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtBQ0NGOztBREVBO0VBQ0UsWUFBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsaUNBQUE7RUFDQSxVQUFBO0VBQ0EsYUFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7QUNDRiIsImZpbGUiOiJzcmMvYXBwLythcHAtY3VzdG9tL3ZpZXdzL3dvcmtwbGFjZS1zZWxlY3Rvci12aWV3L3dvcmtwbGFjZS1zZWxlY3Rvci12aWV3LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1lbnUtYmFja2dyb3VuZCB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLm1lbnUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoNTEsIDUxLCA1MSwgMC45KTtcbiAgei1pbmRleDogOTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4iLCIubWVudS1iYWNrZ3JvdW5kIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk5OTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ubWVudSB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogcmdiYSg1MSwgNTEsIDUxLCAwLjkpO1xuICB6LWluZGV4OiA5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn0iXX0= */\"","import { Component, OnInit, Renderer2 } from '@angular/core';\nimport { AppCommunicationService } from '../../services/app-communication.service';\nimport { AuthenticationService } from '../../../core-frontend-common/auth/authentication.service';\nimport { UserService } from '../../services/user.service';\nimport { TileModel } from '../../components/tile/tile.model';\n\n@Component({\n selector: 'app-workplace-selector-view',\n templateUrl: './workplace-selector-view.component.html',\n styleUrls: ['./workplace-selector-view.component.scss'],\n})\nexport class WorkplaceSelectorViewComponent implements OnInit {\n showWorkplaceSelector = true;\n menuItems:TileModel[] = [\n {\n title: 'UIK Jedlíkova 5',\n imageUrl: 'assets/img/custom/uik/j5a.png',\n redirectUrlAfterClick: null,\n route: 'UIK_J5',\n },\n {\n title: 'UK Copycentrum',\n imageUrl: 'assets/img/custom/uik/uka.png',\n redirectUrlAfterClick: null,\n route: 'UIK_UK',\n },\n {\n title: 'UK Veľkoplošné služby',\n imageUrl: 'assets/img/custom/uik/ukvs.png',\n redirectUrlAfterClick: null,\n route: 'UIK_UKVS',\n },\n ];\n\n constructor(\n private renderer: Renderer2,\n private appCommunicationService: AppCommunicationService,\n private authenticationService: AuthenticationService,\n protected userService: UserService\n ) {\n }\n\n ngOnInit() {\n this.appCommunicationService\n .isWorkplaceChanged\n .subscribe(val => {\n if (!val && !AppCommunicationService.getWorkplaceFromLocalStorage()) {\n this.showWorkplaceSelector = true;\n }\n });\n\n if (AppCommunicationService.getWorkplaceFromLocalStorage()) {\n this.showWorkplaceSelector = false;\n } else {\n this.renderer.setStyle(document.body, 'overflow', 'hidden');\n }\n }\n\n onMenuButtonClick(option: string) {\n this.userService.changeWorkplace(option).subscribe(user => {\n this.appCommunicationService.setWorkplaceToLocalStorage(user.workplaceCode.toString());\n }, error2 => {\n console.log(error2);\n });\n\n this.appCommunicationService.deleteWorkplaceFromLocalStorage();\n this.showWorkplaceSelector = false;\n this.appCommunicationService.setWorkplaceToLocalStorage(option);\n this.renderer.setStyle(document.body, 'overflow', 'auto');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { MainComponent } from './core-frontend-common/template/shared/layout/main/main.component';\nimport { LayoutModule } from './core-frontend-common/template/shared/layout/layout.module';\nimport { UserProfileViewComponent } from './+app-custom/views/user-profile-view/user-profile-view.component';\nimport { AuthGuard } from './core-frontend-common/auth/guards/auth.guard';\nimport { DevComponent } from './+app-custom/components/dev/dev.component';\nimport { WorkplaceSelectorViewComponent } from './+app-custom/views/workplace-selector-view/workplace-selector-view.component';\nimport { CashDeskViewComponent } from './+app-custom/views/cash-desk-view/cash-desk-view.component';\nimport { ItemTabComponent } from './+app-custom/views/item-tab/item-tab.component';\nimport { UserViewComponent } from './+app-custom/views/user-view/user-view.component';\nimport { CashHistoryComponent } from './+app-custom/views/cash-history/cash-history.component';\nimport { DashboardComponent } from './+app-custom/views/dashboard/dashboard.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'cashDesk', pathMatch: 'full', canActivate: [AuthGuard] },\n {\n path: '',\n component: WorkplaceSelectorViewComponent,\n children: [\n {\n path: '', component: MainComponent, children: [\n { path: '', redirectTo: 'cashDesk', pathMatch: 'full' },\n { path: 'dashboard', component: DashboardComponent, pathMatch: 'full' },\n { path: 'dev', component: DevComponent, pathMatch: 'full' },\n { path: 'profile', component: UserProfileViewComponent, data: { pageTitle: 'profile' }, pathMatch: 'full' },\n { path: 'cashDesk', component: CashDeskViewComponent, data: { pageTitle: 'cashDesk' }, pathMatch: 'full' },\n { path: 'items', component: ItemTabComponent, data: { pageTitle: 'Položky' } },\n { path: 'users', component: UserViewComponent, data: { pageTitle: 'Zamestnanci' }, pathMatch: 'full' },\n { path: 'cashHistory', component: CashHistoryComponent, data: { pageTitle: 'Stav kasy' }, pathMatch: 'full' },\n ],\n },\n ],\n canActivate: [AuthGuard],\n },\n];\n\n@NgModule({\n imports: [LayoutModule, RouterModule.forRoot(routes, { useHash: true })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {\n}\n","export default \".system-maintance-alert {\\n width: 50%;\\n min-height: 49px;\\n position: fixed;\\n top: 0;\\n left: 50%;\\n transform: translateX(-50%);\\n z-index: 99999999999999990000000000000000;\\n}\\n\\n:host ::ng-deep strong {\\n font-weight: bolder !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFVBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLDJCQUFBO0VBQ0EseUNBQUE7QUNDRjs7QURFQTtFQUNFLDhCQUFBO0FDQ0YiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc3lzdGVtLW1haW50YW5jZS1hbGVydCB7XG4gIHdpZHRoOiA1MCU7XG4gIG1pbi1oZWlnaHQ6IDQ5cHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgei1pbmRleDogOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk7XG59XG5cbjpob3N0IDo6bmctZGVlcCBzdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyICFpbXBvcnRhbnQ7XG59XG4iLCIuc3lzdGVtLW1haW50YW5jZS1hbGVydCB7XG4gIHdpZHRoOiA1MCU7XG4gIG1pbi1oZWlnaHQ6IDQ5cHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgei1pbmRleDogOTk5OTk5OTk5OTk5OTk5OTAwMDAwMDAwMDAwMDAwMDA7XG59XG5cbjpob3N0IDo6bmctZGVlcCBzdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyICFpbXBvcnRhbnQ7XG59Il19 */\"","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { ReportBugService } from './+app-custom/components/report-bug-dialog/report-bug.service';\nimport { Subscription } from 'rxjs';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { Router } from '@angular/router';\nimport { I18nService } from './core-frontend-common/template/shared/i18n';\nimport { ToastrService } from 'ngx-toastr';\nimport * as html2canvas from 'html2canvas';\nimport { ReportBugDialogComponent } from './+app-custom/components/report-bug-dialog/report-bug-dialog.component';\nimport { SystemMaintanceModel } from './+app-custom/models/system-maintance.model';\nimport { AppThemeService } from './+app-custom/theme/app-theme.service';\n\n@Component({\n selector: 'app-root',\n template: `\n
\n {{ systemMaintance.description }}\n
\n \n \n \n `,\n styleUrls: ['./app.component.scss'],\n})\nexport class AppComponent implements OnInit, OnDestroy {\n systemMaintance: SystemMaintanceModel = new SystemMaintanceModel();\n isMaintanced = false;\n\n reportBugSubscriber: Subscription;\n\n @ViewChild(ReportBugDialogComponent, { static: false }) reportBugDialog: ReportBugDialogComponent;\n\n constructor(\n private deviceService: DeviceDetectorService,\n protected reportBugService: ReportBugService,\n protected router: Router,\n protected i18n: I18nService,\n protected notification: ToastrService,\n private appThemeService: AppThemeService\n ) {}\n\n ngOnInit() {\n this.reportBugSubscriber = this.reportBugService.reportBug.subscribe(() => {\n this.reportBugDialog.openModal();\n });\n \n this.appThemeService.initTheme();\n }\n\n ngOnDestroy() {\n if (this.reportBugSubscriber) {\n this.reportBugSubscriber.unsubscribe();\n }\n }\n\n // checkSystemMaintance() {\n // this._generalService\n // .checkSystemMaintance()\n // .subscribe(value => {\n // this.isMaintanced = true;\n // }, () => {\n // this.isMaintanced = false;\n // })\n // }\n\n onReportBugDialogSubmit(message: string) {\n if (message) {\n setTimeout(() => {\n this.clickedReportBug(message);\n }, 500);\n }\n }\n\n async clickedReportBug(message: string) {\n let deviceType = '';\n if (this.deviceService.isDesktop()) {\n deviceType = 'desktop';\n } else if (this.deviceService.isTablet()) {\n deviceType = 'tablet';\n } else if (this.deviceService.isMobile()) {\n deviceType = 'mobile';\n }\n\n const techData = {\n page: this.router.url.slice(0, 10),\n deviceInfo: this.deviceService.getDeviceInfo(),\n deviceType,\n screen: {\n width: window.innerWidth,\n height: window.innerHeight,\n },\n };\n\n // @ts-ignore\n const canvas = await html2canvas(ignoreScreen ? document.getElementById('main') : document.body);\n if (canvas) {\n const image = canvas.toDataURL('image/jpeg');\n console.log('image: ', image);\n try {\n console.log('Report bug: ', message, JSON.stringify(techData));\n } catch (e) {\n this.notification.error('Nebolo možné odoslať hlásenie.', 'Chyba');\n console.log(e);\n return;\n }\n\n this.notification.success('Ďakujeme za spätnú väzbu. Vážime si to.', 'Hlásenie bolo odoslané.');\n }\n }\n}\n","import { SYSTEM_FULL_NAME, SYSTEM_NAME } from './+app-custom/app.settings';\n\nexport const APP_CONFIG = {\n app: SYSTEM_NAME,\n appName: SYSTEM_FULL_NAME,\n user: 'Dr. Codex Lantern',\n email: 'drlantern@gotbootstrap.com',\n twitter: 'codexlantern',\n avatar: 'avatar-admin.png',\n version: '4.0.0',\n bs4v: '4.3',\n logo: 'logo.png',\n logoM: 'logo.png',\n copyright: 'UK Development Team © 2019',\n};\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { CoreModule } from './core-frontend-common/template/core/core.module';\nimport { CustomModule } from './+app-custom/custom.module';\nimport { AuthGuard } from './core-frontend-common/auth/guards/auth.guard';\nimport { AuthenticationService } from './core-frontend-common/auth/authentication.service';\nimport { UserService } from './+app-custom/services/user.service';\nimport { GeneralService } from './+app-custom/services/general.service';\nimport { AppRedirectService } from './core-frontend-common/auth/app-redirect.service';\nimport { CookieService } from 'ngx-cookie-service';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { ToastrModule } from 'ngx-toastr';\nimport { RoleGuard } from './core-frontend-common/auth/guards/role.guard';\nimport { SharedModule } from './core-frontend-common/template/shared/shared.module';\nimport { ReportBugDialogModule } from './+app-custom/components/report-bug-dialog/report-bug-dialog.module';\nimport { AUTH_INTERCEPTOR_PROVIDER } from './core-frontend-common/auth/interceptors/auth-interceptor.provider';\nimport { ConfirmDialogModule } from \"primeng/confirmdialog\";\nimport { AppThemeModule } from './+app-custom/theme/app-theme.module';\n\n@NgModule({\n declarations: [AppComponent],\n imports: [\n BrowserModule,\n AppRoutingModule,\n CoreModule,\n CustomModule,\n SharedModule,\n BrowserAnimationsModule, // required animations module\n ToastrModule.forRoot({ positionClass: \"toast-top-center\" }),\n ReportBugDialogModule,\n ConfirmDialogModule,\n AppThemeModule,\n // ToastrModule added\n ],\n providers: [\n AUTH_INTERCEPTOR_PROVIDER,\n AuthGuard,\n RoleGuard,\n AuthenticationService,\n UserService,\n CookieService,\n GeneralService,\n AppRedirectService,\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { NavigationItem } from './core-frontend-common/template/store/navigation';\nimport {SYSTEM_NAME_AUTH, UserRoles} from './+app-custom/constants';\nimport { getBaseFrontendUrl } from './+app-custom/app.urls';\n\nexport const NavigationItems: NavigationItem[] = [\n {\n title: 'modules',\n tags: 'modules',\n icon: 'fal fa-angle-down',\n routerLink: 'null',\n externalUrl: `${getBaseFrontendUrl(SYSTEM_NAME_AUTH)}`,\n roles: UserRoles.All,\n },\n {\n title: 'cashDesk',\n tags: 'application intel',\n icon: 'fal fa-money-bill',\n routerLink: '/cashDesk',\n roles: UserRoles.All,\n },\n {\n title: 'Položky',\n tags: 'application intel',\n icon: 'fal fa-list',\n routerLink: '/items',\n roles: UserRoles.All,\n },\n {\n title: 'Zamestnanci',\n tags: 'application intel',\n icon: 'fal fa-users',\n routerLink: '/users',\n roles: UserRoles.Admins,\n },\n {\n title: 'Záznamy predajov',\n tags: 'application intel',\n icon: 'fal fa-history',\n routerLink: '/cashHistory',\n roles: UserRoles.All,\n },\n];\n","export const ALLOWED_ROLE_PREFIX = {\n EPC: 'EPC',\n ETD: 'ETD',\n ISBN: 'ISBN',\n ROOMBOOK: 'ROOMBOOK',\n ZP: 'ZP',\n UIK: 'UIK',\n HELPDESK: 'HELPDESK',\n TOOLS: 'TOOLS',\n LIBADMIN: 'LIBADMIN',\n ALFRED: 'ALFRED',\n HELIOS: 'HELIOS',\n AUTOPREVADZKA: 'AUTOPREVADZKA',\n UK: 'UK',\n};\n\nexport const ALLOWED_GENERAL_ROLES = [\n 'SUPERADMIN',\n 'STUDENT',\n 'PHD',\n 'PEDAGOGUE',\n 'EMPLOYEE'\n];\n","export const AppVersions: IAppVersion[] = [\n {\n version: 1.1,\n date: new Date('09/02/2021'),\n value: {\n title: 'Nová verzia systému',\n items: [\n 'Filter tiketov',\n 'Zobrazenie tlačidiel tiketu',\n 'Pridanie validátorov do formulára publikácií',\n 'Vylepšenie responzivity',\n '... dalšie drobné vylepšenia'\n ]\n },\n read: false\n },\n {\n version: 1.3,\n date: new Date('09/28/2021'),\n value: {\n title: 'Nová verzia systému',\n items: [\n 'Citácie',\n 'Registrácia citácií',\n 'Upravená sekcia \"Moje publikácie\" so zaimplementovanými citáciami',\n 'Upravená sekcia \"Katalóg tiketov\" so zaimplementovanými citáciami',\n 'Upravený filter v sekcii \"Katalóg tiketov\" - pridaná fakulta a typ (biblio/citácia)',\n 'Upravené dáta pre subsekciu \"Všetky záznamy\" - zobrazené tikety na príjme',\n 'Vylepšenia formulára registrácie publikácie',\n 'Vylepšenie responzivity',\n '... dalšie drobné vylepšenia'\n ]\n },\n read: false\n },\n {\n version: 1.4,\n date: new Date('09/29/2021'),\n value: {\n title: 'Nová verzia systému',\n items: [\n 'Citácie',\n 'Narábanie so stavmi citácií - nakonfigurovaný celý flow v rámci ticketu',\n 'Pridané nové tlačidlá ticketu - zobraziť biblio a importovať z DW',\n 'Pridané nové funkcie pre import z DW',\n 'Nakonfigurovaný biblio detail v sekcii DW',\n 'Upravené dáta',\n '... dalšie drobné vylepšenia'\n ]\n },\n read: false\n },\n {\n version: 1.5,\n date: new Date('09/30/2021'),\n value: {\n title: 'Nová verzia systému',\n items: [\n 'Biblio',\n 'Narábanie s biblio záznamami',\n 'Nakonfigurovaný náhľad biblio záznamu',\n 'Možnosť odoslať tiket na finálny stav',\n 'Nahlásenie chyby ako položka v menu - dočasne pri spustení systému',\n 'Zaimplementovaná možnosť zobraziť citáciu pre daný biblio záznam',\n 'Upravená sekcia \"Moje publikácie\"',\n '... dalšie drobné vylepšenia'\n ]\n },\n read: false\n }\n];\n\nexport interface IAppVersion {\n version: number;\n date: Date;\n value: {\n title: string;\n items: string[];\n };\n read: boolean;\n}\n\n","import { Injectable, Inject } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { DOCUMENT } from '@angular/common';\nimport { CookieService } from 'ngx-cookie-service';\nimport { PRODUCTION_BUILD, DEVAPI_BUILD, LOCAL_AUTH } from '../../+app-custom/app.settings';\nimport {\n APP_URL_ALFRED,\n APP_URL_EPC,\n APP_URL_ETD, APP_URL_HELIOS,\n APP_URL_HELPDESK,\n APP_URL_ISBN,\n APP_URL_LIBADMIN,\n APP_URL_ROOMBOOK,\n APP_URL_TOOLS,\n APP_URL_UIK,\n APP_URL_ZP,\n AUTH_BASE_COOKIE_DOMAIN,\n AUTH_REDIRECT_URL\n} from \"./auth.urls\";\nimport { LOCAL_FRONTEND_URL } from 'src/app/+app-custom/app.urls';\nimport { AUTH_RETURN_URL_COOKIE_EXPIRATION } from './auth-constants';\n\n@Injectable()\nexport class AppRedirectService {\n constructor(private router: Router, private cookieService: CookieService, @Inject(DOCUMENT) private document: any) {}\n\n redirectLogin(sendReturnUrl: boolean = false): void {\n if (!PRODUCTION_BUILD && !DEVAPI_BUILD && !LOCAL_AUTH) {\n this.document.location.href =\n AUTH_REDIRECT_URL + '?development=true&redirectAfterLogin=' + encodeURIComponent(LOCAL_FRONTEND_URL + '/#/dev');\n } else {\n if (sendReturnUrl) {\n const expires = Date.now() + AUTH_RETURN_URL_COOKIE_EXPIRATION;\n this.cookieService.set(\n 'auth_ret',\n encodeURIComponent(this.document.location.href),\n expires,\n '/',\n AUTH_BASE_COOKIE_DOMAIN,\n PRODUCTION_BUILD\n );\n } else if (this.cookieService.check('auth_ret')) {\n this.cookieService.delete('auth_ret', '/', AUTH_BASE_COOKIE_DOMAIN);\n }\n\n this.document.location.href = AUTH_REDIRECT_URL;\n }\n }\n\n redirect(url: string): void {\n this.document.location.href = url;\n }\n\n redirectEpc(): void {\n this.document.location.href = APP_URL_EPC;\n }\n\n redirectEtd(): void {\n this.document.location.href = APP_URL_ETD;\n }\n\n redirectIsbn(): void {\n this.document.location.href = APP_URL_ISBN;\n }\n\n redirectRoombook(): void {\n this.document.location.href = APP_URL_ROOMBOOK;\n }\n\n redirectZp(): void {\n this.document.location.href = APP_URL_ZP;\n }\n\n redirectUik(): void {\n this.document.location.href = APP_URL_UIK;\n }\n\n redirectHelpdesk(): void {\n this.document.location.href = APP_URL_HELPDESK;\n }\n\n redirectTools(): void {\n this.document.location.href = APP_URL_TOOLS;\n }\n\n redirectAlfred(): void {\n this.document.location.href = APP_URL_ALFRED;\n }\n\n redirectHelios(): void {\n this.document.location.href = APP_URL_HELIOS;\n }\n\n redirectLibadmin(): void {\n this.document.location.href = APP_URL_LIBADMIN;\n }\n}\n","/*\n * Auth Thresholds\n */\nexport const AUTH_RETURN_URL_COOKIE_EXPIRATION = 1800000;\nexport const AUTH_TOKEN_REFRESH_INTERVAL = 1200000;\nexport const AUTH_TOKEN_EXPIRATION_THRESHOLD = 300000;\nexport const AUTH_TOKEN_EXPIRATION_CHECK_THRESHOLD = 1500000;\nexport const AUTH_REFRESH_TOKEN_EXPIRATION_THRESHOLD = 300000;\n","import * as _ from 'lodash';\nimport {\n BASE_FRONTEND_URL,\n DEV_HOST,\n getBaseApiUrl, getBaseFrontendUrl,\n LOCAL_APP_PORTS,\n LOCAL_FRONTEND_URL,\n LOCAL_HOST,\n PROD_HOST\n} from \"src/app/+app-custom/app.urls\";\nimport {\n SYSTEM_NAME_EPC,\n SYSTEM_NAME_ETD,\n SYSTEM_NAME_ISBN,\n SYSTEM_NAME_ROOMBOOK,\n SYSTEM_NAME_ZP,\n SYSTEM_NAME_UIK,\n SYSTEM_NAME_HELPDESK,\n SYSTEM_NAME_TOOLS,\n SYSTEM_NAME_LIBADMIN,\n SYSTEM_NAME_ALFRED,\n SYSTEM_NAME_HELIOS,\n} from 'src/app/+app-custom/constants';\nimport { DEVAPI_BUILD, LOCAL_AUTH, LOCAL_DEVELOPMENT, PRODUCTION_BUILD, SYSTEM_NAME } from \"../../+app-custom/app.settings\";\n\nexport const AUTH_BASE_URL = getBaseApiUrl('AUTH');\nconst BASE_URL = getBaseApiUrl(SYSTEM_NAME);\n\nexport const AUTH_BASE_COOKIE_DOMAIN = getAuthBaseCookieDomain();\n\n// constructs URL for auth redirection\nfunction getAuthRedirectUrl(): string {\n if (LOCAL_AUTH) {\n return LOCAL_FRONTEND_URL;\n }\n\n return `${BASE_FRONTEND_URL}`;\n}\n\n// constructs base domain for cookie storage\nfunction getAuthBaseCookieDomain(): string {\n if (PRODUCTION_BUILD) {\n return 'tuke.sk';\n } else if (!DEVAPI_BUILD) {\n return 'localhost';\n }\n\n return 'tuke.sk';\n}\n\n// constructs redirect URL for specified app\nfunction getAppRedirectUrl(systemName: string): string {\n return `${LOCAL_DEVELOPMENT ? (LOCAL_FRONTEND_URL + _.toString(LOCAL_APP_PORTS[systemName])) : getBaseFrontendUrl(systemName)}`;\n}\n\nexport const AUTH_REDIRECT_URL = getAuthRedirectUrl();\n\nexport const APP_URL_EPC = getAppRedirectUrl('epc');\nexport const APP_URL_ETD = getAppRedirectUrl(SYSTEM_NAME_ETD);\nexport const APP_URL_ISBN = getAppRedirectUrl(SYSTEM_NAME_ISBN);\nexport const APP_URL_ROOMBOOK = getAppRedirectUrl(SYSTEM_NAME_ROOMBOOK);\nexport const APP_URL_ZP = getAppRedirectUrl(SYSTEM_NAME_ZP);\nexport const APP_URL_UIK = getAppRedirectUrl(SYSTEM_NAME_UIK);\nexport const APP_URL_HELPDESK = getAppRedirectUrl(SYSTEM_NAME_HELPDESK);\nexport const APP_URL_TOOLS = getAppRedirectUrl(SYSTEM_NAME_TOOLS);\nexport const APP_URL_LIBADMIN = getAppRedirectUrl(SYSTEM_NAME_LIBADMIN);\nexport const APP_URL_ALFRED = getAppRedirectUrl(SYSTEM_NAME_ALFRED);\nexport const APP_URL_HELIOS = getAppRedirectUrl(SYSTEM_NAME_HELIOS);\n\n/* ### AUTH URLS ### */\nconst API_LOGIN = '/auth/token';\nconst API_LOGOUT = '/auth/logout';\nconst API_GET_EMPLOYMENTS = '/auth/getEmployments';\nconst API_CHANGE_EMPLOYMENT = '/auth/changeEmployment';\n\nexport function getLoginUrl() {\n return `${BASE_URL}${API_LOGIN}`;\n}\n\nexport function getLogoutUrl() {\n return `${BASE_URL}${API_LOGOUT}`;\n}\n\nexport function getEmploymentsUrl() {\n return `${BASE_URL}${API_GET_EMPLOYMENTS}`;\n}\n\nexport function changeEmploymentUrl() {\n return `${BASE_URL}${API_CHANGE_EMPLOYMENT}`;\n}\n\nexport function getAppConfigurationUrl() {\n return `${BASE_URL}/config/client`;\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport * as CryptoJS from 'crypto-js';\nimport * as _ from 'lodash';\nimport * as moment from 'moment';\nimport { CookieService } from 'ngx-cookie-service';\nimport { EMPTY, Observable, of, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { PRODUCTION_BUILD, SYSTEM_NAME } from 'src/app/+app-custom/app.settings';\nimport { SYSTEM_NAME_AUTH, UserRoles } from \"src/app/+app-custom/constants\";\nimport {\n AUTH_REFRESH_TOKEN_EXPIRATION_THRESHOLD,\n AUTH_TOKEN_EXPIRATION_CHECK_THRESHOLD,\n AUTH_TOKEN_EXPIRATION_THRESHOLD,\n AUTH_TOKEN_REFRESH_INTERVAL,\n} from 'src/app/core-frontend-common/auth/auth-constants';\nimport { APP_CONFIG } from '../../app.config';\nimport { ALLOWED_GENERAL_ROLES, ALLOWED_ROLE_PREFIX } from '../allowed-role-prefix';\nimport { StringUtils } from '../utils/string-utils';\nimport { AppRedirectService } from './app-redirect.service';\nimport {\n AUTH_BASE_COOKIE_DOMAIN, AUTH_BASE_URL,\n changeEmploymentUrl,\n getEmploymentsUrl,\n getLoginUrl,\n getLogoutUrl\n} from \"./auth.urls\";\nimport { LoginResourceModel } from './model/login-resource.model';\nimport { Session } from './model/session.model';\nimport { getBaseFrontendUrl } from \"../../+app-custom/app.urls\";\n\n@Injectable()\nexport class AuthenticationService {\n private mIsRefreshingToken = false;\n private mRefreshTokenInterval;\n\n public token: string;\n\n static encryptData(data): string {\n return data;\n }\n\n static decryptData(data): string {\n return data;\n }\n\n /* ### Save logged user to local storage ### */\n static saveLoggedUser(response) {\n if (!response) {\n return;\n }\n\n const jsonData = response;\n const user = {\n user: jsonData.user,\n expires: jsonData.expires,\n refresh_expires: jsonData.refresh_expires,\n access_token: jsonData.access_token,\n refresh_token: jsonData.refresh_token,\n session_guid: jsonData.session_guid,\n };\n\n const encrypted = AuthenticationService.encryptData(JSON.stringify(user));\n\n localStorage.setItem(`${APP_CONFIG.app.toLowerCase()}user`, encrypted.toString());\n }\n\n static getCurrentUser() {\n try {\n const sessionJson = localStorage.getItem(`${APP_CONFIG.app.toLowerCase()}user`);\n\n if (StringUtils.isNullOrWhitespace(sessionJson)) {\n return undefined;\n }\n\n const decrypted = AuthenticationService.decryptData(sessionJson);\n\n if (!sessionJson || !decrypted) {\n localStorage.removeItem(`${APP_CONFIG.app.toLowerCase()}user`);\n return undefined;\n }\n\n return StringUtils.isNullOrWhitespace(decrypted) ? undefined : JSON.parse(decrypted);\n } catch (e) {\n\n localStorage.removeItem(`${APP_CONFIG.app.toLowerCase()}user`);\n\n if (!PRODUCTION_BUILD) {\n console.error(e);\n }\n }\n\n return undefined;\n }\n\n static getCurrentUserEncrypted(): string {\n try {\n const sessionJson = localStorage.getItem(`${APP_CONFIG.app.toLowerCase()}user`);\n\n if (StringUtils.isNullOrWhitespace(sessionJson)) {\n return undefined;\n }\n\n return StringUtils.isNullOrWhitespace(sessionJson) ? undefined : (sessionJson as string);\n } catch (e) {\n if (!PRODUCTION_BUILD) {\n console.error(e);\n }\n }\n\n return undefined;\n }\n\n static getCurrentUserRoles(): string[] {\n const session: Session = AuthenticationService.getCurrentUser();\n\n if (_.isNil(session) || _.isNil(session.user) || !_.isArray(session.user.roles)) {\n return [];\n }\n\n return session.user.roles;\n }\n\n static isUserInRole(reqRole: string): boolean {\n const roles = AuthenticationService.getCurrentUserRoles();\n\n if (!_.isArray(roles) || !roles.length) {\n return false;\n }\n\n if (_.indexOf(UserRoles.All, reqRole) === -1) {\n return false;\n }\n\n return _.indexOf(roles, reqRole) > -1;\n }\n\n static isUserInRoles(reqRoles: string[]): boolean {\n const userRoles = AuthenticationService.getCurrentUserRoles();\n\n if (!_.isArray(reqRoles) || !reqRoles.length) {\n return false;\n }\n\n if (UserRoles.All.some(roles => userRoles.includes(roles))) {\n return reqRoles.some(roles => userRoles.includes(roles));\n }\n\n return false;\n }\n\n static updateSavedUser(response) {\n if (!response) {\n return;\n }\n\n const jsonData = response;\n const currentUser = AuthenticationService.getCurrentUser();\n\n if (!currentUser) {\n return;\n }\n\n const user = {\n user: jsonData,\n expires: currentUser.expires,\n refresh_expires: currentUser.refresh_expires,\n access_token: currentUser.access_token,\n refresh_token: currentUser.refresh_token,\n session_guid: currentUser.session_guid,\n };\n const encrypted = AuthenticationService.encryptData(JSON.stringify(user));\n\n localStorage.removeItem(`${APP_CONFIG.app.toLowerCase()}user`);\n localStorage.setItem(`${APP_CONFIG.app.toLowerCase()}user`, encrypted.toString());\n }\n\n static updateCurrentUser(\n accessToken: string,\n refreshToken: string,\n expirationTime: number,\n refreshExpirationTime: number,\n sessionGuid: string,\n ) {\n const currentUser = AuthenticationService.getCurrentUser();\n\n if (!currentUser) {\n return;\n }\n\n localStorage.removeItem(`${APP_CONFIG.app.toLowerCase()}user`);\n currentUser.access_token = accessToken;\n currentUser.refresh_token = refreshToken;\n currentUser.expires = expirationTime;\n currentUser.refresh_expires = refreshExpirationTime;\n currentUser.session_guid = sessionGuid;\n\n const encrypted = AuthenticationService.encryptData(JSON.stringify(currentUser));\n\n localStorage.setItem(`${APP_CONFIG.app.toLowerCase()}user`, encrypted.toString());\n }\n\n /* ### Check if user is logged in ### */\n // static checkValidCredentials(): boolean {\n // const currentUser = AuthenticationService.getCurrentUser();\n\n // if (!currentUser) {\n // return false;\n // }\n\n // const expires = currentUser.expires;\n // return Number.parseInt(Date.now().toString(), 0) - Number.parseInt(expires, 0) <= 1800000;\n // }\n\n static getServerLocalTimeDifference() {\n let xmlHttp;\n try {\n xmlHttp = new XMLHttpRequest();\n } catch (err1) {\n throw new Error();\n }\n xmlHttp.open('HEAD', window.location.href.toString(), true);\n xmlHttp.setRequestHeader('Content-Type', 'text/html');\n xmlHttp.send('');\n const serverTime = moment(xmlHttp.getResponseHeader('Date'));\n const localTime = moment(new Date());\n return serverTime.diff(localTime, 'seconds');\n }\n\n static checkExpirationTime(): boolean {\n const currentUser = AuthenticationService.getCurrentUser();\n\n if (!currentUser) {\n return false;\n }\n\n const expires = currentUser.expires;\n const now = Date.now();\n const timeDiff = expires - now;\n\n return expires > now && timeDiff > AUTH_TOKEN_EXPIRATION_THRESHOLD;\n }\n\n static isExpirationTimeClosingLimit(): boolean {\n const currentUser = AuthenticationService.getCurrentUser();\n\n if (!currentUser) {\n return false;\n }\n\n const expires = currentUser.expires;\n const now = Date.now();\n const timeDiff = expires - now;\n\n if (expires <= now) {\n return false;\n }\n\n return timeDiff <= AUTH_TOKEN_EXPIRATION_CHECK_THRESHOLD;\n }\n\n static checkRefreshExpirationTime(): boolean {\n const currentUser = AuthenticationService.getCurrentUser();\n\n if (!currentUser) {\n return false;\n }\n\n const expires = currentUser.refresh_expires;\n const now = Date.now();\n const timeDiff = expires - now;\n\n return expires > now && timeDiff > AUTH_REFRESH_TOKEN_EXPIRATION_THRESHOLD;\n }\n\n static isSessionExpired(): boolean {\n return !AuthenticationService.checkExpirationTime() && !AuthenticationService.checkRefreshExpirationTime();\n }\n\n static checkSystemAccessPermission(systemName: string = APP_CONFIG.app.toUpperCase()): boolean {\n const currentUser = AuthenticationService.getCurrentUser();\n\n if (!currentUser) {\n return false;\n }\n\n const roles = currentUser.user.roles || [];\n\n // return true if ALLOWED_ROLE_PREFIX is defined for the system or if the user has role from ALLOWED_GENERAL_ROLES\n return ALLOWED_ROLE_PREFIX[systemName] || roles.some(role => ALLOWED_GENERAL_ROLES.includes(role));\n }\n\n get tokenRefreshInProgress(): boolean {\n return this.mIsRefreshingToken;\n }\n\n constructor(\n private http: HttpClient,\n private router: Router,\n private cookieService: CookieService,\n private appRedirectService: AppRedirectService,\n ) {\n if (AuthenticationService.getServerLocalTimeDifference() > 600) {\n console.log('Bad Time!');\n this.errorMessage(1);\n this.removeUserAndCookie();\n this.appRedirectService.redirectLogin(false);\n }\n\n clearInterval(this.mRefreshTokenInterval);\n\n this.mRefreshTokenInterval = setInterval(() => {\n if (this.mIsRefreshingToken) {\n return;\n }\n\n const currentUser = AuthenticationService.getCurrentUser();\n\n if (!_.isNil(currentUser)) {\n this.getNewToken(currentUser.user.login, currentUser.refresh_token, currentUser.session_guid).subscribe({\n next: (user: any) => {\n // console.log(user);\n },\n error: (err: any) => {\n // console.log(err);\n },\n });\n }\n }, AUTH_TOKEN_REFRESH_INTERVAL);\n }\n\n saveLoggedUserFromEncrypted(cipher: string): void {\n if (!cipher) {\n return;\n }\n\n const decrypted = AuthenticationService.decryptData(cipher);\n\n if (!StringUtils.isNullOrWhitespace(decrypted) && decrypted !== 'undefined') {\n const parsed = JSON.parse(decrypted);\n\n this.saveUserCookie(parsed);\n AuthenticationService.saveLoggedUser(parsed);\n }\n }\n\n checkUser(): boolean {\n if (!AuthenticationService.checkExpirationTime() && !this.mIsRefreshingToken) {\n const currentUser = AuthenticationService.getCurrentUser();\n\n if (!currentUser) {\n return false;\n }\n\n this.getNewToken(currentUser.user.login, currentUser.refresh_token, currentUser.session_guid).subscribe({\n error: error => {\n console.log('Error while updating refresh token for user ', error);\n },\n });\n }\n\n return true;\n }\n\n /* ### Check if response is not Unauthorized ### */\n// checkUnauthorizedAccess(error, redirectOrLogoutOn401 = true, logout = true): Observable {\n// if (error.status === 401) {\n// if (redirectOrLogoutOn401) {\n// if (logout) {\n// this.logout().subscribe(() => {\n// this.appRedirectService.redirectLogin(false);\n// });\n// } else {\n// this.removeUserAndCookie();\n// this.appRedirectService.redirectLogin(false);\n// }\n// }\n\n// return throwError('Unauthorized');\n// }\n\n// return throwError(error);\n// }\n\n checkTokenRefreshRequirement(): void {\n if (AuthenticationService.isExpirationTimeClosingLimit() && !this.mIsRefreshingToken) {\n const currentUser = AuthenticationService.getCurrentUser();\n\n if (!currentUser) {\n return;\n }\n\n this.getNewToken(currentUser.user.login, currentUser.refresh_token, currentUser.session_guid).subscribe({\n error: error => {\n console.log('Error while updating refresh token for user ', error);\n },\n });\n }\n }\n\n getEmployments(): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AuthenticationService.getCurrentUser().access_token}`,\n }),\n };\n\n return this.http.post(getEmploymentsUrl(), {}, httpOptions).pipe(\n catchError(e => {\n throw e;\n }),\n );\n }\n\n changeEmployment(employmentCode): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AuthenticationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/x-www-form-urlencoded',\n }),\n };\n const body = `employmentCode=${employmentCode}`;\n return this.http.post(changeEmploymentUrl(), body, httpOptions).pipe(\n map(response => {\n AuthenticationService.updateSavedUser(response);\n return of(response);\n }),\n catchError(e => {\n throw e;\n }),\n );\n }\n\n login(username: string, password: string): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n };\n const body = new LoginResourceModel(_.trim(username), password);\n\n return this.http.post(getLoginUrl(), body, httpOptions).pipe(\n map((response: any) => {\n if (!StringUtils.isNullOrWhitespace(response.access_token)) {\n AuthenticationService.saveLoggedUser(response);\n this.saveUserCookie(response);\n return true;\n } else {\n return false;\n }\n }),\n catchError(e => {\n throw e;\n }),\n );\n }\n\n logout(): Observable {\n const isExternal = AuthenticationService.getCurrentUser().user.isExternal || false;\n\n if (!isExternal) {\n\n const returnUrl = getBaseFrontendUrl(SYSTEM_NAME_AUTH);\n const url = `${AUTH_BASE_URL}/sso/logout?retUrl=${encodeURIComponent(returnUrl)}`;\n\n window.open(url, '_self');\n\n // this.removeUserAndCookie();\n this.token = null;\n\n return of(true);\n }\n\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AuthenticationService.getCurrentUser().access_token}`,\n }),\n };\n\n const resultHandler = () => {\n this.token = null;\n this.removeUserAndCookie();\n };\n\n if (this.checkForUserCookie(false)) {\n return this.http.post(getLogoutUrl(), {}, httpOptions).pipe(\n map(() => {\n resultHandler();\n\n return true;\n }),\n catchError(error => {\n resultHandler();\n\n return throwError(error);\n }),\n );\n }\n\n resultHandler();\n\n return of(true);\n }\n\n getNewToken(username, refreshToken, sessionGuid): Observable {\n if (this.mIsRefreshingToken) {\n return EMPTY;\n }\n\n this.mIsRefreshingToken = true;\n\n const httpOptions: any = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${AuthenticationService.getCurrentUser().refresh_token}`,\n }),\n responseType: 'json',\n };\n const body = new LoginResourceModel(username, undefined, sessionGuid, refreshToken);\n\n return this.http.post(getLoginUrl(), body, httpOptions).pipe(\n map((res: any) => {\n const result = res;\n this.mIsRefreshingToken = false;\n\n this.saveUserCookie(result);\n AuthenticationService.updateCurrentUser(\n result.access_token,\n result.refresh_token,\n result.expires,\n result.refresh_expires,\n result.session_guid,\n );\n\n return result;\n }),\n catchError(e => {\n this.mIsRefreshingToken = false;\n\n throw e;\n }),\n );\n }\n\n // getNewRefreshToken(username, refreshToken, sessionGuid): Observable {\n // this.mIsRefreshingToken = true;\n // const httpOptions = {\n // headers: new HttpHeaders({\n // 'Content-Type': 'application/x-www-form-urlencoded',\n // }),\n // };\n // const body = `login=${username}&refresh_token=${encodeURIComponent(refreshToken)}&session_guid=${sessionGuid}`;\n // return this._http.post(getLoginUrl(), body, httpOptions).pipe(\n // map((res: any) => {\n // const result = res.json();\n // this.mIsRefreshingToken = false;\n // this.saveUserCookie(result);\n // AuthenticationService.updateCurrentUser(\n // result.access_token,\n // result.refresh_token,\n // result.expires_in,\n // result.session_guid,\n // );\n // return result;\n // }),\n // catchError(e => {\n // this.mIsRefreshingToken = false;\n // return this.checkUnauthorizedAccess(e);\n // }),\n // );\n // }\n\n errorMessage(type: number) {\n // if (type === 1) {\n // this._notificationService.smallBox({\n // title: 'Chyba',\n // content: 'Kvôli nezhode Vaším a serverovým časom Vás nebolo možné prihlásiť. Dovolená odchýlka 10 minút.',\n // color: '#aa3333',\n // timeout: 3000\n // });\n // } else if (type === 2) {\n // this._notificationService.smallBox({\n // title: 'Chyba',\n // content: 'Kvôli nečinnosti ste boli odhlásený. Prosím, prihláste sa znova.',\n // color: '#aa3333',\n // timeout: 3000\n // });\n // }\n }\n\n checkForUserCookie(updateSessionFromCookie = true): boolean {\n const session = AuthenticationService.getCurrentUser();\n const cookie = this.getUserCookie();\n\n if (!_.isNil(session) && !cookie) {\n this.removeUserAndCookie();\n\n return false;\n } else if (updateSessionFromCookie && this.isUpdateFromCookieValid(session, cookie)) {\n if (cookie) {\n AuthenticationService.saveLoggedUser(cookie);\n\n if (AuthenticationService.isSessionExpired()) {\n this.removeUserAndCookie();\n\n return false;\n }\n\n return true;\n }\n\n this.removeUserAndCookie();\n\n return false;\n } else if (_.isNil(session) || AuthenticationService.isSessionExpired()) {\n this.removeUserAndCookie();\n\n return false;\n }\n\n return true;\n }\n\n private isUpdateFromCookieValid(user: any, cookie: any): boolean {\n if (!cookie || !cookie.session_guid || !cookie.refresh_token) {\n return false;\n }\n\n if (!user || !user.session_guid || cookie.session_guid !== user.session_guid) {\n return true;\n }\n\n let cookieExp;\n\n if (cookie.expires) {\n cookieExp = cookie.expires;\n } else if (cookie.expires_in) {\n cookieExp = Number.parseInt(cookie.expires_in, 0) * 1000 + Date.now();\n }\n\n const userExp = Number.parseInt(user.expires, 0);\n\n if (cookieExp && cookieExp === userExp) {\n return false;\n }\n\n if (\n cookieExp > userExp &&\n cookie.session_guid === user.session_guid &&\n cookie.refresh_token !== user.refresh_token\n ) {\n return true;\n }\n\n const diff = cookieExp - userExp;\n\n return diff > AUTH_TOKEN_EXPIRATION_THRESHOLD;\n }\n\n private saveUserCookie(user: any): void {\n if (!user) return;\n\n user._fromCookie = true;\n const encrypted = AuthenticationService.encryptData(JSON.stringify(user));\n\n // Split encrypted data into chunks if it exceeds the cookie size limit\n const chunkSize = 3000; // Each chunk is around 3 KB to fit comfortably within the 4 KB limit\n const chunks = this.splitStringIntoChunks(encrypted, chunkSize);\n\n // Save each chunk as a separate cookie\n const baseCookieName = PRODUCTION_BUILD ? 'auth_user' : 'devauth_user';\n chunks.forEach((chunk, index) => {\n const cookieName = `${baseCookieName}_part${index}`;\n this.cookieService.set(\n cookieName,\n chunk,\n undefined,\n '/',\n AUTH_BASE_COOKIE_DOMAIN,\n PRODUCTION_BUILD\n );\n });\n\n // Save the total number of chunks in an additional cookie\n this.cookieService.set(\n `${baseCookieName}_partsCount`,\n chunks.length.toString(),\n undefined,\n '/',\n AUTH_BASE_COOKIE_DOMAIN,\n PRODUCTION_BUILD\n );\n }\n\n private getUserCookie(): any {\n const baseCookieName = PRODUCTION_BUILD ? 'auth_user' : 'devauth_user';\n const partsCountStr = this.cookieService.get(`${baseCookieName}_partsCount`);\n const partsCount = parseInt(partsCountStr, 10);\n\n if (isNaN(partsCount) || partsCount <= 0) {\n return undefined;\n }\n\n let encryptedData = '';\n for (let i = 0; i < partsCount; i++) {\n const chunk = this.cookieService.get(`${baseCookieName}_part${i}`);\n if (chunk) {\n encryptedData += chunk;\n } else {\n console.error(`Missing cookie part ${i}. Unable to reconstruct user data.`);\n return undefined;\n }\n }\n\n // Decrypt the reconstructed data\n const decrypted = AuthenticationService.decryptData(encryptedData);\n return StringUtils.isNullOrWhitespace(decrypted) ? undefined : JSON.parse(decrypted);\n }\n\n private removeUserAndCookie(): void {\n const baseCookieName = PRODUCTION_BUILD ? 'auth_user' : 'devauth_user';\n const partsCountStr = this.cookieService.get(`${baseCookieName}_partsCount`);\n const partsCount = parseInt(partsCountStr, 10);\n\n // Remove all chunk cookies if they exist\n if (!isNaN(partsCount) && partsCount > 0) {\n for (let i = 0; i < partsCount; i++) {\n const cookieName = `${baseCookieName}_part${i}`;\n this.cookieService.delete(cookieName, '/', AUTH_BASE_COOKIE_DOMAIN);\n }\n this.cookieService.delete(`${baseCookieName}_partsCount`, '/', AUTH_BASE_COOKIE_DOMAIN);\n }\n\n // Also clear localStorage if applicable\n localStorage.removeItem(SYSTEM_NAME.toLowerCase() + 'user');\n }\n\n// Utility function to split a string into smaller chunks\n private splitStringIntoChunks(str: string, chunkSize: number): string[] {\n const chunks: string[] = [];\n let index = 0;\n\n while (index < str.length) {\n chunks.push(str.slice(index, index + chunkSize));\n index += chunkSize;\n }\n\n return chunks;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router';\nimport { AuthenticationService } from '../authentication.service';\nimport { DEVAPI_BUILD, PRODUCTION_BUILD } from '../../../+app-custom/app.settings';\nimport { AppRedirectService } from '../app-redirect.service';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n constructor(\n private router: Router,\n private authenticationService: AuthenticationService,\n private appRedirectService: AppRedirectService,\n ) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n let returnUrl = true;\n\n if (!PRODUCTION_BUILD && !DEVAPI_BUILD) {\n if (\n route.queryParams &&\n route.queryParams.development &&\n decodeURIComponent(route.queryParams.development) === 'true'\n ) {\n console.log(route.queryParams);\n if (route.queryParams.user) {\n this.authenticationService.saveLoggedUserFromEncrypted(decodeURIComponent(route.queryParams.user));\n }\n }\n } else {\n if (route.url && route.url[0] && route.url[0].path === 'dev') {\n this.router.navigate(['']);\n return false;\n }\n }\n\n if (this.authenticationService.checkForUserCookie() && !AuthenticationService.isSessionExpired()) {\n this.authenticationService.checkTokenRefreshRequirement();\n\n if (AuthenticationService.checkSystemAccessPermission()) {\n return true;\n } else {\n returnUrl = false;\n }\n }\n\n this.appRedirectService.redirectLogin(returnUrl);\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { UserRoles } from '../../../+app-custom/constants';\nimport { AuthenticationService } from '../authentication.service';\nimport { UserRolePipe } from \"../../pipes/user-role.pipe\";\n\n@Injectable()\nexport class RoleGuard implements CanActivate {\n constructor(private userRolePipe: UserRolePipe) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n const POSSIBLE_ROLES = UserRoles.All;\n const CURRENT_USER_ROLES = AuthenticationService.getCurrentUser().user.roles;\n\n const roles = route.data.roles as Array;\n\n if (!roles) {\n return false;\n }\n\n return roles.some(role => {\n if (POSSIBLE_ROLES.some(rols => CURRENT_USER_ROLES.includes(rols))) {\n return [role].some(rols => CURRENT_USER_ROLES.includes(rols));\n } else {\n return false;\n }\n });\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { Provider } from '@angular/core';\nimport { AuthInterceptor } from './auth.interceptor';\n\nexport const AUTH_INTERCEPTOR_PROVIDER = {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthInterceptor,\n multi: true\n} as Provider;\n","import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse,\n} from '@angular/common/http';\nimport { Injectable, Injector } from '@angular/core';\nimport * as _ from 'lodash';\nimport { EMPTY, Observable, Subject, throwError } from 'rxjs';\nimport { catchError, switchMap, tap } from 'rxjs/operators';\nimport { CURRENT_API_HOST_URL, getSessionValidityCheckUrl } from 'src/app/+app-custom/app.urls';\nimport { AppRedirectService } from '../app-redirect.service';\nimport { getLoginUrl, getLogoutUrl } from '../auth.urls';\nimport { AuthenticationService } from '../authentication.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthInterceptor implements HttpInterceptor {\n private calledLogout = false;\n private tokenRefreshedSubject: Subject = new Subject();\n private tokenRefreshed: Observable = this.tokenRefreshedSubject.asObservable();\n\n constructor(private injector: Injector) {\n // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n // Ak bude potrebne pouzit v interceptore nejaku service, tak referenciu tahat cez Injector, nie cez DI konstruktora!\n // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n }\n\n intercept(req: HttpRequest, next: HttpHandler) {\n const authenticationService: AuthenticationService = this.injector.get(AuthenticationService);\n const appRedirectService: AppRedirectService = this.injector.get(AppRedirectService);\n\n // TODO: Sem moze prist logika napriklad na automaticke doplnenie Content-Type headera, vlozenie Bearer tokenu a podobne...\n\n return next.handle(req).pipe(\n tap((event: HttpEvent) => {\n // TODO: Sem moze prist logika na handling response ak pride stavovy kod HTTP triedy OK (2xx)\n }),\n catchError(error => {\n if (\n !(error instanceof HttpErrorResponse) ||\n !_.startsWith((error as HttpErrorResponse).url, CURRENT_API_HOST_URL)\n ) {\n return throwError(error.error);\n }\n\n if (_.startsWith(error.url, getLoginUrl())) {\n if (error.status !== 400) {\n // TODO: Zobrazit error toast ak je potrebne\n } else {\n this.logout(error, authenticationService, appRedirectService);\n }\n\n return throwError(error.error);\n } else if (_.startsWith(error.url, getLogoutUrl())) {\n if (error.status !== 401) {\n // TODO: Zobrazit error toast ak je potrebne\n }\n\n return throwError(error.error);\n } else if (_.startsWith(error.url, getSessionValidityCheckUrl())) {\n if (error.status !== 401) {\n // TODO: Zobrazit error toast ak je potrebne\n } else {\n this.logout(error, authenticationService, appRedirectService);\n }\n\n return throwError(error.error);\n } else if (error.status === 401) {\n if (AuthenticationService.isSessionExpired()) {\n // TODO: Zobrazit error toast ze nastala chyba pri odhlasovani ak je potrebne\n\n this.logout(error, authenticationService, appRedirectService);\n } else if (\n !AuthenticationService.checkExpirationTime() &&\n AuthenticationService.checkRefreshExpirationTime()\n ) {\n return this.refreshToken(authenticationService).pipe(\n switchMap(() => {\n return next.handle(req);\n }),\n catchError(refreshError => {\n // TODO: Zobrazit error toast ze nastala chyba autentifikacie ak je potrebne\n\n if (refreshError.status === 400 || refreshError.status === 401 || refreshError.status === 500) {\n this.logout(refreshError, authenticationService, appRedirectService);\n\n return EMPTY;\n }\n\n return throwError(error.error);\n }),\n );\n } else {\n // TODO: Zobrazit error toast 401 ak je potrebne\n\n this.logout(error, authenticationService, appRedirectService);\n }\n } else if (error.status < 200 || error.status > 299) {\n // TODO: Zobrazit error toast ak je potrebne ked sa vyskytne neocakavany stav alebo chyba protokolu\n }\n\n return throwError(error);\n }),\n );\n }\n\n private logout(\n response: HttpResponse | HttpErrorResponse,\n authenticationService: AuthenticationService,\n appRedirectService: AppRedirectService,\n ): void {\n if (this.calledLogout) {\n return;\n }\n\n this.calledLogout = true;\n authenticationService.logout().subscribe({\n next: () => {\n this.calledLogout = false;\n },\n error: error => {\n this.calledLogout = false;\n },\n });\n }\n\n private refreshToken(authenticationService: AuthenticationService): Observable {\n if (authenticationService.tokenRefreshInProgress) {\n return new Observable(subscriber => {\n this.tokenRefreshed.subscribe({\n next: () => {\n subscriber.next();\n subscriber.complete();\n },\n error: error => {\n subscriber.error(error);\n subscriber.complete();\n },\n });\n });\n } else {\n const currentSession = AuthenticationService.getCurrentUser();\n\n if (_.isNil(currentSession)) {\n return throwError('No session present!');\n }\n\n return authenticationService\n .getNewToken(currentSession.user.login, currentSession.refresh_token, currentSession.session_guid)\n .pipe(\n tap({\n next: () => {\n this.tokenRefreshedSubject.next();\n },\n error: error => {\n // console.log(error);\n this.tokenRefreshedSubject.error(error);\n },\n }),\n );\n }\n }\n}\n","export class LoginResourceModel {\n constructor (\n public readonly login: string,\n public readonly password?: string,\n public readonly sessionGuid?: string,\n public readonly refreshToken?: string\n ) {}\n}\n","export default \".version-container:first-child {\\n padding-top: 10px;\\n}\\n\\n.version-container {\\n padding: 0 10px;\\n font-size: 14px;\\n}\\n\\n.version-date {\\n font-style: italic;\\n}\\n\\n.version-title {\\n font-style: italic;\\n font-weight: 600;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC9jb3JlLWZyb250ZW5kLWNvbW1vbi9jb21wb25lbnRzL25vdGlmaWNhdGlvbnMvYXBwLXZlcnNpb25zLW5vdGlmaWNhdGlvbi9hcHAtdmVyc2lvbnMtbm90aWZpY2F0aW9uLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jb3JlLWZyb250ZW5kLWNvbW1vbi9jb21wb25lbnRzL25vdGlmaWNhdGlvbnMvYXBwLXZlcnNpb25zLW5vdGlmaWNhdGlvbi9hcHAtdmVyc2lvbnMtbm90aWZpY2F0aW9uLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsaUJBQUE7QUNDRjs7QURFQTtFQUNFLGVBQUE7RUFDQSxlQUFBO0FDQ0Y7O0FERUE7RUFDRSxrQkFBQTtBQ0NGOztBREVBO0VBQ0Usa0JBQUE7RUFDQSxnQkFBQTtBQ0NGIiwiZmlsZSI6InNyYy9hcHAvY29yZS1mcm9udGVuZC1jb21tb24vY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2FwcC12ZXJzaW9ucy1ub3RpZmljYXRpb24vYXBwLXZlcnNpb25zLW5vdGlmaWNhdGlvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi52ZXJzaW9uLWNvbnRhaW5lcjpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG4udmVyc2lvbi1jb250YWluZXIge1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnZlcnNpb24tZGF0ZSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnZlcnNpb24tdGl0bGUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4iLCIudmVyc2lvbi1jb250YWluZXI6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLnZlcnNpb24tY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi52ZXJzaW9uLWRhdGUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi52ZXJzaW9uLXRpdGxlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { AppVersionsService } from \"../../../services/app-versions.service\";\nimport { IAppVersion } from \"../../../app-versions\";\n\n@Component({\n selector: 'smart-app-versions-notification',\n templateUrl: './app-versions-notification.component.html',\n styleUrls: ['./app-versions-notification.component.scss']\n})\nexport class AppVersionsNotificationComponent implements OnInit {\n\n versions: IAppVersion[] = [];\n\n constructor(\n protected appVersionService: AppVersionsService\n ) { }\n\n ngOnInit() {\n this.loadVersions();\n }\n\n loadVersions() {\n this.versions = this.appVersionService.getVersions();\n\n this.appVersionService.storeToLocalStorage();\n }\n\n}\n","export default \".header-icon {\\n position: relative;\\n cursor: pointer;\\n}\\n\\n.count-badge {\\n position: absolute;\\n bottom: 30px;\\n left: 3px;\\n padding: 2px;\\n border-radius: 50%;\\n color: white;\\n height: 20px;\\n width: 20px;\\n text-align: center;\\n font-size: 11px;\\n line-height: 15px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC9jb3JlLWZyb250ZW5kLWNvbW1vbi9jb21wb25lbnRzL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY29yZS1mcm9udGVuZC1jb21tb24vY29tcG9uZW50cy9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSxrQkFBQTtFQUNBLGVBQUE7QUNERjs7QURJQTtFQUNFLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtBQ0RGIiwiZmlsZSI6InNyYy9hcHAvY29yZS1mcm9udGVuZC1jb21tb24vY29tcG9uZW50cy9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvL0BpbXBvcnQgXCIuLi8uLi8uLi8uLi9zY3NzL2N1c3RvbS9jb2xvcnMuc2Nzc1wiO1xuXG4uaGVhZGVyLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNvdW50LWJhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDMwcHg7XG4gIGxlZnQ6IDNweDtcbiAgcGFkZGluZzogMnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNXB4O1xufVxuIiwiLmhlYWRlci1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb3VudC1iYWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAzMHB4O1xuICBsZWZ0OiAzcHg7XG4gIHBhZGRpbmc6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogd2hpdGU7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTVweDtcbn0iXX0= */\"","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { AppVersionsService } from \"../../services/app-versions.service\";\n\n@Component({\n selector: 'smart-notifications',\n templateUrl: './notifications.component.html',\n styleUrls: ['./notifications.component.scss']\n})\nexport class NotificationsComponent implements OnInit, OnDestroy {\n modalRef: BsModalRef;\n\n notificationsCount = 2;\n\n hasNotReadAppVersion = false;\n\n @ViewChild('template', { static: true }) template: any;\n\n constructor(\n private modalService: BsModalService,\n protected appVersions: AppVersionsService\n ) {\n }\n\n ngOnInit() {\n this.checkAppVersions();\n }\n\n openModal($event: MouseEvent) {\n $event.preventDefault();\n this.showModal();\n }\n\n closeModal() {\n this.checkAppVersions();\n this.modalRef.hide();\n }\n\n private showModal() {\n this.modalRef = this.modalService.show(this.template, {\n class: 'modal-dialog-right modal-md',\n });\n }\n\n ngOnDestroy(): void {\n }\n\n checkAppVersions() {\n this.hasNotReadAppVersion = this.appVersions.checkNotReadAppVersions();\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { NotificationsComponent } from \"./notifications.component\";\nimport { CommonModule } from \"@angular/common\";\nimport { I18nModule } from \"../../template/shared/i18n/i18n.module\";\nimport { AppVersionsNotificationComponent } from './app-versions-notification/app-versions-notification.component';\nimport { CustomPipesModule } from \"../../../+app-custom/pipes/customPipes.module\";\nimport { CommonSharedPipesModule } from \"../../pipes/common-shared-pipes.module\";\n\n@NgModule({\n exports: [\n NotificationsComponent\n ],\n imports: [\n CommonModule,\n I18nModule,\n CustomPipesModule,\n CommonSharedPipesModule\n ],\n declarations: [\n NotificationsComponent,\n AppVersionsNotificationComponent\n ]\n})\n\nexport class NotificationsModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { ReportBugModel } from './report-bug.model';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { PRODUCTION_BUILD } from '../../../+app-custom/app.settings';\nimport { map } from 'rxjs/operators';\nimport { AppCommunicationService } from '../../../+app-custom/services/app-communication.service';\n\nconst enum methodEnum {\n create,\n get,\n solved,\n getById\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportBugService {\n reportBug: Subject = new Subject();\n\n onClose: BehaviorSubject = new BehaviorSubject(false);\n\n constructor(\n protected http: HttpClient\n ) { }\n\n send(data: ReportBugModel): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n return this.http\n .post(this.generateUrl(methodEnum.create), JSON.stringify(data), httpOptions);\n }\n\n getAll(filter: any): Observable<{ totalItems: number, items: ReportBugModel[] }> {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n return this.http\n .post(this.generateUrl(methodEnum.get), filter, httpOptions)\n .pipe(map((r: any) => {\n return {\n totalItems: r.totalItems,\n items: r.items\n }\n }));\n }\n\n getById(id: number): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n return this.http\n .get(this.generateUrl(methodEnum.getById, id), httpOptions)\n .pipe(map((r: any) => {\n return r as ReportBugModel;\n }));\n }\n\n setSolved(id: number): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: `Bearer ${AppCommunicationService.getCurrentUser().access_token}`,\n 'Content-Type': 'application/json',\n }),\n };\n return this.http\n .post(this.generateUrl(methodEnum.solved) + `/${id}`, {}, httpOptions);\n }\n\n generateUrl(method: methodEnum, id: number = null): string {\n const isProd = PRODUCTION_BUILD;\n let baseUrl = '';\n\n if (isProd) {\n baseUrl += 'https://api.alfred.portal.tuke.sk/api/errorReport';\n } else {\n baseUrl += 'https://api.alfred.portal.dev.msweb.tuke.sk/api/errorReport';\n }\n\n switch (method) {\n case methodEnum.create: baseUrl += '/create'; break;\n case methodEnum.get: baseUrl += '/getAllByFilter'; break;\n case methodEnum.solved: baseUrl += '/setSolved'; break;\n case methodEnum.getById: baseUrl += '/get/' + id; break;\n }\n\n return baseUrl;\n }\n\n}\n","export function roundPrice(price: number): number {\n const integerPart = Math.trunc(price);\n const decimalPart = Number((price - integerPart).toFixed(2));\n\n // get second decimal number\n const secondDecimalNumber = Number.parseInt(((Math.abs((decimalPart * 100) / 100) * Math.pow(10, 2)) % 10).toFixed(0), 0);\n\n if (secondDecimalNumber && secondDecimalNumber !== 0 && secondDecimalNumber !== 5) {\n\n if (secondDecimalNumber >= 0 && secondDecimalNumber < 3) {\n price = roundDown(price);\n } else if (secondDecimalNumber >= 3 && secondDecimalNumber < 8) {\n price = secondDecimalNumberTo5(price, secondDecimalNumber);\n } else {\n price = roundUp(price);\n }\n\n }\n\n return price;\n\n}\n\nexport function roundUp(value: number, decimals: number = 1): number {\n // @ts-ignore\n return ((Math.round(value * 100) / 100)).toFixed(1);\n}\n\nexport function roundDown(value: number, decimals: number = 1): number {\n // @ts-ignore\n return ((Math.floor(value * 100) / 100)).toFixed(1);\n}\n\nexport function secondDecimalNumberTo5(value: number, secondDecimalNumber: number): number {\n // 8.44 -> 8.45\n let num;\n\n const truncated = Math.trunc(value * 10) / 10;\n\n num = truncated.toFixed(1);\n\n const finalNumber = Number.parseFloat(`${num}5`);\n\n return finalNumber;\n}\n","import { NgModule } from \"@angular/core\";\nimport { UserRolePipe } from \"./user-role.pipe\";\nimport { UserLoginPipe } from \"./user-login.pipe\";\n\n@NgModule({\n declarations: [\n UserRolePipe,\n UserLoginPipe\n ],\n exports: [\n UserRolePipe,\n UserLoginPipe\n ],\n providers: [\n UserRolePipe,\n UserLoginPipe\n ]\n})\n\nexport class CommonSharedPipesModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AppCommunicationService } from \"../../+app-custom/services/app-communication.service\";\n\n@Pipe({\n name: 'userLogin',\n})\nexport class UserLoginPipe implements PipeTransform {\n static getCurrentUserLogin(): string {\n return AppCommunicationService.getCurrentUser().user.login;\n }\n\n transform(requestedLogin: string[]): any {\n const currentUserLogin = UserLoginPipe.getCurrentUserLogin();\n\n if (!requestedLogin || !currentUserLogin) {\n return;\n }\n\n return requestedLogin.some(login => currentUserLogin.includes(login));\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { UserRoles } from \"../../+app-custom/constants\";\nimport { AppCommunicationService } from \"../../+app-custom/services/app-communication.service\";\n\n@Pipe({\n name: 'userRole',\n})\nexport class UserRolePipe implements PipeTransform {\n static getCurrentUserRoles(): any[] {\n return AppCommunicationService.getCurrentUser().user.roles;\n }\n\n transform(requestedRoles: string[], reverse?: boolean): any {\n const POSSIBLE_ROLES = UserRoles.All;\n const currentUserRoles = UserRolePipe.getCurrentUserRoles();\n\n if (!requestedRoles) {\n return;\n }\n\n if (reverse) {\n return !currentUserRoles.every(role => requestedRoles.includes(role));\n }\n\n if (typeof requestedRoles === 'string') {\n requestedRoles = [requestedRoles];\n }\n\n if (POSSIBLE_ROLES.some(roles => currentUserRoles.includes(roles))) {\n return requestedRoles.some(roles => currentUserRoles.includes(roles));\n } else {\n return false;\n }\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { SYSTEM_NAME } from \"../../+app-custom/app.settings\";\nimport { AppVersions, IAppVersion } from \"../app-versions\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppVersionsService {\n\n versions: IAppVersion[] = AppVersions;\n\n localStoragePropertyName = SYSTEM_NAME + '-appVersions';\n\n constructor() { }\n\n checkNotReadAppVersions(): boolean {\n\n return this.hasAnyVersionsMissing();\n\n }\n\n storeToLocalStorage() {\n\n const missing = this.hasAnyVersionsMissing();\n\n if (missing) {\n localStorage.removeItem(this.localStoragePropertyName);\n\n const v = [...this.versions];\n\n v.forEach(i => i.read = true);\n\n localStorage.setItem(this.localStoragePropertyName, JSON.stringify(v));\n }\n\n }\n\n getFromLocalStorage() {\n const stored = localStorage.getItem(this.localStoragePropertyName);\n\n if (stored) {\n return JSON.parse(stored) as IAppVersion[];\n }\n\n return null;\n }\n\n getVersions() {\n const missing = this.hasAnyVersionsMissing();\n\n let versions: IAppVersion[] = [];\n\n if (missing && this.versions.length > 0) {\n versions = [...this.versions];\n } else {\n const stored = this.getFromLocalStorage();\n\n if (stored) {\n versions = [...stored];\n }\n }\n\n if (versions && versions.length > 0) {\n return versions.sort((a, b) => {\n return b.version - a.version;\n });\n }\n\n return [];\n }\n\n hasAnyVersionsMissing(): boolean {\n const versions = this.getFromLocalStorage();\n\n if (versions) {\n const hasAnyMissing = this.versions.filter(obj => versions.every(s => s.version !== obj.version));\n\n return hasAnyMissing && hasAnyMissing.length > 0;\n }\n\n return !versions && this.versions.length > 0;\n\n }\n}\n","import { Injectable } from '@angular/core';\nimport { DEVAPI_BUILD, PRODUCTION_BUILD, SYSTEM_NAME } from '../../../../+app-custom/app.settings';\nimport { Observable } from 'rxjs';\nimport { config } from '../smartadmin.config';\nimport { HttpClient } from '@angular/common/http';\nimport { delay, map } from 'rxjs/operators';\nimport { SYSTEM_NAME_AUTH } from '../../../../+app-custom/constants';\n\n@Injectable()\nexport class JsonApiService {\n constructor(private http: HttpClient) {}\n\n public fetch(url): Observable {\n return this.http\n .get(this.getBaseUrl() + config.API_URL + url)\n .pipe(delay(100))\n .pipe(map(this.extractData));\n }\n\n private getBaseUrl(withoutSystemName = false) {\n // @ts-ignore\n if (SYSTEM_NAME === SYSTEM_NAME_AUTH) {\n return `${location.protocol}//${location.hostname}${\n location.port ? `:${location.port}` : ''\n }/`;\n }\n\n return PRODUCTION_BUILD || DEVAPI_BUILD\n ? `${location.protocol}//${location.hostname}${\n location.port ? `:${location.port}` : ''\n }/`\n : `${location.protocol}//${location.hostname}${location.port ? `:${location.port}` : ''}/`;\n }\n\n private extractData(res: any) {\n if (res) {\n return res.data || res;\n } else {\n return {};\n }\n }\n\n private handleError(error: any) {\n const errMsg = error.message\n ? error.message\n : error.status\n ? `${error.status} - ${error.statusText}`\n : 'Server error';\n console.error(errMsg); // log to console instead\n return Observable.throw(errMsg);\n }\n}\n","import { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { StoreModule } from '@ngrx/store';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\nimport { StoreRouterConnectingModule, RouterStateSerializer } from '@ngrx/router-store';\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\nimport { AlertModule } from 'ngx-bootstrap/alert';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { ButtonsModule } from 'ngx-bootstrap/buttons';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { environment } from 'src/environments/environment';\nimport { reducers, metaReducers, effects } from '../store';\nimport { CustomSerializer } from '../store/router';\nimport { DialogsModule } from '../shared/dialogs/dialogs.module';\nimport { HttpClientModule } from '@angular/common/http';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\n\n/**\n * Module for global imports\n */\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n BrowserAnimationsModule,\n HttpClientModule,\n\n // ngrx modules\n StoreModule.forRoot(reducers, {\n metaReducers,\n runtimeChecks: {\n strictStateImmutability: false,\n strictActionImmutability: false,\n strictStateSerializability: false,\n strictActionSerializability: false,\n },\n }),\n EffectsModule.forRoot([...effects]),\n StoreDevtoolsModule.instrument({\n maxAge: 25,\n actionsBlocklist: ['@ngrx/router*'],\n }),\n\n StoreRouterConnectingModule.forRoot(),\n\n // import ngx-bootstrap services here\n AccordionModule.forRoot(),\n AlertModule.forRoot(),\n BsDropdownModule.forRoot(),\n ButtonsModule.forRoot(),\n CollapseModule.forRoot(),\n ModalModule.forRoot(),\n TooltipModule.forRoot(),\n TabsModule.forRoot(),\n PopoverModule.forRoot(),\n\n DialogsModule,\n ],\n providers: [\n // use custom serializer to strip redundant router data\n { provide: RouterStateSerializer, useClass: CustomSerializer },\n ],\n})\nexport class CoreModule {\n // thi module can be load only once\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\n throwIfAlreadyLoaded(parentModule, 'CoreModule');\n }\n}\n\nexport function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\n if (parentModule) {\n throw new Error(`${moduleName} has already been loaded. Import ${moduleName} modules in the AppModule only.`);\n }\n}\n","declare let jquery: any;\n\nexport const config: any = {\n defaultLocale: 'sk',\n\n API_URL: 'assets/api',\n\n menu_speed: 200,\n\n smartSkin: 'smart-style-1',\n\n skins: [\n {\n name: 'smart-style-0',\n logo: 'assets/img/logo.png',\n skinBtnClass: 'btn btn-block btn-xs txt-color-white margin-right-5',\n style: {\n backgroundColor: '#4E463F',\n },\n label: 'Smart Default',\n },\n\n {\n name: 'smart-style-1',\n logo: 'assets/img/logo-white.png',\n skinBtnClass: 'btn btn-block btn-xs txt-color-white',\n style: {\n background: '#3A4558',\n },\n label: 'Dark Elegance',\n },\n\n {\n name: 'smart-style-2',\n logo: 'assets/img/logo-blue.png',\n skinBtnClass: 'btn btn-xs btn-block txt-color-darken margin-top-5',\n style: {\n background: '#fff',\n },\n label: 'Ultra Light',\n },\n\n {\n name: 'smart-style-3',\n logo: 'assets/img/logo-pale.png',\n skinBtnClass: 'btn btn-xs btn-block txt-color-white margin-top-5',\n style: {\n background: '#f78c40',\n },\n label: 'Google Skin',\n },\n\n {\n name: 'smart-style-4',\n logo: 'assets/img/logo-pale.png',\n skinBtnClass: 'btn btn-xs btn-block txt-color-white margin-top-5',\n style: {\n background: '#bbc0cf',\n border: '1px solid #59779E',\n color: '#17273D !important',\n },\n label: 'PixelSmash',\n },\n\n {\n name: 'smart-style-5',\n logo: 'assets/img/logo-pale.png',\n skinBtnClass: 'btn btn-xs btn-block txt-color-white margin-top-5',\n style: {\n background: 'rgba(153, 179, 204, 0.2)',\n border: '1px solid rgba(121, 161, 221, 0.8)',\n color: '#17273D !important',\n },\n label: 'Glass',\n },\n ],\n\n GOOGLE_API_KEY: 'AIzaSyDd8YW8k_J-Jkti-W4QNk5dL8O_5_2QUWY',\n\n sound_path: 'assets/sound/',\n sound_on: false,\n\n /**\n * DEBUGGING MODE\n * debugState = true; will spit all debuging message inside browser console.\n * The colors are best displayed in chrome browser.\n */\n\n debugState: false,\n debugStyle: 'font-weight: bold; color: #00f;',\n debugStyle_green: 'font-weight: bold; font-style:italic; color: #46C246;',\n debugStyle_red: 'font-weight: bold; color: #ed1c24;',\n debugStyle_warning: 'background-color:yellow',\n debugStyle_success: 'background-color:green; font-weight:bold; color:#fff;',\n debugStyle_error: 'background-color:#ed1c24; font-weight:bold; color:#fff;',\n\n /**\n * VOICE CONTROL\n */\n voice_command: true,\n voice_command_auto: false,\n\n /**\n * Sets the language to the default 'en-US'. (supports over 50 languages\n * by google)\n *\n * Afrikaans ['af-ZA']\n * Bahasa Indonesia ['id-ID']\n * Bahasa Melayu ['ms-MY']\n * CatalГ ['ca-ES']\n * ДЊeЕЎtina ['cs-CZ']\n * Deutsch ['de-DE']\n * English ['en-AU', 'Australia']\n * ['en-CA', 'Canada']\n * ['en-IN', 'India']\n * ['en-NZ', 'New Zealand']\n * ['en-ZA', 'South Africa']\n * ['en-GB', 'United Kingdom']\n * ['en-US', 'United States']\n * EspaГ±ol ['es-AR', 'Argentina']\n * ['es-BO', 'Bolivia']\n * ['es-CL', 'Chile']\n * ['es-CO', 'Colombia']\n * ['es-CR', 'Costa Rica']\n * ['es-EC', 'Ecuador']\n * ['es-SV', 'El Salvador']\n * ['es-ES', 'EspaГ±a']\n * ['es-US', 'Estados Unidos']\n * ['es-GT', 'Guatemala']\n * ['es-HN', 'Honduras']\n * ['es-MX', 'MГ©xico']\n * ['es-NI', 'Nicaragua']\n * ['es-PA', 'PanamГЎ']\n * ['es-PY', 'Paraguay']\n * ['es-PE', 'PerГє']\n * ['es-PR', 'Puerto Rico']\n * ['es-DO', 'RepГєblica Dominicana']\n * ['es-UY', 'Uruguay']\n * ['es-VE', 'Venezuela']\n * Euskara ['eu-ES']\n * FranГ§ais ['fr-FR']\n * Galego ['gl-ES']\n * Hrvatski ['hr_HR']\n * IsiZulu ['zu-ZA']\n * ГЌslenska ['is-IS']\n * Italiano ['it-IT', 'Italia']\n * ['it-CH', 'Svizzera']\n * Magyar ['hu-HU']\n * Nederlands ['nl-NL']\n * Norsk bokmГҐl ['nb-NO']\n * Polski ['pl-PL']\n * PortuguГЄs ['pt-BR', 'Brasil']\n * ['pt-PT', 'Portugal']\n * RomГўnДѓ ['ro-RO']\n * SlovenДЌina ['sk-SK']\n * Suomi ['fi-FI']\n * Svenska ['sv-SE']\n * TГјrkГ§e ['tr-TR']\n * български['bg-BG']\n * PСѓСЃСЃРєРёР№ ['ru-RU']\n * РЎСЂРїСЃРєРё ['sr-RS']\n * н•њкµ­м–ґ ['ko-KR']\n * дё­ж–‡ ['cmn-Hans-CN', 'ж™®йЂљиЇќ (中国大陆)']\n * ['cmn-Hans-HK', 'ж™®йЂљиЇќ (香港)']\n * ['cmn-Hant-TW', 'дё­ж–‡ (еЏ°зЃЈ)']\n * ['yue-Hant-HK', 'зІµиЄћ (香港)']\n * ж—Ґжњ¬иЄћ ['ja-JP']\n * Lingua latД«na ['la']\n */\n voice_command_lang: 'en-US',\n /**\n * Use localstorage to remember on/off (best used with HTML Version)\n */\n voice_localStorage: false,\n /**\n * Voice Commands\n * Defines all voice command variables and functions\n */\n\n voice_commands: {\n 'show dashboard': {\n type: 'navigate',\n payload: ['/dashboard/+analytics'],\n },\n 'show +social': {\n type: 'navigate',\n payload: ['/dashboard/+social'],\n },\n 'show outlook': {\n type: 'navigate',\n payload: ['/outlook'],\n },\n 'show graphs': {\n type: 'navigate',\n payload: ['/graphs/chart-js'],\n },\n 'show flot chart': {\n type: 'navigate',\n payload: ['/graphs/flot-charts'],\n },\n 'show morris chart': {\n type: 'navigate',\n payload: ['/graphs/morris-charts'],\n },\n 'show inline chart': {\n type: 'navigate',\n payload: ['/graphs/sparklines'],\n },\n 'show dygraphs': {\n type: 'navigate',\n payload: ['/graphs/dygraphs'],\n },\n 'show tables': {\n type: 'navigate',\n payload: ['/tables/normal'],\n },\n 'show data table': {\n type: 'navigate',\n payload: ['/tables/datatables'],\n },\n 'show form': {\n type: 'navigate',\n payload: ['/forms/elements'],\n },\n 'show form layouts': {\n type: 'navigate',\n payload: ['/forms/layouts'],\n },\n 'show form validation': {\n type: 'navigate',\n payload: ['/forms/validation'],\n },\n 'show form elements': {\n type: 'navigate',\n payload: ['/forms/bootstrap-elements'],\n },\n 'show form plugins': {\n type: 'navigate',\n payload: ['/forms/plugins'],\n },\n 'show form wizards': {\n type: 'navigate',\n payload: ['/forms/wizards'],\n },\n 'show bootstrap editor': {\n type: 'navigate',\n payload: ['/forms/editors'],\n },\n 'show dropzone': {\n type: 'navigate',\n payload: ['/forms/dropzone'],\n },\n 'show image cropping': {\n type: 'navigate',\n payload: ['/forms/image-cropping'],\n },\n 'show general elements': {\n type: 'navigate',\n payload: ['/ui/general-elements'],\n },\n 'show buttons': {\n type: 'navigate',\n payload: ['/ui/buttons'],\n },\n 'show fontawesome': {\n type: 'navigate',\n payload: ['/ui/icons/font-awesome'],\n },\n 'show glyph icons': {\n type: 'navigate',\n payload: ['/ui/icons/glyphicons'],\n },\n 'show flags': {\n type: 'navigate',\n payload: ['/ui/icons/flags'],\n },\n 'show grid': {\n type: 'navigate',\n payload: ['/ui/grid'],\n },\n 'show tree view': {\n type: 'navigate',\n payload: ['/ui/treeviews'],\n },\n 'show nestable lists': {\n type: 'navigate',\n payload: ['/ui/nestable-lists'],\n },\n 'show jquery U I': {\n type: 'navigate',\n payload: ['/ui/jquery-ui'],\n },\n 'show typography': {\n type: 'navigate',\n payload: ['/ui/typography'],\n },\n 'show calendar': {\n type: 'navigate',\n payload: ['/calendar'],\n },\n 'show widgets': {\n type: 'navigate',\n payload: ['/widgets'],\n },\n 'show gallery': {\n type: 'navigate',\n payload: ['/app-views/gallery'],\n },\n 'show maps': {\n type: 'navigate',\n payload: ['/maps'],\n },\n 'go back': (): any => {\n history.back();\n },\n 'scroll up': (): any => {\n jquery('html, body').animate({ scrollTop: 0 }, 100);\n },\n 'scroll down': (): any => {\n jquery('html, body').animate({ scrollTop: jquery(document).height() }, 100);\n },\n 'hide navigation': {\n type: 'layout',\n payload: 'hide navigation',\n },\n 'show navigation': {\n type: 'layout',\n payload: 'show navigation',\n },\n mute: {\n type: 'sound',\n payload: 'mute',\n },\n 'sound on': {\n type: 'sound',\n payload: 'sound on',\n },\n stop: {\n type: 'voice',\n payload: 'stop',\n },\n help: {\n type: 'voice',\n payload: 'help on',\n },\n 'got it': {\n type: 'voice',\n payload: 'help off',\n },\n logout: {\n type: 'navigate',\n payload: ['/auth/login'],\n },\n } as any,\n};\n","import { Component } from '@angular/core';\nimport { DialogButtons } from '../dialogs.service';\nimport { Subject } from 'rxjs';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'smart-confirm-dialog',\n template: `\n
\n
\n
\n
\n
\n \n \n
\n `,\n})\nexport class ConfirmDialogComponent {\n title: string;\n message: string;\n buttons: DialogButtons;\n onClose = new Subject();\n\n constructor(public bsModalRef: BsModalRef) {}\n\n confirm($event: MouseEvent) {\n this.onClose.next(true);\n this.onClose.complete();\n this.bsModalRef.hide();\n }\n cancel($event: MouseEvent) {\n this.onClose.next(false);\n this.onClose.complete();\n this.bsModalRef.hide();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\nimport { DialogsService } from './dialogs.service';\nimport { ModalModule } from 'ngx-bootstrap/modal';\n\n@NgModule({\n declarations: [ConfirmDialogComponent],\n entryComponents: [ConfirmDialogComponent],\n imports: [CommonModule, ModalModule],\n providers: [DialogsService],\n})\nexport class DialogsModule {}\n","import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\nimport { ConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\nimport { Observable } from 'rxjs';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\n\n@Injectable()\nexport class DialogsService {\n bsModalRef: BsModalRef;\n renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2, private modalService: BsModalService) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n public confirm(initialState: DialogOptions) {\n this.playSound('messagebox');\n this.bsModalRef = this.modalService.show(ConfirmDialogComponent, {\n initialState,\n backdrop: 'static',\n keyboard: false,\n class: 'modal-dialog-centered',\n });\n this.renderer.addClass(document.querySelector('.modal'), 'modal-alert');\n return this.bsModalRef.content.onClose as Observable;\n }\n\n public playSound(sound: string, path = 'assets/media/sound') {\n const audioElement = document.createElement('audio');\n if (navigator.userAgent.match('Firefox/')) {\n audioElement.setAttribute('src', `${path}/${sound}.ogg`);\n } else {\n audioElement.setAttribute('src', `${path}/${sound}.mp3`);\n }\n\n audioElement.addEventListener(\n 'load',\n () => {\n audioElement.play();\n },\n true,\n );\n audioElement.pause();\n audioElement.play();\n }\n}\n\nexport interface DialogOptions {\n title: string;\n message: string;\n buttons: DialogButtons;\n}\nexport interface DialogButton {\n label: string;\n className: string;\n}\nexport interface DialogButtons {\n confirm?: DialogButton;\n cancel?: DialogButton;\n}\n","import { InjectionToken, ModuleWithProviders, NgModule } from \"@angular/core\";\n\nimport { LanguageSelectorComponent } from './language-selector';\nimport { I18nPipe } from './i18n.pipe';\nimport { I18nService } from './i18n.service';\nimport { CommonModule } from '@angular/common';\nimport { JsonApiService } from '../../core/api/json-api.service';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { Routes } from \"@angular/router\";\n\nexport interface TranslateModuleConfig {\n extend?: boolean;\n useDefaultLang?: boolean;\n defaultLanguage?: string;\n}\n\nexport const USE_EXTEND = new InjectionToken('USE_EXTEND');\n\n@NgModule({\n imports: [CommonModule, BsDropdownModule],\n declarations: [LanguageSelectorComponent, I18nPipe],\n exports: [LanguageSelectorComponent, I18nPipe],\n providers: [I18nService, JsonApiService],\n})\nexport class I18nModule {\n\n static forRoot(params: TranslateModuleConfig = {}): ModuleWithProviders {\n return {\n ngModule: I18nModule,\n providers: [\n {provide: USE_EXTEND, useValue: params.extend},\n I18nService\n ]\n };\n }\n\n static forChild(params: TranslateModuleConfig = {}): ModuleWithProviders {\n return {\n ngModule: I18nModule,\n providers: [\n {provide: USE_EXTEND, useValue: params.extend},\n I18nService\n ]\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { I18nService } from './i18n.service';\n\n@Pipe({\n name: 'i18n',\n pure: false,\n})\nexport class I18nPipe implements PipeTransform {\n constructor(public i18nService: I18nService) {}\n\n transform(phrase: any, args?: any): any {\n return this.i18nService.getTranslation(phrase);\n }\n}\n","import { Injectable, ApplicationRef } from '@angular/core';\nimport { languages } from './languages.model';\nimport { JsonApiService } from '../../core/api/json-api.service';\nimport { Subject } from 'rxjs';\nimport { config } from '../../core/smartadmin.config';\n\n@Injectable()\nexport class I18nService {\n public state;\n public data: {};\n public currentLanguage: any;\n\n constructor(private jsonApiService: JsonApiService, private ref: ApplicationRef) {\n this.state = new Subject();\n this.initLanguage(localStorage.getItem('language') || config.defaultLocale || 'sk');\n setTimeout(() => this.fetch(this.currentLanguage.key), 100);\n }\n\n private fetch(locale: any) {\n this.jsonApiService.fetch(`/langs/${locale}.json`).subscribe((data: any) => {\n this.data = data;\n this.state.next(data);\n this.ref.tick();\n });\n }\n\n private initLanguage(locale: string) {\n const language = languages.find(it => {\n return it.key === locale;\n });\n if (language) {\n this.currentLanguage = language;\n } else {\n throw new Error(`Incorrect locale used for I18nService: ${locale}`);\n }\n }\n\n setLanguage(language) {\n this.currentLanguage = language;\n localStorage.setItem('language', this.currentLanguage.key);\n this.fetch(language.key);\n }\n\n subscribe(sub: any, err: any) {\n return this.state.subscribe(sub, err);\n }\n\n public getTranslation(phrase: string): string {\n return this.data && this.data[phrase] ? this.data[phrase] : phrase;\n }\n}\n","export { LanguageSelectorComponent } from './language-selector';\nexport { languages } from './languages.model';\nexport { I18nPipe } from './i18n.pipe';\nexport { I18nService } from './i18n.service';\n","export { LanguageSelectorComponent } from './language-selector.component';\n","export default \".language-dropdown {\\n max-width: 45px;\\n}\\n\\n.header-image {\\n width: 50%;\\n margin: 0 auto;\\n}\\n\\n.header-image:hover {\\n cursor: pointer;\\n}\\n\\n#dropdown-basic {\\n right: -140px !important;\\n}\\n\\n#dropdown-basic ul {\\n list-style: none;\\n padding: 0;\\n margin: 0;\\n}\\n\\n#dropdown-basic ul li:hover {\\n cursor: pointer;\\n}\\n\\n#dropdown-basic ul li a {\\n margin: 5px auto;\\n overflow: hidden;\\n border-radius: 0;\\n padding: 10px;\\n width: 90%;\\n}\\n\\n#dropdown-basic ul li span {\\n padding-top: 5px;\\n text-align: center;\\n display: block;\\n}\\n\\n.language-image-container {\\n height: 80%;\\n background-repeat: no-repeat;\\n background-position: center center;\\n background-size: contain;\\n content: \\\"\\\";\\n overflow: hidden;\\n}\\n\\n.header-icon:not(.btn)[data-toggle=dropdown] + .dropdown-menu.oposite {\\n left: 80px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC9jb3JlLWZyb250ZW5kLWNvbW1vbi90ZW1wbGF0ZS9zaGFyZWQvaTE4bi9sYW5ndWFnZS1zZWxlY3Rvci9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY29yZS1mcm9udGVuZC1jb21tb24vdGVtcGxhdGUvc2hhcmVkL2kxOG4vbGFuZ3VhZ2Utc2VsZWN0b3IvbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxlQUFBO0FDQ0Y7O0FERUE7RUFDRSxVQUFBO0VBQ0EsY0FBQTtBQ0NGOztBREFFO0VBQ0UsZUFBQTtBQ0VKOztBREVBO0VBQ0Usd0JBQUE7QUNDRjs7QURBRTtFQUNFLGdCQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7QUNFSjs7QURDTTtFQUNFLGVBQUE7QUNDUjs7QURFTTtFQUNFLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxVQUFBO0FDQVI7O0FER007RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtBQ0RSOztBRE9BO0VBQ0UsV0FBQTtFQUNBLDRCQUFBO0VBQ0Esa0NBQUE7RUFDQSx3QkFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtBQ0pGOztBRE9BO0VBQ0kscUJBQUE7QUNKSiIsImZpbGUiOiJzcmMvYXBwL2NvcmUtZnJvbnRlbmQtY29tbW9uL3RlbXBsYXRlL3NoYXJlZC9pMThuL2xhbmd1YWdlLXNlbGVjdG9yL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxhbmd1YWdlLWRyb3Bkb3duIHtcbiAgbWF4LXdpZHRoOiA0NXB4O1xufVxuXG4uaGVhZGVyLWltYWdlIHtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4jZHJvcGRvd24tYmFzaWMge1xuICByaWdodDogLTE0MHB4ICFpbXBvcnRhbnQ7XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgbGkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIG1hcmdpbjogNXB4IGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubGFuZ3VhZ2UtaW1hZ2UtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiA4MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgY29udGVudDogXCJcIjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmhlYWRlci1pY29uOm5vdCguYnRuKVtkYXRhLXRvZ2dsZT1kcm9wZG93bl0gKyAuZHJvcGRvd24tbWVudS5vcG9zaXRlIHtcbiAgICBsZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7XG59XG4iLCIubGFuZ3VhZ2UtZHJvcGRvd24ge1xuICBtYXgtd2lkdGg6IDQ1cHg7XG59XG5cbi5oZWFkZXItaW1hZ2Uge1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5oZWFkZXItaW1hZ2U6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNkcm9wZG93bi1iYXNpYyB7XG4gIHJpZ2h0OiAtMTQwcHggIWltcG9ydGFudDtcbn1cbiNkcm9wZG93bi1iYXNpYyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbiNkcm9wZG93bi1iYXNpYyB1bCBsaTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNkcm9wZG93bi1iYXNpYyB1bCBsaSBhIHtcbiAgbWFyZ2luOiA1cHggYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgd2lkdGg6IDkwJTtcbn1cbiNkcm9wZG93bi1iYXNpYyB1bCBsaSBzcGFuIHtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmxhbmd1YWdlLWltYWdlLWNvbnRhaW5lciB7XG4gIGhlaWdodDogODAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5oZWFkZXItaWNvbjpub3QoLmJ0bilbZGF0YS10b2dnbGU9ZHJvcGRvd25dICsgLmRyb3Bkb3duLW1lbnUub3Bvc2l0ZSB7XG4gIGxlZnQ6IDgwcHggIWltcG9ydGFudDtcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\nimport { languages } from '../languages.model';\nimport { I18nService } from '../i18n.service';\nimport { Input } from '@angular/core';\n\n@Component({\n selector: 'app-sa-language-selector',\n templateUrl: './language-selector.component.html',\n styleUrls: ['./language-selector.component.scss'],\n})\nexport class LanguageSelectorComponent implements OnInit {\n public languages: Array;\n public currentLanguage: any;\n\n @Input() oposite = false;\n\n constructor(private i18n: I18nService) {}\n\n ngOnInit() {\n this.languages = languages;\n this.currentLanguage = this.i18n.currentLanguage;\n }\n\n setLanguage(language) {\n this.currentLanguage = language;\n this.i18n.setLanguage(language);\n }\n}\n","export const languages: any = [\n {\n key: 'sk',\n alt: 'Slovensko',\n title: 'Slovensko (SK)',\n },\n {\n key: 'us',\n alt: 'United States',\n title: 'English (US)',\n },\n];\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'smart-auth',\n templateUrl: './auth.component.html',\n styles: [],\n})\nexport class AuthComponent implements OnInit {\n constructor() {}\n\n ngOnInit() {}\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'smart-dropdown-apps',\n templateUrl: './dropdown-apps.component.html',\n})\nexport class DropdownAppsComponent implements OnInit {\n constructor() {}\n\n ngOnInit() {}\n}\n","import { Component } from '@angular/core';\nimport { UserService } from '../../../../../+app-custom/services/user.service';\nimport { AuthenticationService } from '../../../../auth/authentication.service';\nimport { Router } from '@angular/router';\nimport { AppRedirectService } from '../../../../auth/app-redirect.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'smart-dropdown-user',\n templateUrl: './dropdown-user.component.html',\n})\nexport class DropdownUserComponent {\n name: string;\n surname: string;\n email: string;\n isExternal: boolean;\n\n employments = [];\n activeEmployment = 0;\n\n constructor(\n private userService: UserService,\n private authService: AuthenticationService,\n private router: Router,\n private appRedirectService: AppRedirectService,\n private toastr: ToastrService,\n ) {}\n\n ngOnInit() {\n this.getLoggedUser();\n this.getEmployments();\n this.checkActiveEmployment();\n }\n\n profileRedirect() {\n this.router.navigate(['/profile']);\n }\n\n logout() {\n this.authService.logout().subscribe(\n () => {\n },\n error2 => {\n console.log(error2);\n },\n );\n }\n\n getLoggedUser() {\n this.name = AuthenticationService.getCurrentUser().user.name;\n this.surname = AuthenticationService.getCurrentUser().user.surname;\n this.email = AuthenticationService.getCurrentUser().user.email;\n this.isExternal = AuthenticationService.getCurrentUser().user.isExternal;\n }\n\n getEmployments() {\n this.authService.getEmployments().subscribe(value => {\n this.employments = value;\n });\n }\n\n changeEmployment(employmentCode) {\n this.authService.changeEmployment(employmentCode).subscribe(\n () => {\n this.checkActiveEmployment();\n this.successMessage();\n setTimeout(() => location.reload(), 1000);\n },\n () => this.errorMessage(),\n );\n }\n\n checkActiveEmployment() {\n this.activeEmployment = AuthenticationService.getCurrentUser().user.employmentCode;\n }\n\n /* ##### Alert messages ##### */\n successMessage() {\n this.toastr.success('Zmena pracoviska prebehla úspešne.', 'Zmena pracoviska');\n }\n\n errorMessage() {\n this.toastr.error('Vyskytla sa chyba počas zmeny pracoviska. Za vzniknuté problémy sa ospravedlňujeme.', 'Chyba');\n }\n}\n","import { Component } from '@angular/core';\nimport { scrollToTop, toggleFullscreen } from '../../utils/utils.functions';\nimport { Store } from '@ngrx/store';\nimport { Go } from 'src/app/core-frontend-common/template/store/router';\n\n@Component({\n selector: 'smart-fab-shortcut',\n templateUrl: './fab-shortcut.component.html',\n})\nexport class FabShortcutComponent {\n constructor(private store: Store) {}\n\n scrollTop($event: MouseEvent) {\n $event.preventDefault();\n scrollToTop(150);\n }\n logout($event: MouseEvent) {\n $event.preventDefault();\n this.store.dispatch(new Go({ path: ['/logout'] }));\n }\n fullScreen($event: MouseEvent) {\n $event.preventDefault();\n toggleFullscreen();\n }\n printPage($event: MouseEvent) {\n $event.preventDefault();\n window.print();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { ButtonsModule } from 'ngx-bootstrap/buttons';\n\nimport { MainComponent } from './main/main.component';\nimport { AuthComponent } from './auth/auth.component';\nimport { RouterModule } from '@angular/router';\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { LogoComponent } from './logo/logo.component';\nimport { PageHeaderComponent } from './page-header/page-header.component';\nimport { PageBreadcrumbComponent } from './page-breadcrumb/page-breadcrumb.component';\nimport { PageHeadingComponent } from './page-heading/page-heading.component';\nimport { PageFooterComponent } from './page-footer/page-footer.component';\nimport { DropdownAppsComponent } from './dropdown-apps/dropdown-apps.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { SettingsModalComponent } from './settings-modal/settings-modal.component';\nimport { UiModule } from '../ui/ui.module';\nimport { NavigationModule } from '../navigation/navigation.module';\nimport { SettingsShortcutComponent } from './settings-shortcut/settings-shortcut.component';\nimport { ShortcutModalComponent } from './shortcut-modal/shortcut-modal.component';\nimport { FabShortcutComponent } from './fab-shortcut/fab-shortcut.component';\nimport { DropdownUserComponent } from './dropdown-user/dropdown-user.component';\nimport { I18nModule } from '../i18n/i18n.module';\nimport { CustomPipesModule } from '../../../../+app-custom/pipes/customPipes.module';\nimport { ReportBugDialogModule } from \"../../../../+app-custom/components/report-bug-dialog/report-bug-dialog.module\";\nimport { NotificationsModule } from \"../../../components/notifications/notifications.module\";\nimport { MainBasicComponent } from \"./main-basic/main-basic.component\";\nimport { CommonSharedPipesModule } from \"../../../pipes/common-shared-pipes.module\";\n\n@NgModule({\n declarations: [\n MainComponent,\n MainBasicComponent,\n AuthComponent,\n SidebarComponent,\n LogoComponent,\n PageHeaderComponent,\n PageBreadcrumbComponent,\n PageHeadingComponent,\n PageFooterComponent,\n DropdownAppsComponent,\n SettingsComponent,\n SettingsModalComponent,\n SettingsShortcutComponent,\n ShortcutModalComponent,\n FabShortcutComponent,\n DropdownUserComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n BsDropdownModule,\n ModalModule,\n ButtonsModule,\n\n NavigationModule,\n UiModule,\n I18nModule,\n CustomPipesModule,\n ReportBugDialogModule,\n NotificationsModule,\n CommonSharedPipesModule\n ],\n exports: [MainComponent, AuthComponent, SidebarComponent, PageHeaderComponent],\n entryComponents: [ShortcutModalComponent],\n})\nexport class LayoutModule {}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { ShortcutModalService } from '../shortcut-modal/shortcut-modal.service';\nimport { APP_CONFIG } from 'src/app/app.config';\n\n@Component({\n selector: 'smart-logo',\n templateUrl: './logo.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LogoComponent {\n logo = APP_CONFIG.logo;\n appName = APP_CONFIG.appName;\n\n constructor(public shortcut: ShortcutModalService) {}\n\n openShortcut($event: MouseEvent) {\n $event.preventDefault();\n this.shortcut.openModal();\n }\n}\n","export default \".loading-container {\\n height: 100%;\\n width: 100%;\\n position: fixed;\\n z-index: 1002;\\n}\\n\\n.loading-bg {\\n background-color: rgba(0, 0, 0, 0.92);\\n height: 100%;\\n width: 100%;\\n position: fixed;\\n z-index: 1002;\\n}\\n\\n.loading-icon {\\n top: 50%;\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%, -50%);\\n z-index: 1003;\\n color: white;\\n}\\n\\n.loading-icon i {\\n font-size: 10em;\\n}\\n\\n.loading-icon-description {\\n padding-top: 5%;\\n z-index: 1003;\\n}\\n\\n.loading-icon-description:after {\\n content: \\\" .\\\";\\n -webkit-animation: dots 1s steps(3, end) infinite;\\n animation: dots 1s steps(3, end) infinite;\\n}\\n\\n.spinner {\\n display: table;\\n margin: 0 auto;\\n}\\n\\n@-webkit-keyframes dots {\\n 0%, 20% {\\n color: white;\\n text-shadow: 0.25em 0 0 rgba(255, 255, 255, 0), 0.5em 0 0 rgba(255, 255, 255, 0);\\n }\\n 40% {\\n color: white;\\n text-shadow: 0.25em 0 0 rgba(255, 255, 255, 0), 0.5em 0 0 rgba(255, 255, 255, 0);\\n }\\n 60% {\\n text-shadow: 0.25em 0 0 white, 0.5em 0 0 rgba(255, 255, 255, 0);\\n }\\n 80%, 100% {\\n text-shadow: 0.25em 0 0 white, 0.5em 0 0 white;\\n }\\n}\\n\\n@keyframes dots {\\n 0%, 20% {\\n color: white;\\n text-shadow: 0.25em 0 0 rgba(255, 255, 255, 0), 0.5em 0 0 rgba(255, 255, 255, 0);\\n }\\n 40% {\\n color: white;\\n text-shadow: 0.25em 0 0 rgba(255, 255, 255, 0), 0.5em 0 0 rgba(255, 255, 255, 0);\\n }\\n 60% {\\n text-shadow: 0.25em 0 0 white, 0.5em 0 0 rgba(255, 255, 255, 0);\\n }\\n 80%, 100% {\\n text-shadow: 0.25em 0 0 white, 0.5em 0 0 white;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC9jb3JlLWZyb250ZW5kLWNvbW1vbi90ZW1wbGF0ZS9zaGFyZWQvbGF5b3V0L21haW4tYmFzaWMvbWFpbi1iYXNpYy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY29yZS1mcm9udGVuZC1jb21tb24vdGVtcGxhdGUvc2hhcmVkL2xheW91dC9tYWluLWJhc2ljL21haW4tYmFzaWMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxhQUFBO0FDQ0Y7O0FERUE7RUFDRSxxQ0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGFBQUE7QUNDRjs7QURFQTtFQUNFLFFBQUE7RUFDQSxTQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQ0FBQTtFQUNBLGFBQUE7RUFDQSxZQUFBO0FDQ0Y7O0FERUE7RUFDRSxlQUFBO0FDQ0Y7O0FERUE7RUFDRSxlQUFBO0VBQ0EsYUFBQTtBQ0NGOztBREVBO0VBQ0UsYUFBQTtFQUNBLGlEQUFBO1VBQUEseUNBQUE7QUNDRjs7QURFQTtFQUNFLGNBQUE7RUFDQSxjQUFBO0FDQ0Y7O0FERUE7RUFDRTtJQUNFLFlBQUE7SUFDQSxnRkFBQTtFQ0NGO0VEQ0E7SUFDRSxZQUFBO0lBQ0EsZ0ZBQUE7RUNDRjtFRENBO0lBQ0UsK0RBQUE7RUNDRjtFRENBO0lBQ0UsOENBQUE7RUNDRjtBQUNGOztBRGZBO0VBQ0U7SUFDRSxZQUFBO0lBQ0EsZ0ZBQUE7RUNDRjtFRENBO0lBQ0UsWUFBQTtJQUNBLGdGQUFBO0VDQ0Y7RURDQTtJQUNFLCtEQUFBO0VDQ0Y7RURDQTtJQUNFLDhDQUFBO0VDQ0Y7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2NvcmUtZnJvbnRlbmQtY29tbW9uL3RlbXBsYXRlL3NoYXJlZC9sYXlvdXQvbWFpbi1iYXNpYy9tYWluLWJhc2ljLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxvYWRpbmctY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAyO1xufVxuXG4ubG9hZGluZy1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45Mik7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMjtcbn1cblxuLmxvYWRpbmctaWNvbiB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHotaW5kZXg6IDEwMDM7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmxvYWRpbmctaWNvbiBpIHtcbiAgZm9udC1zaXplOiAxMGVtO1xufVxuXG4ubG9hZGluZy1pY29uLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDUlO1xuICB6LWluZGV4OiAxMDAzO1xufVxuXG4ubG9hZGluZy1pY29uLWRlc2NyaXB0aW9uOmFmdGVyIHtcbiAgY29udGVudDogJyAuJztcbiAgYW5pbWF0aW9uOiBkb3RzIDFzIHN0ZXBzKDMsIGVuZCkgaW5maW5pdGU7XG59XG5cbi5zcGlubmVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5Aa2V5ZnJhbWVzIGRvdHMge1xuICAwJSwgMjAlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1zaGFkb3c6IDAuMjVlbSAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgMC41ZW0gMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIH1cbiAgNDAlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1zaGFkb3c6IDAuMjVlbSAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgMC41ZW0gMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICB0ZXh0LXNoYWRvdzogMC4yNWVtIDAgMCB3aGl0ZSwgMC41ZW0gMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIH1cbiAgODAlLCAxMDAlIHtcbiAgICB0ZXh0LXNoYWRvdzogLjI1ZW0gMCAwIHdoaXRlLCAuNWVtIDAgMCB3aGl0ZTtcbiAgfVxufVxuIiwiLmxvYWRpbmctY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAyO1xufVxuXG4ubG9hZGluZy1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45Mik7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMjtcbn1cblxuLmxvYWRpbmctaWNvbiB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHotaW5kZXg6IDEwMDM7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmxvYWRpbmctaWNvbiBpIHtcbiAgZm9udC1zaXplOiAxMGVtO1xufVxuXG4ubG9hZGluZy1pY29uLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDUlO1xuICB6LWluZGV4OiAxMDAzO1xufVxuXG4ubG9hZGluZy1pY29uLWRlc2NyaXB0aW9uOmFmdGVyIHtcbiAgY29udGVudDogXCIgLlwiO1xuICBhbmltYXRpb246IGRvdHMgMXMgc3RlcHMoMywgZW5kKSBpbmZpbml0ZTtcbn1cblxuLnNwaW5uZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbkBrZXlmcmFtZXMgZG90cyB7XG4gIDAlLCAyMCUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogMC4yNWVtIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAwLjVlbSAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgfVxuICA0MCUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogMC4yNWVtIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAwLjVlbSAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgfVxuICA2MCUge1xuICAgIHRleHQtc2hhZG93OiAwLjI1ZW0gMCAwIHdoaXRlLCAwLjVlbSAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgfVxuICA4MCUsIDEwMCUge1xuICAgIHRleHQtc2hhZG93OiAwLjI1ZW0gMCAwIHdoaXRlLCAwLjVlbSAwIDAgd2hpdGU7XG4gIH1cbn0iXX0= */\"","import { Component, ViewChild } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { mobileNavigation } from 'src/app/core-frontend-common/template/store/navigation';\nimport { APP_CONFIG } from 'src/app/app.config';\nimport { AppCommunicationService } from '../../../../../+app-custom/services/app-communication.service';\nimport { ReportBugDialogComponent } from '../../../../../+app-custom/components/report-bug-dialog/report-bug-dialog.component';\nimport { Subscription } from 'rxjs';\nimport { ReportBugService } from '../../../../components/report-bug/report-bug.service';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router } from '@angular/router';\nimport { I18nService } from \"../../i18n\";\n\n@Component({\n selector: 'smart-main-basic',\n templateUrl: './main-basic.component.html',\n styleUrls: ['./main-basic.component.scss']\n})\nexport class MainBasicComponent {\n app = APP_CONFIG.app;\n loading = false;\n loadingText: string;\n\n reportBugSubscriber: Subscription;\n\n @ViewChild(ReportBugDialogComponent, {static: false}) reportBugDialog: ReportBugDialogComponent;\n\n constructor(\n private store: Store,\n protected appCommunicationService: AppCommunicationService,\n protected reportBugService: ReportBugService,\n private deviceService: DeviceDetectorService,\n protected notificationService: ToastrService,\n protected router: Router,\n protected i18nService: I18nService\n ) {\n\n setTimeout(() => {\n\n this.appCommunicationService\n .loadingAnimation\n .subscribe(value => {\n this.loading = value;\n });\n\n this.appCommunicationService\n .loadingAnimationText\n .subscribe(val => {\n this.loadingText = val;\n });\n\n }, 50);\n\n this.reportBugSubscriber = this.reportBugService.reportBug.subscribe(() => {\n this.reportBugDialog.openModal();\n });\n\n }\n\n closeMobileNav($event: MouseEvent) {\n $event.preventDefault();\n this.store.dispatch(mobileNavigation({ open: false }));\n }\n\n onReportBugDialogSubmit(message: string) {\n if (message) {\n setTimeout(() => {\n this.clickedReportBug(message);\n }, 500);\n }\n }\n\n async clickedReportBug(message: string) {\n let deviceType = '';\n if (this.deviceService.isDesktop()) {\n deviceType = 'desktop';\n } else if (this.deviceService.isTablet()) {\n deviceType = 'tablet';\n } else if (this.deviceService.isMobile()) {\n deviceType = 'mobile';\n }\n\n const techData = {\n page: this.router.url.slice(0, 10),\n deviceInfo: this.deviceService.getDeviceInfo(),\n deviceType,\n screen: {\n width: window.innerWidth,\n height: window.innerHeight,\n },\n };\n\n // @ts-ignore\n const canvas = await html2canvas(document.body);\n if (canvas) {\n const image = canvas.toDataURL('image/jpeg');\n\n // var a = document.createElement('a');\n // a.href = image;\n // a.download = \"output.jpeg\";\n // document.body.appendChild(a);\n // a.click();\n // document.body.removeChild(a);\n\n try {\n await this.reportBugService\n .send({\n techData: JSON.stringify(techData),\n screenShot: image,\n description: message,\n isSolved: false\n }).toPromise();\n console.log('Report bug: ', message, JSON.stringify(techData));\n } catch (e) {\n\n this.notificationService.error(\n 'Nebolo možné odoslať hlásenie.',\n 'Chyba');\n console.log(e);\n return;\n }\n\n this.notificationService.success(\n 'Ďakujeme za spätnú väzbu. Vážime si to.',\n 'Hlásenie bolo odoslané.');\n }\n }\n}\n","export default \".loading-container {\\n height: 100%;\\n width: 100%;\\n position: fixed;\\n z-index: 3000;\\n}\\n\\n.loading-bg {\\n background-color: rgba(0, 0, 0, 0.92);\\n height: 100%;\\n width: 100%;\\n position: fixed;\\n z-index: 1002;\\n}\\n\\n.loading-icon {\\n top: 50%;\\n left: 50%;\\n position: absolute;\\n transform: translate(-50%, -50%);\\n z-index: 1003;\\n color: white;\\n}\\n\\n.loading-icon i {\\n font-size: 10em;\\n}\\n\\n.loading-icon-description {\\n padding-top: 5%;\\n z-index: 1003;\\n}\\n\\n.loading-icon-description:after {\\n content: \\\" .\\\";\\n -webkit-animation: dots 1s steps(3, end) infinite;\\n animation: dots 1s steps(3, end) infinite;\\n}\\n\\n.spinner {\\n display: table;\\n margin: 0 auto;\\n}\\n\\n@-webkit-keyframes dots {\\n 0%, 20% {\\n color: white;\\n text-shadow: 0.25em 0 0 rgba(255, 255, 255, 0), 0.5em 0 0 rgba(255, 255, 255, 0);\\n }\\n 40% {\\n color: white;\\n text-shadow: 0.25em 0 0 rgba(255, 255, 255, 0), 0.5em 0 0 rgba(255, 255, 255, 0);\\n }\\n 60% {\\n text-shadow: 0.25em 0 0 white, 0.5em 0 0 rgba(255, 255, 255, 0);\\n }\\n 80%, 100% {\\n text-shadow: 0.25em 0 0 white, 0.5em 0 0 white;\\n }\\n}\\n\\n@keyframes dots {\\n 0%, 20% {\\n color: white;\\n text-shadow: 0.25em 0 0 rgba(255, 255, 255, 0), 0.5em 0 0 rgba(255, 255, 255, 0);\\n }\\n 40% {\\n color: white;\\n text-shadow: 0.25em 0 0 rgba(255, 255, 255, 0), 0.5em 0 0 rgba(255, 255, 255, 0);\\n }\\n 60% {\\n text-shadow: 0.25em 0 0 white, 0.5em 0 0 rgba(255, 255, 255, 0);\\n }\\n 80%, 100% {\\n text-shadow: 0.25em 0 0 white, 0.5em 0 0 white;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC9jb3JlLWZyb250ZW5kLWNvbW1vbi90ZW1wbGF0ZS9zaGFyZWQvbGF5b3V0L21haW4vbWFpbi5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY29yZS1mcm9udGVuZC1jb21tb24vdGVtcGxhdGUvc2hhcmVkL2xheW91dC9tYWluL21haW4uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxhQUFBO0FDQ0Y7O0FERUE7RUFDRSxxQ0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGFBQUE7QUNDRjs7QURFQTtFQUNFLFFBQUE7RUFDQSxTQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQ0FBQTtFQUNBLGFBQUE7RUFDQSxZQUFBO0FDQ0Y7O0FERUE7RUFDRSxlQUFBO0FDQ0Y7O0FERUE7RUFDRSxlQUFBO0VBQ0EsYUFBQTtBQ0NGOztBREVBO0VBQ0UsYUFBQTtFQUNBLGlEQUFBO1VBQUEseUNBQUE7QUNDRjs7QURFQTtFQUNFLGNBQUE7RUFDQSxjQUFBO0FDQ0Y7O0FERUE7RUFDRTtJQUNFLFlBQUE7SUFDQSxnRkFBQTtFQ0NGO0VEQ0E7SUFDRSxZQUFBO0lBQ0EsZ0ZBQUE7RUNDRjtFRENBO0lBQ0UsK0RBQUE7RUNDRjtFRENBO0lBQ0UsOENBQUE7RUNDRjtBQUNGOztBRGZBO0VBQ0U7SUFDRSxZQUFBO0lBQ0EsZ0ZBQUE7RUNDRjtFRENBO0lBQ0UsWUFBQTtJQUNBLGdGQUFBO0VDQ0Y7RURDQTtJQUNFLCtEQUFBO0VDQ0Y7RURDQTtJQUNFLDhDQUFBO0VDQ0Y7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2NvcmUtZnJvbnRlbmQtY29tbW9uL3RlbXBsYXRlL3NoYXJlZC9sYXlvdXQvbWFpbi9tYWluLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxvYWRpbmctY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAzMDAwO1xufVxuXG4ubG9hZGluZy1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45Mik7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMjtcbn1cblxuLmxvYWRpbmctaWNvbiB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHotaW5kZXg6IDEwMDM7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmxvYWRpbmctaWNvbiBpIHtcbiAgZm9udC1zaXplOiAxMGVtO1xufVxuXG4ubG9hZGluZy1pY29uLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDUlO1xuICB6LWluZGV4OiAxMDAzO1xufVxuXG4ubG9hZGluZy1pY29uLWRlc2NyaXB0aW9uOmFmdGVyIHtcbiAgY29udGVudDogJyAuJztcbiAgYW5pbWF0aW9uOiBkb3RzIDFzIHN0ZXBzKDMsIGVuZCkgaW5maW5pdGU7XG59XG5cbi5zcGlubmVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5Aa2V5ZnJhbWVzIGRvdHMge1xuICAwJSwgMjAlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1zaGFkb3c6IDAuMjVlbSAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgMC41ZW0gMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIH1cbiAgNDAlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1zaGFkb3c6IDAuMjVlbSAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgMC41ZW0gMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICB0ZXh0LXNoYWRvdzogMC4yNWVtIDAgMCB3aGl0ZSwgMC41ZW0gMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIH1cbiAgODAlLCAxMDAlIHtcbiAgICB0ZXh0LXNoYWRvdzogLjI1ZW0gMCAwIHdoaXRlLCAuNWVtIDAgMCB3aGl0ZTtcbiAgfVxufVxuIiwiLmxvYWRpbmctY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAzMDAwO1xufVxuXG4ubG9hZGluZy1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45Mik7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMjtcbn1cblxuLmxvYWRpbmctaWNvbiB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHotaW5kZXg6IDEwMDM7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmxvYWRpbmctaWNvbiBpIHtcbiAgZm9udC1zaXplOiAxMGVtO1xufVxuXG4ubG9hZGluZy1pY29uLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDUlO1xuICB6LWluZGV4OiAxMDAzO1xufVxuXG4ubG9hZGluZy1pY29uLWRlc2NyaXB0aW9uOmFmdGVyIHtcbiAgY29udGVudDogXCIgLlwiO1xuICBhbmltYXRpb246IGRvdHMgMXMgc3RlcHMoMywgZW5kKSBpbmZpbml0ZTtcbn1cblxuLnNwaW5uZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbkBrZXlmcmFtZXMgZG90cyB7XG4gIDAlLCAyMCUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogMC4yNWVtIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAwLjVlbSAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgfVxuICA0MCUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogMC4yNWVtIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAwLjVlbSAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgfVxuICA2MCUge1xuICAgIHRleHQtc2hhZG93OiAwLjI1ZW0gMCAwIHdoaXRlLCAwLjVlbSAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgfVxuICA4MCUsIDEwMCUge1xuICAgIHRleHQtc2hhZG93OiAwLjI1ZW0gMCAwIHdoaXRlLCAwLjVlbSAwIDAgd2hpdGU7XG4gIH1cbn0iXX0= */\"","import { Component, ViewChild } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { mobileNavigation } from 'src/app/core-frontend-common/template/store/navigation';\nimport { APP_CONFIG } from 'src/app/app.config';\nimport { AppCommunicationService } from '../../../../../+app-custom/services/app-communication.service';\nimport { ReportBugDialogComponent } from '../../../../../+app-custom/components/report-bug-dialog/report-bug-dialog.component';\nimport { Subscription } from 'rxjs';\nimport { ReportBugService } from '../../../../components/report-bug/report-bug.service';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router } from '@angular/router';\nimport html2canvas from 'html2canvas';\n\n@Component({\n selector: 'smart-main',\n templateUrl: './main.component.html',\n styleUrls: ['./main.component.scss']\n})\nexport class MainComponent {\n app = APP_CONFIG.app;\n loading = false;\n loadingText: string;\n\n reportBugSubscriber: Subscription;\n\n @ViewChild(ReportBugDialogComponent, {static: false}) reportBugDialog: ReportBugDialogComponent;\n\n constructor(\n private store: Store,\n protected appCommunicationService: AppCommunicationService,\n protected reportBugService: ReportBugService,\n private deviceService: DeviceDetectorService,\n protected notificationService: ToastrService,\n protected router: Router\n ) {\n\n setTimeout(() => {\n\n this.appCommunicationService\n .loadingAnimation\n .subscribe(value => {\n this.loading = value;\n });\n\n this.appCommunicationService\n .loadingAnimationText\n .subscribe(val => {\n this.loadingText = val;\n });\n\n }, 50);\n\n this.reportBugSubscriber = this.reportBugService.reportBug.subscribe(() => {\n this.reportBugDialog.openModal();\n });\n\n }\n\n closeMobileNav($event: MouseEvent) {\n $event.preventDefault();\n this.store.dispatch(mobileNavigation({ open: false }));\n }\n\n onReportBugDialogSubmit(message: string) {\n if (message) {\n setTimeout(() => {\n this.clickedReportBug(message);\n }, 500);\n }\n }\n\n async clickedReportBug(message: string) {\n let deviceType = '';\n if (this.deviceService.isDesktop()) {\n deviceType = 'desktop';\n } else if (this.deviceService.isTablet()) {\n deviceType = 'tablet';\n } else if (this.deviceService.isMobile()) {\n deviceType = 'mobile';\n }\n\n const techData = {\n page: this.router.url.slice(0, 10),\n deviceInfo: this.deviceService.getDeviceInfo(),\n deviceType,\n screen: {\n width: window.innerWidth,\n height: window.innerHeight,\n },\n };\n\n // @ts-ignore\n const canvas = await html2canvas(document.body);\n if (canvas) {\n const image = canvas.toDataURL('image/jpeg');\n\n // var a = document.createElement('a');\n // a.href = image;\n // a.download = \"output.jpeg\";\n // document.body.appendChild(a);\n // a.click();\n // document.body.removeChild(a);\n\n try {\n await this.reportBugService\n .send({\n techData: JSON.stringify(techData),\n screenShot: image,\n description: message,\n isSolved: false\n }).toPromise();\n console.log('Report bug: ', message, JSON.stringify(techData));\n } catch (e) {\n\n this.notificationService.error(\n 'Nebolo možné odoslať hlásenie.',\n 'Chyba');\n console.log(e);\n return;\n }\n\n this.notificationService.success(\n 'Ďakujeme za spätnú väzbu. Vážime si to.',\n 'Hlásenie bolo odoslané.');\n }\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { getRouterState } from 'src/app/core-frontend-common/template/store/router';\n\n@Component({\n selector: 'smart-page-breadcrumb',\n templateUrl: './page-breadcrumb.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PageBreadcrumbComponent {\n date = Date.now();\n\n vm$ = this.store.select(getRouterState);\n\n constructor(private store: Store) {}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { APP_CONFIG } from 'src/app/app.config';\nimport { SYSTEM_NAME } from \"../../../../../+app-custom/app.settings\";\nimport { AppCommunicationService } from \"../../../../../+app-custom/services/app-communication.service\";\n\n@Component({\n selector: 'smart-page-footer',\n templateUrl: './page-footer.component.html',\n styles: [\n `\n .page-footer {\n position: fixed;\n bottom: 0;\n width: 100%;\n left: 0;\n color: var(--footer-text-color);\n }\n `\n ],\n})\nexport class PageFooterComponent implements OnInit {\n currentYear = new Date().getFullYear();\n\n constructor() {}\n\n ngOnInit() {}\n\n openReportDialog(e: Event) {\n e.preventDefault();\n\n ReportBug.openDialog(\n SYSTEM_NAME,\n AppCommunicationService.getCurrentUser().user,\n () => {},\n (error) => {},\n () => {\n }\n ); // Call the function from the ReportBug module\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { mobileNavigation } from 'src/app/core-frontend-common/template/store/navigation';\nimport { APP_CONFIG } from 'src/app/app.config';\nimport { AuthenticationService } from '../../../../auth/authentication.service';\nimport { AppCommunicationService } from '../../../../../+app-custom/services/app-communication.service';\nimport { SYSTEM_NAME } from \"../../../../../+app-custom/app.settings\";\nimport {\n SYSTEM_FULL_NAME_UIK,\n SYSTEM_NAME_AUTH,\n SYSTEM_NAME_EPC,\n SYSTEM_NAME_UIK,\n UserRoles\n} from \"../../../../../+app-custom/constants\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { UserRolePipe } from \"../../../../pipes/user-role.pipe\";\n\n@Component({\n selector: 'smart-page-header',\n templateUrl: './page-header.component.html',\n changeDetection: ChangeDetectionStrategy.Default,\n styles: [\n `\n .search {\n display: flex;\n gap: 15px;\n align-items: center;\n height: 100%;\n color: var(--header-text-color);\n }\n\n .logo-image {\n height: 60%;\n /*margin-top: 12px;*/\n vertical-align: middle;\n }\n\n @media only screen and (max-width: 600px) {\n .logo-image {\n \n height: 40%;\n \n }\n }\n\n .workplace-reset {\n height: 40px;\n margin-top: 10px;\n }\n \n .system-name {\n display: inline-flex;\n cursor: pointer;\n flex-direction: column;\n font-size: 0.9rem;\n line-height: 1.02rem;\n gap: 5px;\n width: 100%;\n }\n `,\n ],\n})\nexport class PageHeaderComponent {\n systemFullName = APP_CONFIG.appName;\n avatar = APP_CONFIG.avatar;\n email = APP_CONFIG.email;\n user = APP_CONFIG.user;\n\n systemName = SYSTEM_NAME;\n\n systemNameUik = SYSTEM_NAME_UIK;\n systemFullNameUik = SYSTEM_FULL_NAME_UIK;\n\n systemNameEpc = SYSTEM_NAME_EPC;\n\n isUserLoggedIn = false;\n\n // only UIK\n workplace = '';\n\n showMenuBtn = false;\n\n clickCount = 0;\n\n pageTitle = '';\n\n constructor(\n private store: Store,\n protected authService: AuthenticationService,\n protected appService: AppCommunicationService,\n protected userRole: UserRolePipe,\n protected router: Router,\n protected route: ActivatedRoute\n ) {\n this.isUserLoggedIn = this.authService.checkUser();\n\n // @ts-ignore\n this.showMenuBtn = SYSTEM_NAME !== SYSTEM_NAME_AUTH;\n\n if (this.route && this.route.snapshot && this.route.snapshot.firstChild && this.route.snapshot.firstChild.data) {\n this.pageTitle = this.route.snapshot.firstChild.data['pageTitle'];\n }\n\n // only UIK\n if (this.systemFullName.toLowerCase() === 'copycentrum') {\n this.workplace = AppCommunicationService.getWorkplaceFromLocalStorage();\n\n this.appService.isWorkplaceChanged.subscribe(\n () => (this.workplace = AppCommunicationService.getWorkplaceFromLocalStorage()),\n );\n }\n }\n\n openMobileNav($event: MouseEvent) {\n $event.preventDefault();\n this.store.dispatch(mobileNavigation({ open: true }));\n }\n\n clickedSystemName() {\n\n const role = this.userRole.transform([UserRoles.Superadmin]);\n\n if (role) {\n this.clickCount++;\n }\n\n if (this.clickCount && this.clickCount > 5) {\n this.router.navigate(['/dev-test']);\n this.clickCount = 0;\n }\n\n }\n\n resetWorkplace() {\n this.appService.deleteWorkplaceFromLocalStorage();\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'smart-page-heading',\n templateUrl: './page-heading.component.html',\n styles: [],\n})\nexport class PageHeadingComponent implements OnInit {\n constructor() {}\n\n ngOnInit() {}\n}\n","import { Component, TemplateRef, OnDestroy, ViewChild, ChangeDetectionStrategy } from '@angular/core';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { SubSink } from 'subsink';\nimport { SettingsModalService } from './settings-modal.service';\n\n@Component({\n selector: 'smart-settings-modal',\n templateUrl: './settings-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SettingsModalComponent implements OnDestroy {\n @ViewChild('template', { static: true }) template: any;\n\n modalRef: BsModalRef;\n\n private sub = new SubSink();\n\n constructor(private modalService: BsModalService, sms: SettingsModalService) {\n this.sub.sink = sms.openSettings$.subscribe(() => {\n this.showModal();\n });\n }\n\n openModal($event: MouseEvent) {\n $event.preventDefault();\n this.showModal();\n }\n\n private showModal() {\n this.modalRef = this.modalService.show(this.template, {\n class: 'modal-dialog-right modal-md',\n });\n }\n\n ngOnDestroy(): void {\n this.sub.unsubscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SettingsModalService {\n openSettings$ = new Subject();\n\n public openModal() {\n this.openSettings$.next(true);\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { Store } from '@ngrx/store';\n\nimport * as settings from 'src/app/core-frontend-common/template/store/settings';\n\n@Component({\n selector: 'smart-settings-shortcut',\n templateUrl: './settings-shortcut.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SettingsShortcutComponent {\n constructor(private store: Store) {}\n\n toggleHideNavigation($event: MouseEvent) {\n $event.preventDefault();\n this.store.dispatch(settings.toggleHideNavigation());\n }\n\n toggleMinifyNavigation($event: MouseEvent) {\n $event.preventDefault();\n this.store.dispatch(settings.toggleMinifyNavigation());\n }\n\n toggleFixedNavigation($event: MouseEvent) {\n $event.preventDefault();\n this.store.dispatch(settings.toggleFixedNavigation());\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport * as settings from 'src/app/core-frontend-common/template/store/settings';\n\n@Component({\n selector: 'smart-settings',\n templateUrl: './settings.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SettingsComponent {\n vm$ = this.store.select(settings.selectSettingsState);\n\n constructor(private store: Store) {}\n\n toggleFixedHedaer($event: boolean) {\n this.store.dispatch(settings.toggleFixedHeader());\n }\n toggleFixedNavigation($event: boolean) {\n this.store.dispatch(settings.toggleFixedNavigation());\n }\n toggleMinifyNavigation($event: boolean) {\n this.store.dispatch(settings.toggleMinifyNavigation());\n }\n toggleHideNavigation($event: boolean) {\n this.store.dispatch(settings.toggleHideNavigation());\n }\n toggleTopNavigation($event: boolean) {\n this.store.dispatch(settings.toggleTopNavigation());\n }\n toggleBoxedLayout($event: boolean) {\n this.store.dispatch(settings.toggleBoxedLayout());\n }\n togglePushContent($event: boolean) {\n this.store.dispatch(settings.togglePushContent());\n }\n toggleNoOverlay($event: boolean) {\n this.store.dispatch(settings.toggleNoOverlay());\n }\n toggleOffCanvas($event: boolean) {\n this.store.dispatch(settings.toggleOffCanvas());\n }\n toggleBiggerContentFont($event: boolean) {\n this.store.dispatch(settings.toggleBiggerContentFont());\n }\n toggleHighContrastText($event: boolean) {\n this.store.dispatch(settings.toggleHighContrastText());\n }\n toggleDaltonism($event: boolean) {\n this.store.dispatch(settings.toggleDaltonism());\n }\n togglePreloaderInsise($event: boolean) {\n this.store.dispatch(settings.togglePreloaderInsise());\n }\n toggleCleanPageBackground($event: boolean) {\n this.store.dispatch(settings.toggleCleanPageBackground());\n }\n toggleHideNavigationIcons($event: boolean) {\n this.store.dispatch(settings.toggleHideNavigationIcons());\n }\n toggleDisableCSSAnimation($event: boolean) {\n this.store.dispatch(settings.toggleDisableCSSAnimation());\n }\n toggleHideInfoCard($event: boolean) {\n this.store.dispatch(settings.toggleHideInfoCard());\n }\n toggleLeanSubheader($event: boolean) {\n this.store.dispatch(settings.toggleLeanSubheader());\n }\n toggleHierarchicalNavigation($event: boolean) {\n this.store.dispatch(settings.toggleHierarchicalNavigation());\n }\n setGlobalFontSize(size: string) {\n this.store.dispatch(settings.setGlobalFontSize({ size }));\n }\n appReset($event: MouseEvent) {\n this.store.dispatch(settings.appReset());\n }\n factoryReset($event: MouseEvent) {\n this.store.dispatch(settings.factoryReset());\n }\n}\n","import { Component } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { AuthenticationService } from '../../../../auth/authentication.service';\nimport {\n SYSTEM_NAME_ALFRED,\n SYSTEM_NAME_EPC,\n SYSTEM_NAME_ETD, SYSTEM_NAME_HELIOS,\n SYSTEM_NAME_HELPDESK,\n SYSTEM_NAME_ISBN,\n SYSTEM_NAME_LIBADMIN,\n SYSTEM_NAME_ROOMBOOK,\n SYSTEM_NAME_TOOLS,\n SYSTEM_NAME_UIK,\n SYSTEM_NAME_ZP\n} from \"../../../../../+app-custom/constants\";\nimport { AppRedirectService } from '../../../../auth/app-redirect.service';\n\n@Component({\n selector: 'smart-shortcut-modal',\n templateUrl: './shortcut-modal.component.html',\n styles: [\n `\n .icon-stack__image {\n width: 40%;\n height: auto;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n margin-top: 0;\n }\n `,\n ],\n})\nexport class ShortcutModalComponent {\n menuItems = [\n {\n title: SYSTEM_NAME_EPC,\n icon: 'assets/img/custom/epc.png',\n },\n {\n title: SYSTEM_NAME_ETD,\n icon: 'assets/img/custom/etd.png',\n },\n {\n title: SYSTEM_NAME_HELIOS,\n icon: 'assets/img/custom/others.png',\n },\n {\n title: SYSTEM_NAME_ISBN,\n icon: 'assets/img/custom/isbn.png',\n },\n {\n title: SYSTEM_NAME_HELPDESK,\n icon: 'assets/img/custom/helpdesk.png',\n },\n {\n title: SYSTEM_NAME_ROOMBOOK,\n icon: 'assets/img/custom/roombook.png',\n },\n {\n title: SYSTEM_NAME_ZP,\n icon: 'assets/img/custom/zp.png',\n },\n {\n title: SYSTEM_NAME_UIK,\n icon: 'assets/img/custom/uik.png',\n },\n {\n title: SYSTEM_NAME_LIBADMIN,\n icon: 'assets/img/custom/libadmin.png',\n },\n {\n title: SYSTEM_NAME_ALFRED,\n icon: 'assets/img/custom/others.png',\n },\n ];\n\n constructor(public bsModalRef: BsModalRef, private appRedirectService: AppRedirectService) {}\n\n closeShortcut($event: MouseEvent) {\n this.bsModalRef.hide();\n }\n\n // Redirects\n\n redirectEpc() {\n this.appRedirectService.redirectEpc();\n }\n\n redirectEtd() {\n this.appRedirectService.redirectEtd();\n }\n\n redirectIsbn() {\n this.appRedirectService.redirectIsbn();\n }\n\n redirectRoombook() {\n this.appRedirectService.redirectRoombook();\n }\n\n redirectZp() {\n this.appRedirectService.redirectZp();\n }\n\n redirectUik() {\n this.appRedirectService.redirectUik();\n }\n\n redirectHelpdesk() {\n this.appRedirectService.redirectHelpdesk();\n }\n\n redirectAlfred() {\n this.appRedirectService.redirectAlfred();\n }\n\n redirectHelios() {\n this.appRedirectService.redirectHelios();\n }\n\n redirectTools() {\n this.appRedirectService.redirectTools();\n }\n\n redirectLibadmin() {\n this.appRedirectService.redirectLibadmin();\n }\n\n // Permission check\n\n isEpcAllowed() {\n return AuthenticationService.checkSystemAccessPermission(SYSTEM_NAME_EPC);\n }\n\n isEtdAllowed() {\n return AuthenticationService.checkSystemAccessPermission(SYSTEM_NAME_ETD);\n }\n\n isIsbnAllowed() {\n return AuthenticationService.checkSystemAccessPermission(SYSTEM_NAME_ISBN);\n }\n\n isRoombookAllowed() {\n return AuthenticationService.checkSystemAccessPermission(SYSTEM_NAME_ROOMBOOK);\n }\n\n isZpAllowed() {\n return AuthenticationService.checkSystemAccessPermission(SYSTEM_NAME_ZP);\n }\n\n isUikAllowed() {\n return AuthenticationService.checkSystemAccessPermission(SYSTEM_NAME_UIK);\n }\n\n isHelpdeskAllowed() {\n return AuthenticationService.checkSystemAccessPermission(SYSTEM_NAME_HELPDESK);\n }\n\n isToolsAllowed() {\n return AuthenticationService.checkSystemAccessPermission(SYSTEM_NAME_TOOLS);\n }\n\n isLibadminAllowed() {\n return AuthenticationService.checkSystemAccessPermission(SYSTEM_NAME_LIBADMIN);\n }\n\n isAlfredAllowed() {\n return AuthenticationService.checkSystemAccessPermission(SYSTEM_NAME_ALFRED);\n }\n\n isHeliosAllowed() {\n return AuthenticationService.checkSystemAccessPermission(SYSTEM_NAME_HELIOS);\n }\n\n redirectToSystemByName(systemName: string) {\n switch (systemName) {\n case SYSTEM_NAME_ETD: this.redirectEtd(); break;\n case SYSTEM_NAME_UIK: this.redirectUik(); break;\n case SYSTEM_NAME_ZP: this.redirectZp(); break;\n case SYSTEM_NAME_ROOMBOOK: this.redirectRoombook(); break;\n case SYSTEM_NAME_LIBADMIN: this.redirectLibadmin(); break;\n case SYSTEM_NAME_ISBN: this.redirectIsbn(); break;\n case SYSTEM_NAME_EPC: this.redirectEpc(); break;\n case SYSTEM_NAME_HELPDESK: this.redirectHelpdesk(); break;\n case SYSTEM_NAME_ALFRED: this.redirectAlfred(); break;\n case SYSTEM_NAME_HELIOS: this.redirectHelios(); break;\n }\n }\n\n hasUserPermissionForSystemByName(systemName: string): boolean {\n switch (systemName) {\n case SYSTEM_NAME_ETD: return this.isEtdAllowed();\n case SYSTEM_NAME_UIK: return this.isUikAllowed();\n case SYSTEM_NAME_ZP: return this.isZpAllowed();\n case SYSTEM_NAME_ROOMBOOK: return this.isRoombookAllowed();\n case SYSTEM_NAME_LIBADMIN: return this.isLibadminAllowed();\n case SYSTEM_NAME_ISBN: return this.isIsbnAllowed();\n case SYSTEM_NAME_EPC: return this.isEpcAllowed();\n case SYSTEM_NAME_HELPDESK: return this.isHelpdeskAllowed();\n case SYSTEM_NAME_ALFRED: return this.isAlfredAllowed();\n case SYSTEM_NAME_HELIOS: return this.isHeliosAllowed();\n default: return false;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { ShortcutModalComponent } from './shortcut-modal.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ShortcutModalService {\n bsModalRef: BsModalRef;\n\n constructor(private modalService: BsModalService) {}\n\n public openModal() {\n this.bsModalRef = this.modalService.show(ShortcutModalComponent, {\n class: 'modal-dialog-top modal-transparent',\n });\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { selectFilter } from 'src/app/core-frontend-common/template/store/navigation';\nimport { Store } from '@ngrx/store';\n\n@Component({\n selector: 'smart-sidebar',\n templateUrl: './sidebar.component.html',\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class SidebarComponent {\n vm$ = this.store.select(selectFilter);\n\n constructor(private store: Store) {}\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { selectResult } from 'src/app/core-frontend-common/template/store/navigation';\n\n@Component({\n selector: 'smart-nav-filter-msg',\n templateUrl: './nav-filter-msg.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavFilterMsgComponent {\n vm$ = this.store.select(selectResult);\n constructor(private store: Store) {}\n}\n","import { Component, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { toggleFilter, selectFilter, navigationFilter } from 'src/app/core-frontend-common/template/store/navigation';\nimport { SubSink } from 'subsink';\nimport { Subject } from 'rxjs';\nimport { tap, throttleTime, distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'smart-nav-filter',\n templateUrl: './nav-filter.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavFilterComponent implements OnDestroy {\n vm$ = this.store.select(selectFilter);\n\n private sub = new SubSink();\n private textThrhottle$ = new Subject();\n\n constructor(private store: Store) {\n this.sub.sink = this.textThrhottle$\n .pipe(\n throttleTime(300),\n distinctUntilChanged(),\n tap(text => {\n this.store.dispatch(navigationFilter({ text }));\n }),\n )\n .subscribe();\n }\n\n toggleFilter($event: MouseEvent) {\n $event.preventDefault();\n this.store.dispatch(toggleFilter());\n }\n\n handleKeyup($event: KeyboardEvent, value: string) {\n this.textThrhottle$.next(value.trim());\n }\n\n ngOnDestroy(): void {\n this.sub.unsubscribe();\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { Store } from '@ngrx/store';\n\nimport * as settings from 'src/app/core-frontend-common/template/store/settings';\nimport { ReportBugService } from \"../../../../components/report-bug/report-bug.service\";\n\n@Component({\n selector: 'smart-nav-footer',\n templateUrl: './nav-footer.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavFooterComponent {\n constructor(\n private store: Store,\n protected reportBugDialogService: ReportBugService\n ) {}\n\n toggleMinifyNavigation($event: MouseEvent) {\n $event.preventDefault();\n this.store.dispatch(settings.toggleMinifyNavigation());\n }\n\n reportProblemClicked(e: Event) {\n e.preventDefault();\n this.reportBugDialogService.reportBug.next(true);\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { toggleFilter } from 'src/app/core-frontend-common/template/store/navigation';\nimport { APP_CONFIG } from 'src/app/app.config';\n\n@Component({\n selector: 'smart-nav-info-card',\n templateUrl: './nav-info-card.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavInfoCardComponent {\n user = APP_CONFIG.user;\n avatar = APP_CONFIG.avatar;\n\n constructor(private store: Store) {}\n\n toggleFilter($event: MouseEvent) {\n $event.preventDefault();\n this.store.dispatch(toggleFilter());\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { NavigationItem, toggleNavSection } from 'src/app/core-frontend-common/template/store/navigation';\nimport { Store } from '@ngrx/store';\nimport { makeSlideInOut } from '../../utils/animations';\nimport { ShortcutModalService } from '../../layout/shortcut-modal/shortcut-modal.service';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: '[smart-nav-item]',\n templateUrl: './nav-item.component.html',\n animations: [makeSlideInOut()],\n styles: [\n `\n .modules {\n text-align: center !important;\n color: white !important;\n text-transform: uppercase;\n cursor: pointer;\n padding: 0.8125rem 2rem !important;\n }\n\n hr {\n border-bottom: 1px solid rgba(238, 238, 238, 0.26);\n }\n \n .nav-link-text {\n color: #bebebf;\n }\n \n a {\n cursor: pointer;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class NavItemComponent {\n @Input() item: NavigationItem;\n @Input() minified: boolean;\n\n @HostBinding('class.active') get active() {\n return this.item.active;\n }\n @HostBinding('class.open') get open() {\n return this.item.open;\n }\n @HostBinding('class.js-filter-hide]') get hidden() {\n return this.item.matched !== null && !this.item.matched;\n }\n @HostBinding('class.js-filter-show]') get shown() {\n return this.item.matched !== null && this.item.matched;\n }\n // @HostBinding('class.nav-title]') get navTitle() { return this.item.navTitle; }\n\n constructor(private store: Store, public shortcut: ShortcutModalService) {}\n\n toggleSection($event: MouseEvent) {\n $event.preventDefault();\n if (this.item && (this.item.routerLink || this.item.items.length > 0)) {\n this.store.dispatch(toggleNavSection({ item: this.item }));\n }\n }\n\n trackByFn(idx: number, item: NavigationItem) {\n return `${item.title}_${idx}`;\n }\n\n openShortcuts($event: MouseEvent) {\n $event.preventDefault();\n this.shortcut.openModal();\n }\n}\n","export default \"@media (min-width: 992px) {\\n .report-bug-nav-item {\\n position: absolute;\\n bottom: 60px;\\n width: 100%;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC9jb3JlLWZyb250ZW5kLWNvbW1vbi90ZW1wbGF0ZS9zaGFyZWQvbmF2aWdhdGlvbi9uYXYvbmF2LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jb3JlLWZyb250ZW5kLWNvbW1vbi90ZW1wbGF0ZS9zaGFyZWQvbmF2aWdhdGlvbi9uYXYvbmF2LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0U7SUFDRSxrQkFBQTtJQUNBLFlBQUE7SUFDQSxXQUFBO0VDQ0Y7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2NvcmUtZnJvbnRlbmQtY29tbW9uL3RlbXBsYXRlL3NoYXJlZC9uYXZpZ2F0aW9uL25hdi9uYXYuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJlcG9ydC1idWctbmF2LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDYwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucmVwb3J0LWJ1Zy1uYXYtaXRlbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufSJdfQ== */\"","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { Store, createSelector } from '@ngrx/store';\nimport { selectNavigationItems, NavigationItem } from 'src/app/core-frontend-common/template/store/navigation';\nimport { selectSettingsState } from 'src/app/core-frontend-common/template/store/settings';\nimport { ReportBugService } from '../../../../components/report-bug/report-bug.service';\nimport { SYSTEM_FULL_NAME_LIBADMIN, UserRoles } from '../../../../../+app-custom/constants';\nimport { SYSTEM_FULL_NAME } from '../../../../../+app-custom/app.settings';\n\n@Component({\n selector: 'smart-nav',\n templateUrl: './nav.component.html',\n changeDetection: ChangeDetectionStrategy.Default,\n styleUrls: ['./nav.component.scss']\n})\nexport class NavComponent {\n vm$ = this.store.select(\n createSelector(\n selectNavigationItems,\n selectSettingsState,\n (items, settings) => ({ items, minified: settings.minifyNavigation })\n )\n );\n\n UserRoles = UserRoles;\n\n constructor(\n private store: Store,\n protected reportBugDialogService: ReportBugService\n ) {\n }\n\n trackByFn(idx: number, item: NavigationItem) {\n return `${item.title}_${idx}`;\n }\n\n reportProblemClicked(e: Event) {\n e.stopPropagation();\n this.reportBugDialogService.reportBug.next(true);\n }\n\n showErrorReports(): boolean {\n // @ts-ignore\n return SYSTEM_FULL_NAME !== SYSTEM_FULL_NAME_LIBADMIN;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { NavFilterComponent } from './nav-filter/nav-filter.component';\nimport { NavInfoCardComponent } from './nav-info-card/nav-info-card.component';\nimport { NavComponent } from './nav/nav.component';\nimport { NavFilterMsgComponent } from './nav-filter-msg/nav-filter-msg.component';\nimport { RouterModule } from '@angular/router';\nimport { NavigationComponent } from './navigation/navigation.component';\nimport { NavItemComponent } from './nav-item/nav-item.component';\nimport { NavFooterComponent } from './nav-footer/nav-footer.component';\nimport { UtilsModule } from '../utils/utils.module';\nimport { I18nModule } from '../i18n/i18n.module';\nimport { CustomPipesModule } from \"../../../../+app-custom/pipes/customPipes.module\";\nimport { CommonSharedPipesModule } from \"../../../pipes/common-shared-pipes.module\";\n\n@NgModule({\n declarations: [\n NavFilterComponent,\n NavInfoCardComponent,\n NavComponent,\n NavFilterMsgComponent,\n NavigationComponent,\n NavItemComponent,\n NavFooterComponent,\n ],\n exports: [NavFilterComponent, NavInfoCardComponent, NavComponent, NavFilterMsgComponent, NavigationComponent],\n imports: [CommonModule, RouterModule, TooltipModule, UtilsModule, I18nModule, CustomPipesModule, CommonSharedPipesModule]\n})\nexport class NavigationModule {}\n","export default \".minify-navigation-container {\\n display: flex;\\n margin-top: 15px;\\n z-index: 9;\\n}\\n\\n@media (max-width: 767px) {\\n .minify-navigation-container {\\n display: none;\\n }\\n}\\n\\n.minify-navigation-btn {\\n color: #1e3245;\\n font-size: 17px;\\n padding: 3px 10px;\\n margin-left: auto;\\n background-color: #ffffff5e;\\n border-radius: 5px 0 0 5px;\\n cursor: pointer;\\n}\\n\\n.nav-footer-container {\\n margin-top: auto;\\n width: 100%;\\n}\\n\\n.page-sidebar {\\n bottom: 3.125rem !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJpYW5oYXJiaXN0L3dvcmsvY29yZS1mcm9udGVuZC1uZXctdGVtcGxhdGUvc3JjL2FwcC9jb3JlLWZyb250ZW5kLWNvbW1vbi90ZW1wbGF0ZS9zaGFyZWQvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvcmUtZnJvbnRlbmQtY29tbW9uL3RlbXBsYXRlL3NoYXJlZC9uYXZpZ2F0aW9uL25hdmlnYXRpb24vbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQUE7RUFDQSxnQkFBQTtFQUNBLFVBQUE7QUNDRjs7QURFQTtFQUNFO0lBQ0UsYUFBQTtFQ0NGO0FBQ0Y7O0FERUE7RUFDRSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSwyQkFBQTtFQUNBLDBCQUFBO0VBQ0EsZUFBQTtBQ0FGOztBREdBO0VBQ0UsZ0JBQUE7RUFDQSxXQUFBO0FDQUY7O0FER0E7RUFDRSwyQkFBQTtBQ0FGIiwiZmlsZSI6InNyYy9hcHAvY29yZS1mcm9udGVuZC1jb21tb24vdGVtcGxhdGUvc2hhcmVkL25hdmlnYXRpb24vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1pbmlmeS1uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHotaW5kZXg6IDk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubWluaWZ5LW5hdmlnYXRpb24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5taW5pZnktbmF2aWdhdGlvbi1idG4ge1xuICBjb2xvcjogcmdiKDMwIDUwIDY5KTtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY1ZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm5hdi1mb290ZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wYWdlLXNpZGViYXIge1xuICBib3R0b206IDMuMTI1cmVtICFpbXBvcnRhbnQ7XG59XG4iLCIubWluaWZ5LW5hdmlnYXRpb24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgei1pbmRleDogOTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5taW5pZnktbmF2aWdhdGlvbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5taW5pZnktbmF2aWdhdGlvbi1idG4ge1xuICBjb2xvcjogIzFlMzI0NTtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY1ZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm5hdi1mb290ZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wYWdlLXNpZGViYXIge1xuICBib3R0b206IDMuMTI1cmVtICFpbXBvcnRhbnQ7XG59Il19 */\"","import { Component, ChangeDetectionStrategy, OnDestroy } from \"@angular/core\";\nimport { Store } from '@ngrx/store';\nimport { selectSettingsState } from 'src/app/core-frontend-common/template/store/settings';\nimport * as settings from \"../../../store/settings\";\nimport { Observable, Observer, Subscription } from \"rxjs\";\n\n@Component({\n selector: 'smart-navigation',\n template: `\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n \n \n\n\n\n `,\n styleUrls: ['./navigation.component.scss'],\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class NavigationComponent implements OnDestroy {\n isNavigationMinified = false;\n\n vm$ = this.store.select(selectSettingsState);\n\n storeObserver: Subscription;\n\n constructor(private store: Store) {\n this.loadSettings();\n }\n\n ngOnDestroy() {\n if (this.storeObserver) {\n this.storeObserver.unsubscribe();\n }\n }\n\n async loadSettings() {\n this.storeObserver = this.vm$.subscribe(v => {\n this.isNavigationMinified = v.minifyNavigation;\n });\n }\n\n toggleNavigation() {\n this.store.dispatch(settings.toggleMinifyNavigation());\n }\n}\n","import {\n Component,\n OnInit,\n Input,\n Attribute,\n OnChanges,\n SimpleChanges,\n ElementRef,\n Renderer2,\n ContentChild,\n} from '@angular/core';\nimport { makeSlideInOut } from '../../utils/animations';\nimport { handleClassCondition } from '../../utils/utils.functions';\nimport { DialogsService } from '../../dialogs/dialogs.service';\n\n@Component({\n selector: 'smart-panel',\n templateUrl: './panel.component.html',\n animations: [makeSlideInOut()],\n})\nexport class PanelComponent implements OnInit, OnChanges {\n hasPannel = false;\n @Input() collapsible = false;\n @Input() collapsed = false;\n @Input() fullscreenable = false;\n @Input() fullscreenIn: boolean;\n @Input() clossable: boolean;\n @Input() closed: boolean;\n headerClass: string;\n\n @ContentChild('panelTitle', { static: true }) panelTitle;\n constructor(\n @Attribute('headerClass') headerClass: string,\n private dialogs: DialogsService,\n private el: ElementRef,\n private renderer: Renderer2,\n ) {\n this.headerClass = headerClass;\n }\n\n ngOnInit() {\n if (typeof this.collapsed !== 'undefined') {\n this.collapsible = true;\n }\n if (typeof this.fullscreenIn !== 'undefined') {\n this.fullscreenable = true;\n }\n if (typeof this.closed !== 'undefined') {\n this.clossable = true;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // console.log(22, changes);\n // if (typeof changes.fullscreenIn !== 'undefined') {\n // console.log('111', changes.fullscreenIn.currentValue, this.fullscreenable);\n // }\n }\n\n get pannelClasses() {\n const classes = ['panel'];\n classes.push(this.collapsed ? 'panel-collapsed' : '');\n classes.push(this.fullscreenIn ? 'panel-fullscreen' : '');\n return classes;\n }\n\n get pannelContainerClasses() {\n const classes = ['panel-container'];\n if (this.collapsible) {\n // classes.push(this.collapsed ? 'collapse' : 'show');\n classes.push(this.collapsed ? '' : 'show');\n }\n return classes;\n }\n\n get pannelContentClasses() {\n const classes = ['panel-content'];\n return classes;\n }\n\n toggleCollapse($event: MouseEvent) {\n $event.preventDefault();\n this.collapsed = !this.collapsed;\n }\n toggleFullscreen($event: MouseEvent) {\n $event.preventDefault();\n this.fullscreenIn = !this.fullscreenIn;\n handleClassCondition(this.fullscreenIn, 'panel-fullscreen', document.querySelector('body'));\n }\n async closePanel($event: MouseEvent) {\n $event.preventDefault();\n const titleEl =\n this.el.nativeElement.querySelector('h1') ||\n this.el.nativeElement.querySelector('h2') ||\n this.el.nativeElement.querySelector('h3');\n\n const title = titleEl ? titleEl.innerText : '';\n\n const result = await this.dialogs\n .confirm({\n title: `\n Do you wish to delete panel  '${title}' ?`,\n message: `Warning: This action cannot be undone!`,\n buttons: {\n confirm: {\n label: 'Yes',\n className: 'btn-danger shadow-0',\n },\n cancel: {\n label: 'No',\n className: 'btn-default',\n },\n },\n })\n .toPromise();\n\n if (result) {\n this.renderer.addClass(this.el.nativeElement, 'd-none');\n }\n }\n\n setHeaderClass(headerClass: string) {\n this.headerClass = headerClass;\n }\n}\n\n/**\n * spec\n * + it should have multiple content projections\n * + it should have tooltips on feature buttons\n * it should be able to disable all features\n * it should save options to local storage\n * closed\n * + it should wrap header\n * + it should be closable\n * + it should warn on close\n * + it should be fullscrinable\n * + toggle class .panel-fullscreen on :host element\n * + toggle class .panel-fullscreen on body element\n * + it should be collapsable\n * + animated collapse\n * + toggle class .panel-collapsed on :host element\n * + toggle class .collapse .show on .panel-container element\n * it should be lockable *\n * toggle class .panel-locked on :host element\n * + it should be able to change colors // styles\n * + .panel-hdr\n * it should have loading indicator/state\n * have runLoader()\n * it should be able to run refresh state\n * toggle class .panel-refresh on :host element\n * toggle class .enable-loader on .panel-container element\n * + it should be able to accept custom buttons\n * it should be sortable\n * toggle class .panel-sortable on :host element\n * dragging\n * placeholder .panel-placeholder\n * drag handle > .panel-hdr > h2\n * it should remeber position\n * it should emit callbacks\n * it should be able to reset\n * all widgets\n * all widgets settings\n * all widgets positions\n * widget settings\n * widget position\n * it should be destroyable\n * alert if no id\n * it should add propper roles\n *\n * dependencies\n * ngx-bootstrap/modal\n * ngx-bootstrap/dropdown\n * ngx-bootstrap/tooltip\n * cdk/drag-ndrop\n */\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PanelComponent } from './panel/panel.component';\nimport { DialogsModule } from '../dialogs/dialogs.module';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\n\n@NgModule({\n declarations: [PanelComponent],\n imports: [TooltipModule, CommonModule, DialogsModule],\n exports: [PanelComponent],\n})\nexport class PanelsModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n exports: [],\n})\nexport class SharedModule {}\n","import {\n Component,\n Input,\n EventEmitter,\n Output,\n OnChanges,\n SimpleChanges,\n ChangeDetectionStrategy,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'smart-on-off',\n template: `\n \n `,\n host: {\n class: 'd-inline-block',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnOffComponent implements OnChanges {\n @Input() checked = false;\n @Input() class: string;\n @Output() checkedChange = new EventEmitter();\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.checked || changes.checked.currentValue === this.checked) {\n return;\n }\n }\n\n onCheck($event: MouseEvent) {\n $event.preventDefault();\n this.checked = !this.checked;\n\n this.checkedChange.emit(this.checked);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OnOffComponent } from './on-off/on-off.component';\n\n@NgModule({\n declarations: [OnOffComponent],\n imports: [CommonModule],\n exports: [OnOffComponent],\n})\nexport class UiModule {}\n","import { trigger, state, style, transition, animate, group } from '@angular/animations';\n\nexport function makeSlideInOut() {\n return trigger('slideInOut', [\n state('in', style({ height: '*', opacity: 0 })),\n transition(':leave', [\n style({ height: '*', opacity: 1 }),\n\n group([\n animate('200ms ease-in-out', style({ height: 0 })),\n animate('200ms ease-in-out', style({ opacity: '0' })),\n ]),\n ]),\n transition(':enter', [\n style({ height: '0', opacity: 0 }),\n\n group([\n animate('200ms ease-in-out', style({ height: '*' })),\n animate('200ms ease-in-out', style({ opacity: '1' })),\n ]),\n ]),\n ]);\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[smartStubClick]',\n})\nexport class StubClickDirective {\n @HostListener('click', ['$event'])\n onMouseDown(event: MouseEvent) {\n event.preventDefault();\n }\n}\n","import { Directive, ElementRef, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\ndeclare let $: any;\n\n@Directive({\n selector: '[appSmartClockpicker]',\n})\nexport class SmartClockpickerDirective implements OnInit {\n @Input() smartClockpicker: any;\n @Output() onChange: EventEmitter = new EventEmitter();\n\n constructor(private el: ElementRef) {}\n\n ngOnInit() {\n // @ts-ignore\n import('clockpicker/dist/bootstrap-clockpicker.min.js').then(() => {\n this.render();\n });\n }\n\n render() {\n $(this.el.nativeElement).clockpicker(\n this.smartClockpicker || {\n placement: 'bottom',\n donetext: 'Done',\n },\n );\n $(this.el.nativeElement).on('change', () => {\n this.onChange.emit(this.el.nativeElement.value);\n });\n }\n}\n","export function scrollToTop(scrollDuration: number) {\n const cosParameter = window.scrollY / 2;\n let scrollCount = 0;\n let oldTimestamp = performance.now();\n function step(newTimestamp) {\n scrollCount += Math.PI / (scrollDuration / (newTimestamp - oldTimestamp));\n if (scrollCount >= Math.PI) {\n window.scrollTo(0, 0);\n }\n if (window.scrollY === 0) {\n return;\n }\n window.scrollTo(0, Math.round(cosParameter + cosParameter * Math.cos(scrollCount)));\n oldTimestamp = newTimestamp;\n window.requestAnimationFrame(step);\n }\n window.requestAnimationFrame(step);\n}\n\n/* tslint:disable */\nexport function toggleFullscreen() {\n if (\n !document.fullscreenElement /* Standard browsers */ &&\n !document['msFullscreenElement'] /* Internet Explorer */ &&\n !document['mozFullScreenElement'] /* Firefox */ &&\n !document['webkitFullscreenElement'] /* Chrome */\n ) {\n if (document.documentElement.requestFullscreen) {\n document.documentElement.requestFullscreen();\n } else if (document.documentElement['msRequestFullscreen']) {\n document.documentElement['msRequestFullscreen']();\n } else if (document.documentElement['mozRequestFullScreen']) {\n document.documentElement['mozRequestFullScreen']();\n } else if (document.documentElement['webkitRequestFullscreen']) {\n document.documentElement['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']);\n }\n } else {\n if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (document['msExitFullscreen']) {\n document['msExitFullscreen']();\n } else if (document['mozCancelFullScreen']) {\n document['mozCancelFullScreen']();\n } else if (document['webkitExitFullscreen']) {\n document['webkitExitFullscreen']();\n }\n }\n}\n/* tslint:enable */\n\n// conditionaly apply css class to target\nexport function handleClassCondition(condition: boolean, className: string, el: HTMLElement) {\n if (!condition && el.classList.contains(className)) {\n el.classList.remove(className);\n }\n if (condition && !el.classList.contains(className)) {\n el.classList.add(className);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StubClickDirective } from './directives/stub-click.directive';\n\n@NgModule({\n declarations: [StubClickDirective],\n imports: [CommonModule],\n exports: [StubClickDirective],\n})\nexport class UtilsModule {}\n","import { ActionReducerMap, MetaReducer, ActionReducer, StoreModule } from '@ngrx/store';\nimport { RouterReducerState } from '@ngrx/router-store';\nimport { environment } from '../../../../environments/environment';\nimport { localStorageSync } from 'ngrx-store-localstorage';\nimport * as settings from './settings';\nimport * as navigation from './navigation';\nimport * as router from './router';\n\nexport interface AppState {\n settings: settings.SettingsState;\n navigation: navigation.NavigationState;\n router: RouterReducerState;\n}\n\nexport const reducers: ActionReducerMap = {\n settings: settings.reducer,\n navigation: navigation.reducer,\n router: router.reducer,\n};\n\n// this will save part of redux store into localstorage\n// and restore this part on app init\nexport function localStorageSyncReducer(reducer: ActionReducer): ActionReducer {\n return localStorageSync({\n keys: ['settings'],\n rehydrate: true,\n })(reducer);\n}\n\nexport const metaReducers: MetaReducer[] = [localStorageSyncReducer, settings.settingsMetaReducer];\n\nexport const effects = [navigation.NavigationEffects];\n","export * from './navigation.actions';\nexport * from './navigation.effects';\nexport * from './navigation.reducer';\nexport * from './navigation.selectors';\n","import { createAction, props } from '@ngrx/store';\nimport { NavigationItem } from './navigation.reducer';\n\nexport const toggleNavSection = createAction('[Navigation] Toggle Nav Section', props<{ item: NavigationItem }>());\n\nexport const activeUrl = createAction('[Navigation] Active Url', props<{ url: string }>());\n\nexport const toggleFilter = createAction('[Navigation] Toggle Filter');\n\nexport const navigationFilter = createAction('[Navigation] Navigation Filter', props<{ text: string }>());\n\nexport const mobileNavigation = createAction('[Navigation] Mobile Navigation', props<{ open: boolean }>());\n","import { Injectable } from '@angular/core';\nimport { map, tap } from 'rxjs/operators';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { ROUTER_NAVIGATED, RouterNavigatedAction } from '@ngrx/router-store';\nimport { activeUrl, mobileNavigation } from './navigation.actions';\nimport { handleClassCondition } from 'src/app/core-frontend-common/template/shared/utils/utils.functions';\n\n@Injectable()\nexport class NavigationEffects {\n mapToActiveUrl$ = createEffect(() =>\n this.actions$.pipe(\n ofType(ROUTER_NAVIGATED),\n map((action: RouterNavigatedAction) => activeUrl({ url: action.payload.event.url })),\n tap(action => handleClassCondition(false, 'mobile-nav-on', document.querySelector('body'))),\n ),\n );\n\n mobileNavigation$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(mobileNavigation),\n tap(action => handleClassCondition(action.open, 'mobile-nav-on', document.querySelector('body'))),\n ),\n { dispatch: false },\n );\n\n constructor(private actions$: Actions, breakpointObserver: BreakpointObserver) {\n breakpointObserver.observe('(max-width: 600px)').subscribe(result => {\n handleClassCondition(result.matches, 'mobile-view-activated', document.querySelector('body'));\n });\n }\n}\n","import { Action, createReducer, on } from '@ngrx/store';\nimport * as NavigationActions from './navigation.actions';\nimport { NavigationItems } from '../../../../app.navigation';\n\nexport interface NavigationItem {\n title: string;\n icon?: string;\n tags?: string;\n routerLink?: string;\n active?: boolean;\n open?: boolean;\n items?: NavigationItem[];\n matched?: boolean;\n navTitle?: boolean;\n action?: string;\n roles?: any | string[];\n onlyForLogin?: string;\n externalUrl?: string;\n}\n\nexport interface NavigationState {\n items: NavigationItem[];\n total: number;\n filterActive: boolean;\n filterText: string;\n matched: number;\n}\n\nexport const initialState: NavigationState = {\n items: decorateItems(NavigationItems),\n total: countTotal(NavigationItems),\n filterActive: false,\n filterText: '',\n matched: 0,\n};\n\nconst navigationReducer = createReducer(\n initialState,\n on(NavigationActions.activeUrl, (state, action) => ({\n ...state,\n items: detectActiveItems(state.items, action.url),\n })),\n on(NavigationActions.toggleNavSection, (state, action) => ({\n ...state,\n items: toggleItems(state.items, action.item),\n })),\n on(NavigationActions.toggleFilter, state => {\n if (state.filterActive) {\n return {\n ...state,\n filterActive: false,\n matched: 0,\n items: state.items.map(_ => ({ ..._, matched: null })),\n };\n } else {\n const items = filterItems(state.items, state.filterText);\n return {\n ...state,\n filterActive: true,\n items,\n matched: countMatched(items),\n };\n }\n }),\n on(NavigationActions.navigationFilter, (state, action) => {\n const items = filterItems(state.items, action.text);\n return {\n ...state,\n filterText: action.text,\n items,\n matched: countMatched(items),\n };\n }),\n);\n\nexport function reducer(state: NavigationState, action: Action) {\n return navigationReducer(state, action);\n}\n\n// utils\n\n// recursevly add `open` and `active` fields to items\nfunction decorateItems(navItems: NavigationItem[]): NavigationItem[] {\n return navItems.map(navItem => {\n const item: NavigationItem = {\n ...navItem,\n active: false,\n matched: null,\n };\n if (navItem.items) {\n item.open = false;\n item.items = decorateItems(navItem.items);\n }\n\n item.navTitle = !navItem.items && !navItem.routerLink && !!navItem.title;\n\n return item;\n });\n}\n\n// recursevly count total of all items\nfunction countTotal(navItems: NavigationItem[]): number {\n let total = navItems.length;\n navItems\n .filter(_ => !!_.items)\n .forEach(_ => {\n total += countTotal(_.items);\n });\n return total;\n}\n\n// recursevly count total of filter matched items\nfunction countMatched(navItems: NavigationItem[]): number {\n let matched = navItems.filter(_ => !!_.matched).length;\n navItems\n .filter(_ => !!_.items)\n .forEach(_ => {\n matched += countMatched(_.items);\n });\n return matched;\n}\n\n// recursevly check if item is active by url when navigation ends\n// if active item has parent it's `open` field becomes true\nfunction detectActiveItems(navItems: NavigationItem[], activeUrl: string): NavigationItem[] {\n return navItems.map(navItem => {\n const isActive = itemIsActive(navItem, activeUrl);\n const item = {\n ...navItem,\n active: isActive,\n };\n if (navItem.items) {\n item.open = isActive;\n item.items = detectActiveItems(navItem.items, activeUrl);\n }\n return item;\n });\n}\n\n// recursevly check if item is active by url\n// if any of item children is active item considered as active\nfunction itemIsActive(item: NavigationItem, activeUrl: string) {\n if (item.routerLink === activeUrl) {\n return true;\n } else if (item.items) {\n return item.items.some(_ => itemIsActive(_, activeUrl));\n } else {\n return false;\n }\n}\n\nfunction toggleItems(navItems: NavigationItem[], toggledItem: NavigationItem): NavigationItem[] {\n const isToggledItemLevel = navItems.some(_ => _ === toggledItem);\n return navItems.map(navItem => {\n const item = {\n ...navItem,\n };\n\n if (isToggledItemLevel && item.items && navItem !== toggledItem) {\n item.open = false;\n }\n if (navItem === toggledItem) {\n item.open = !navItem.open;\n }\n if (navItem.items) {\n item.items = toggleItems(navItem.items, toggledItem);\n }\n return item;\n });\n}\n\nfunction filterItems(navItems: NavigationItem[], text: string): NavigationItem[] {\n return navItems.map(navItem => {\n const item = {\n ...navItem,\n };\n\n if (navItem.items) {\n item.matched = navItemMatch(navItem, text) || navItem.items.some(_ => navItemMatch(_, text));\n item.items = filterItems(navItem.items, text);\n } else {\n item.matched = navItemMatch(navItem, text);\n }\n return item;\n });\n}\n\nfunction navItemMatch(item: NavigationItem, text: string) {\n return !text.trim() || (item.tags && !!item.tags.match(new RegExp(`.*${text.trim()}.*`, 'gi')));\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { NavigationState } from './navigation.reducer';\n\nexport const selectNavigationState = createFeatureSelector('navigation');\n\nexport const selectNavigationItems = createSelector(\n selectNavigationState,\n state => state.items,\n);\nexport const selectFilter = createSelector(\n selectNavigationState,\n state => ({\n active: state.filterActive,\n text: state.filterText,\n }),\n);\n\nexport const selectResult = createSelector(\n selectNavigationState,\n state => ({\n active: state.filterActive && !!state.filterText.trim(),\n total: state.total,\n matched: state.matched,\n }),\n);\n","export * from './router.reducer';\nexport * from './router.actions';\nexport * from './router.selectors';\nexport * from './router.effects';\n","import { NavigationExtras } from '@angular/router';\nimport { Action } from '@ngrx/store';\n\nexport const GO = '[Router] Go';\nexport const UPDATE = '[Router] Update url';\nexport const BACK = '[Router] Back';\nexport const FORWARD = '[Router] Forward';\n\nexport class Go implements Action {\n public readonly type = GO;\n constructor(\n public payload: {\n path: any[];\n query?: object;\n extras?: NavigationExtras;\n },\n ) {}\n}\n\nexport class UpdateLocation implements Action {\n public readonly type = UPDATE;\n constructor(public payload: string) {}\n}\n\nexport class Back implements Action {\n public readonly type = BACK;\n}\n\nexport class Forward implements Action {\n public readonly type = FORWARD;\n}\n\nexport type Actions = Go | Back | Forward;\n","import { Location } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { Actions, Effect, ofType } from '@ngrx/effects';\nimport * as RouterActions from './router.actions';\n\nimport { map, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class RouterEffects {\n @Effect({ dispatch: false }) navigate$ = this.actions$.pipe(\n ofType(RouterActions.GO),\n map((action: RouterActions.Go) => action.payload),\n tap(({ path, query: queryParams, extras }) => {\n this.router.navigate(path, { queryParams, ...extras });\n }),\n );\n\n @Effect({ dispatch: false }) location$ = this.actions$.pipe(\n ofType(RouterActions.UPDATE),\n map((action: RouterActions.UpdateLocation) => action.payload),\n tap(path => {\n this.location.go(path);\n }),\n );\n\n @Effect({ dispatch: false }) navigateBack$ = this.actions$.pipe(\n ofType(RouterActions.BACK),\n tap(() => this.location.back()),\n );\n\n @Effect({ dispatch: false }) navigateForward$ = this.actions$.pipe(\n ofType(RouterActions.FORWARD),\n tap(() => this.location.forward()),\n );\n constructor(private actions$: Actions, private router: Router, private location: Location) {}\n}\n","import { ActivatedRouteSnapshot, Params, RouterStateSnapshot } from '@angular/router';\n\nimport * as fromRouter from '@ngrx/router-store';\n\nexport interface RouterStateUrl {\n url: string;\n queryParams: Params;\n params: Params;\n data: any;\n}\n\nexport const reducer = fromRouter.routerReducer;\n\nexport class CustomSerializer implements fromRouter.RouterStateSerializer {\n public serialize(routerState: RouterStateSnapshot): RouterStateUrl {\n const { url } = routerState;\n const { queryParams } = routerState.root;\n\n let state: ActivatedRouteSnapshot = routerState.root;\n while (state.firstChild) {\n state = state.firstChild;\n }\n\n const { params, data } = state;\n\n return { url, queryParams, params, data };\n }\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { RouterStateUrl } from './router.reducer';\n\nimport * as fromRouter from '@ngrx/router-store';\n\nexport const getRouterState = createFeatureSelector>('router');\n","export * from './settings.actions';\nexport * from './settings.meta';\nexport * from './settings.reducer';\nexport * from './settings.selectors';\n","import { createAction, props } from '@ngrx/store';\n\nexport const toggleFixedHeader = createAction('[Settings] Toggle Fixed Header');\nexport const toggleFixedNavigation = createAction('[Settings] Toggle Fixed Navigation');\nexport const toggleMinifyNavigation = createAction('[Settings] Toggle Minify Navigation');\nexport const toggleHideNavigation = createAction('[Settings] Toggle Hide Navigation');\nexport const toggleTopNavigation = createAction('[Settings] Toggle Top Navigation');\nexport const toggleBoxedLayout = createAction('[Settings] Toggle Boxed Layout');\nexport const togglePushContent = createAction('[Settings] Toggle Push Content');\nexport const toggleNoOverlay = createAction('[Settings] Toggle No Overlay');\nexport const toggleOffCanvas = createAction('[Settings] Toggle Off Canvas');\nexport const toggleBiggerContentFont = createAction('[Settings] Toggle Bigger Content Font');\nexport const toggleHighContrastText = createAction('[Settings] Toggle High Contrast Text');\nexport const toggleDaltonism = createAction('[Settings] Toggle Daltonism');\nexport const toggleRtl = createAction('[Settings] Toggle RTL');\nexport const togglePreloaderInsise = createAction('[Settings] Toggle Preloader Insise');\nexport const toggleCleanPageBackground = createAction('[Settings] Toggle Clean Page Background');\nexport const toggleHideNavigationIcons = createAction('[Settings] Toggle Hide Navigation Icons');\nexport const toggleDisableCSSAnimation = createAction('[Settings] Toggle Disable CSS Animation');\nexport const toggleHideInfoCard = createAction('[Settings] Toggle Hide Info Card');\nexport const toggleLeanSubheader = createAction('[Settings] Toggle Lean Subheader');\nexport const toggleHierarchicalNavigation = createAction('[Settings] Toggle Hierarchical Navigation');\nexport const setGlobalFontSize = createAction('[Settings] Set Global Font Size', props<{ size: string }>());\nexport const appReset = createAction('[Settings] App Reset');\nexport const factoryReset = createAction('[Settings] Factory Reset');\n\nexport const SettingsActionTypes: string[] = [\n toggleFixedHeader.type,\n toggleFixedNavigation.type,\n toggleMinifyNavigation.type,\n toggleHideNavigation.type,\n toggleTopNavigation.type,\n toggleBoxedLayout.type,\n togglePushContent.type,\n toggleNoOverlay.type,\n toggleOffCanvas.type,\n toggleBiggerContentFont.type,\n toggleHighContrastText.type,\n toggleDaltonism.type,\n toggleRtl.type,\n togglePreloaderInsise.type,\n toggleCleanPageBackground.type,\n toggleHideNavigationIcons.type,\n toggleDisableCSSAnimation.type,\n toggleHideInfoCard.type,\n toggleLeanSubheader.type,\n toggleHierarchicalNavigation.type,\n setGlobalFontSize.type,\n appReset.type,\n factoryReset.type,\n];\n","import { ActionReducer, Action, INIT } from '@ngrx/store';\n\nimport * as actions from './settings.actions';\nimport { SettingsState } from './settings.reducer';\nimport { handleClassCondition } from '../../shared/utils/utils.functions';\n\nconst html = document.querySelector('html');\nconst body = document.querySelector('body');\n\n// meta reducer that applies layout classes based on settings reducer\nexport function settingsMetaReducer(reducer: ActionReducer): ActionReducer {\n return (state: { settings: SettingsState }, action: Action) => {\n // build new state\n const result = reducer(state, action);\n\n // use our middleware only for INIT action and for Settings actions\n if (action.type === INIT || actions.SettingsActionTypes.includes(action.type)) {\n handleCssClasses(result.settings, action);\n }\n\n // pass state into next chain\n return result;\n };\n}\n\nfunction handleCssClasses(state: SettingsState, action: Action) {\n handleClassCondition(state.fixedHeader, 'header-function-fixed', body);\n handleClassCondition(state.fixedNavigation, 'nav-function-fixed', body);\n handleClassCondition(state.minifyNavigation, 'nav-function-minify', body);\n handleClassCondition(state.hideNavigation, 'nav-function-hidden', body);\n handleClassCondition(state.topNavigation, 'nav-function-top', body);\n handleClassCondition(state.boxedLayout, 'mod-main-boxed', body);\n handleClassCondition(state.pushContent, 'nav-mobile-push', body);\n handleClassCondition(state.noOverlay, 'nav-mobile-no-overlay', body);\n handleClassCondition(state.offCanvas, 'nav-mobile-slide-out', body);\n handleClassCondition(state.biggerContentFont, 'mod-bigger-font', body);\n handleClassCondition(state.highContrastText, 'mod-high-contrast', body);\n handleClassCondition(state.daltonism, 'mod-color-blind', body);\n handleClassCondition(state.preloaderInside, 'mod-pace-custom', body);\n handleClassCondition(state.cleanPageBackground, 'mod-clean-page-bg', body);\n handleClassCondition(state.hideNavigationIcons, 'mod-hide-nav-icons', body);\n handleClassCondition(state.disableCSSAnimation, 'mod-disable-animation', body);\n handleClassCondition(state.hideInfoCard, 'mod-hide-info-card', body);\n handleClassCondition(state.leanSubheader, 'mod-lean-subheader', body);\n handleClassCondition(state.hierarchicalNavigation, 'mod-nav-link', body);\n handleClassCondition(state.globalFontSize === 'sm', 'root-text-sm', html);\n handleClassCondition(state.globalFontSize === 'md', 'root-text', html);\n handleClassCondition(state.globalFontSize === 'lg', 'root-text-lg', html);\n handleClassCondition(state.globalFontSize === 'xl', 'root-text-xl', html);\n}\n","import { Action, createReducer, on } from '@ngrx/store';\nimport * as SettingsActions from './settings.actions';\n\nexport interface SettingsState {\n // app layout\n fixedHeader: boolean;\n fixedNavigation: boolean;\n minifyNavigation: boolean;\n hideNavigation: boolean;\n topNavigation: boolean;\n boxedLayout: boolean;\n\n // mobile menu\n pushContent: boolean;\n noOverlay: boolean;\n offCanvas: boolean;\n\n // accessibility\n biggerContentFont: boolean;\n highContrastText: boolean;\n daltonism: boolean;\n preloaderInside: boolean;\n rtl: boolean;\n\n // global modifications\n cleanPageBackground: boolean;\n hideNavigationIcons: boolean;\n disableCSSAnimation: boolean;\n hideInfoCard: boolean;\n leanSubheader: boolean;\n hierarchicalNavigation: boolean;\n\n // global font size\n globalFontSize: string;\n}\n\n// here you can configure initial state of your app\n// for all your users\nexport const initialState: SettingsState = {\n // app layout\n fixedHeader: true,\n fixedNavigation: true,\n minifyNavigation: false,\n hideNavigation: false,\n topNavigation: false,\n boxedLayout: false,\n\n // mobile menu\n pushContent: false,\n noOverlay: false,\n offCanvas: false,\n\n // accessibility\n biggerContentFont: false,\n highContrastText: false,\n daltonism: false,\n preloaderInside: false,\n rtl: false,\n\n // global modifications\n cleanPageBackground: false,\n hideNavigationIcons: false,\n disableCSSAnimation: false,\n hideInfoCard: false,\n leanSubheader: false,\n hierarchicalNavigation: false,\n\n // global font size\n globalFontSize: 'md',\n};\n\nconst settingsReducer = createReducer(\n initialState,\n\n on(SettingsActions.toggleFixedHeader, state => ({ ...state, fixedHeader: !state.fixedHeader })),\n on(SettingsActions.toggleFixedNavigation, state => ({ ...state, fixedNavigation: !state.fixedNavigation })),\n on(SettingsActions.toggleMinifyNavigation, state => ({ ...state, minifyNavigation: !state.minifyNavigation })),\n on(SettingsActions.toggleHideNavigation, state => ({ ...state, hideNavigation: !state.hideNavigation })),\n on(SettingsActions.toggleTopNavigation, state => ({ ...state, topNavigation: !state.topNavigation })),\n on(SettingsActions.toggleBoxedLayout, state => ({ ...state, boxedLayout: !state.boxedLayout })),\n on(SettingsActions.togglePushContent, state => ({ ...state, pushContent: !state.pushContent })),\n on(SettingsActions.toggleNoOverlay, state => ({ ...state, noOverlay: !state.noOverlay })),\n on(SettingsActions.toggleOffCanvas, state => ({ ...state, offCanvas: !state.offCanvas })),\n on(SettingsActions.toggleBiggerContentFont, state => ({ ...state, biggerContentFont: !state.biggerContentFont })),\n on(SettingsActions.toggleHighContrastText, state => ({ ...state, highContrastText: !state.highContrastText })),\n on(SettingsActions.toggleDaltonism, state => ({ ...state, daltonism: !state.daltonism })),\n on(SettingsActions.toggleRtl, state => ({ ...state, rtl: !state.rtl })),\n on(SettingsActions.togglePreloaderInsise, state => ({ ...state, preloaderInside: !state.preloaderInside })),\n on(SettingsActions.toggleCleanPageBackground, state => ({\n ...state,\n cleanPageBackground: !state.cleanPageBackground,\n })),\n on(SettingsActions.toggleHideNavigationIcons, state => ({\n ...state,\n hideNavigationIcons: !state.hideNavigationIcons,\n })),\n on(SettingsActions.toggleDisableCSSAnimation, state => ({\n ...state,\n disableCSSAnimation: !state.disableCSSAnimation,\n })),\n on(SettingsActions.toggleHideInfoCard, state => ({ ...state, hideInfoCard: !state.hideInfoCard })),\n on(SettingsActions.toggleLeanSubheader, state => ({ ...state, leanSubheader: !state.leanSubheader })),\n on(SettingsActions.toggleHierarchicalNavigation, state => ({\n ...state,\n hierarchicalNavigation: !state.hierarchicalNavigation,\n })),\n on(SettingsActions.setGlobalFontSize, (state, action) => ({ ...state, globalFontSize: action.size })),\n\n on(SettingsActions.appReset, () => ({ ...initialState })),\n);\n\nexport function reducer(state: SettingsState, action: Action) {\n return settingsReducer(state, action);\n}\n","import { createFeatureSelector } from '@ngrx/store';\nimport { SettingsState } from './settings.reducer';\n\nexport const selectSettingsState = createFeatureSelector('settings');\n","import * as _ from 'lodash';\n\nexport class StringUtils {\n private static readonly REGEX__CONTAINS_ONLY_WHITESPACE: RegExp = new RegExp('^\\s+$', 'i');\n\n public static extractNumericValueFromCSS(s: string): number {\n if (!s) {\n return 0;\n }\n\n const result = parseFloat(s);\n\n if (_.isFinite(result)) {\n return result;\n }\n\n return 0;\n }\n\n public static isNullOrEmpty(s: string): boolean {\n return _.isNil(s) || s === '';\n }\n\n public static isNullOrWhitespace(s: string): boolean {\n const nullOrEmpty: boolean = this.isNullOrEmpty(s);\n let onlyWhitespace = true;\n\n if (!nullOrEmpty) {\n onlyWhitespace = StringUtils.REGEX__CONTAINS_ONLY_WHITESPACE.test(s);\n }\n\n return nullOrEmpty || onlyWhitespace;\n }\n\n public static mergeRoutes(baseRoute: string, ...routes: string[]): string {\n if (StringUtils.isNullOrEmpty(baseRoute)) {\n return undefined;\n }\n\n const processedBaseRoute = _.endsWith(baseRoute, '/') ? baseRoute.substr(0, baseRoute.length - 1) : baseRoute;\n const processedRoutes = _.map(routes, route => {\n if (StringUtils.isNullOrEmpty(route)) {\n return '';\n }\n\n const processedRoute = _.endsWith(route, '/') ? route.substr(0, route.length - 1) : route;\n\n return _.startsWith(processedRoute, '/') ? processedRoute : `/${processedRoute}`;\n });\n\n let result = processedBaseRoute;\n\n _.forEach(processedRoutes, route => {\n if (StringUtils.isNullOrEmpty(route)) {\n return;\n }\n\n result = result.concat(route);\n });\n\n return result;\n }\n\n public static normalizeStringForSearch(\n s: string,\n caseConversion: 'upper' | 'lower' | 'none' = 'none',\n accentInsensitive: boolean = true,\n normalizationForm: string = 'NFD'\n ): string {\n if (_.isNil(s)) {\n return undefined;\n }\n\n let result = s.normalize(normalizationForm);\n\n if (accentInsensitive) {\n result = result.replace(/[\\u0300-\\u036f]/g, '');\n }\n\n switch (caseConversion) {\n case 'upper':\n result = _.toUpper(result);\n break;\n\n case 'lower':\n result = _.toLower(result);\n break;\n\n default:\n break;\n }\n\n return result;\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":"webpack:///"}